maint: remove doubled words in comments, e.g., s/a a/a/
[pspp] / ChangeLog
1 2011-04-10  Jim Meyering  <meyering@redhat.com>
2
3         maint: remove doubled words in comments, e.g., s/a a/a/
4         * lib/strptime.c (day_of_the_week): s/the the/the/
5         * tests/test-chown.h (test_chown): s/a a/a/
6
7         test-chown.h: correct a cast
8         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
9         when the destination is a stat.st_gid.
10
11 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
12
13         getaddrinfo: Fix test for sa_len member.
14         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
15         include <sys/types.h> before <sys/socket.h>.
16
17 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
18
19         maint: change "can not" to "cannot"
20         * doc/posix-functions/iconv.texi (iconv): This one crossed line
21         boundaries.
22
23 2011-04-09  Jim Meyering  <meyering@redhat.com>
24
25         maint: change "a a" to "a"
26         * tests/test-lchown.h (test_lchown): s/a a/a/
27
28         maint.mk: prohibit \<the the\>
29         * top/maint.mk (sc_prohibit_the_the): New rule.
30
31         maint: fix "the the" in comment
32         * lib/count-one-bits.h: s/the the/the/
33
34         maint: change "can not" to "cannot"
35         But do not change the occurrences in maintain.texi or in
36         build-aux/po/Makefile.in.in, which I presume comes from gettext.
37         * doc/gnulib-tool.texi: s/can not/cannot/
38         * doc/posix-functions/accept.texi (accept): Likewise.
39         * doc/posix-functions/socket.texi (socket): Likewise.
40         * lib/mbrtowc.c: Likewise.
41
42         maint.mk: prohibit use of "can not"
43         * top/maint.mk (sc_prohibit_can_not): New rule.
44         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
45
46 2011-04-09  Bruno Haible  <bruno@clisp.org>
47
48         careadlinkat: Guard against misuse of careadlinkatcwd.
49         * lib/careadlinkat.c: Include <stdlib.h>.
50         (careadlinkatcwd): Check that the fd argument is as expected.
51
52 2011-04-09  Bruno Haible  <bruno@clisp.org>
53
54         careadlinkat: Use common coding style.
55         * lib/careadlinkat.c: Move gnulib includes after system includes.
56
57 2011-04-09  Bruno Haible  <bruno@clisp.org>
58
59         careadlinkat: Clarify specification.
60         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
61         (careadlinkatcwd): Add comment.
62         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
63
64 2011-04-09  Bruno Haible  <bruno@clisp.org>
65
66         areadlinkat: Avoid link error on many platforms.
67         * modules/areadlinkat (Depends-on): Add areadlink.
68
69 2011-04-09  Bruno Haible  <bruno@clisp.org>
70
71         allocator, careadlinkat: Fix double-inclusion guard.
72         * lib/allocator.h: Fix double-inclusion guard.
73         * lib/careadlinkat.h: Likewise.
74
75 2011-04-09  Bruno Haible  <bruno@clisp.org>
76
77         relocatable-prog-wrapper: Update after module 'areadlink' changed.
78         * lib/relocwrapper.c: Update dependencies hierarchy.
79         * build-aux/install-reloc: Update list of files to be compiled.
80         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
81         lib/allocator.[hc].
82
83 2011-04-08  Eric Blake  <eblake@redhat.com>
84
85         strftime: silence gnulib-tool warning
86         * modules/strftime-tests (Depends-on): Drop automatic dependency.
87
88 2011-04-08  Bruno Haible  <bruno@clisp.org>
89
90         verify: Fix syntax error with GCC 4.6 in C++ mode.
91         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
92         (HAVE_STATIC_ASSERT): New macro.
93         (verify_true, verify): Use 'static_assert' if it is supported and
94         '_Static_assert' is not supported.
95
96 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
97
98         allocator: New module.
99         * modules/allocator, lib/allocator.c: New files.
100         * lib/allocator.h (stdlib_allocator): New decl.
101         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
102         Remove.  Do not include <stdlib.h>.
103         (careadlinkat): Use stdlib_allocator instead of rolling our own.
104         * modules/careadlinkat (Files): Remove lib/allocator.h.
105         (Depends-on): Add allocator.
106
107         stdlib: let modules use system malloc, realloc
108         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
109         if !_GL_USE_STDLIB_ALLOC.
110         (malloc, realloc): Limit this change to a smaller scope.
111
112         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
113         (malloc, realloc): Don't #undef; no longer needed.
114         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
115         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
116         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
117         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
118         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
119         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
120         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
121         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
122
123         careadlinkat: rename members to avoid problem
124         * lib/allocator.h (struct allocator): Rename members from
125         malloc/realloc to allocate/reallocate, to avoid problems if malloc
126         and realloc are #define'd.  Reported by Eric Blake in
127         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
128         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
129
130 2011-04-08  Eric Blake  <eblake@redhat.com>
131
132         nonblocking: reduce dependency
133         * tests/test-nonblocking.c: Only test sockets when in use.
134         * modules/nonblocking-tests (Depends-on): Drop socket.
135         (Makefile.am): Link even if sockets are not present.
136         * modules/pipe2-tests (Makefile.am): Likewise.
137         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
138
139         pipe2: fix O_NONBLOCK support on mingw
140         * modules/pipe2 (Depends-on): Add nonblocking.
141         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
142         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
143         * tests/test-nonblocking.c (main): Likewise.
144         * modules/pipe2-tests (Makefile.am): Avoid link failure.
145
146         fcntl-h: fix O_ACCMODE on cygwin
147         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
148         * lib/fcntl.in.h (O_ACCMODE): Fix it.
149
150         pipe-filter: drop O_NONBLOCK workarounds
151         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
152         * modules/pipe-filter-ii (Depends-on): Likewise.
153         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
154
155         nonblocking: provide O_NONBLOCK for mingw
156         * modules/nonblocking (Depends-on): Add open.
157         (configure.ac): Set new witness macro.
158         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
159         * modules/fcntl-h (Makefile.am): Substitute it.
160         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
161         nonblocking module is in use.
162         * lib/nonblocking.c: Adjust portability test.
163         * lib/open.c (open): Don't let native open see gnulib flag.
164         * tests/test-fcntl-h.c (main): Enhance test.
165         * tests/test-open.h (test_open): Likewise.
166         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
167
168         careadlinkat: fix compilation error on mingw
169         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
170         within struct allocator.
171
172 2011-04-06  Eric Blake  <eblake@redhat.com>
173
174         binary-io: relicense under LGPLv2+
175         * modules/binary-io (License): Relax to LGPLv2+.
176         Requested for libvirt, and required by pipe2.
177
178 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
179
180         verify: use _Static_assert if available
181         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
182         (verify_true, verify): Use it if available.  This generates better
183         diagnostics with GCC 4.6.0 and later.
184
185 2011-04-05  Bruno Haible  <bruno@clisp.org>
186
187         Remove leftover generated .h files after config.status changed.
188
189         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
190         GL_GENERATE_ALLOCA_H.
191         * modules/alloca-opt (Makefile.am): Remove alloca.h if
192         GL_GENERATE_ALLOCA_H evaluates to false.
193
194         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
195         GL_GENERATE_ARGZ_H.
196         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
197         evaluates to false.
198
199         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
200         GL_GENERATE_BYTESWAP_H.
201         * modules/byteswap (Makefile.am): Remove byteswap.h if
202         GL_GENERATE_BYTESWAP_H evaluates to false.
203
204         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
205         GL_GENERATE_ERRNO_H.
206         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
207         evaluates to false.
208
209         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
210         GL_GENERATE_FLOAT_H.
211         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
212         evaluates to false.
213
214         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
215         GL_GENERATE_FNMATCH_H.
216         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
217         GL_GENERATE_FNMATCH_H evaluates to false.
218
219         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
220         GL_GENERATE_GLOB_H.
221         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
222         evaluates to false.
223
224         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
225         automake conditional GL_GENERATE_ICONV_H.
226         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
227         evaluates to false.
228
229         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
230         GL_GENERATE_NETINET_IN_H.
231         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
232         GL_GENERATE_NETINET_IN_H evaluates to false.
233
234         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
235         conditional GL_GENERATE_PTHREAD_H.
236         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
237         * modules/pthread (Makefile.am): Remove pthread.h if
238         GL_GENERATE_PTHREAD_H evaluates to false.
239
240         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
241         GL_GENERATE_SCHED_H.
242         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
243         evaluates to false.
244
245         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
246         conditional GL_GENERATE_SELINUX_CONTEXT_H.
247         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
248         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
249
250         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
251         GL_GENERATE_STDARG_H.
252         * modules/stdarg (Makefile.am): Remove stdarg.h if
253         GL_GENERATE_STDARG_H evaluates to false.
254
255         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
256         GL_GENERATE_STDBOOL_H.
257         * modules/stdbool (Makefile.am): Remove stdbool.h if
258         GL_GENERATE_STDBOOL_H evaluates to false.
259
260         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
261         conditional GL_GENERATE_STDDEF_H.
262         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
263         * modules/stddef (Makefile.am): Remove stddef.h if
264         GL_GENERATE_STDDEF_H evaluates to false.
265
266         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
267         GL_GENERATE_STDINT_H.
268         * modules/stdint (Makefile.am): Remove stdint.h if
269         GL_GENERATE_STDINT_H evaluates to false.
270
271         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
272         GL_GENERATE_SYSEXITS_H.
273         * modules/sysexits (Makefile.am): Remove sysexits.h if
274         GL_GENERATE_SYSEXITS_H evaluates to false.
275
276         Reported by Karl Berry and Ralf Wildenhues.
277
278 2011-04-05  Bruno Haible  <bruno@clisp.org>
279
280         Ensure to rebuild generated .h files when config.status has changed.
281         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
282         config.status.
283         * modules/ctype (Makefile.am): Likewise.
284         * modules/dirent (Makefile.am): Likewise.
285         * modules/errno (Makefile.am): Likewise.
286         * modules/fcntl-h (Makefile.am): Likewise.
287         * modules/float (Makefile.am): Likewise.
288         * modules/getopt-posix (Makefile.am): Likewise.
289         * modules/glob (Makefile.am): Likewise.
290         * modules/iconv-h (Makefile.am): Likewise.
291         * modules/inttypes (Makefile.am): Likewise.
292         * modules/langinfo (Makefile.am): Likewise.
293         * modules/locale (Makefile.am): Likewise.
294         * modules/math (Makefile.am): Likewise.
295         * modules/netdb (Makefile.am): Likewise.
296         * modules/netinet_in (Makefile.am): Likewise.
297         * modules/poll-h (Makefile.am): Likewise.
298         * modules/pthread (Makefile.am): Likewise.
299         * modules/pty (Makefile.am): Likewise.
300         * modules/sched (Makefile.am): Likewise.
301         * modules/search (Makefile.am): Likewise.
302         * modules/selinux-h (Makefile.am): Likewise.
303         * modules/signal (Makefile.am): Likewise.
304         * modules/spawn (Makefile.am): Likewise.
305         * modules/stdarg (Makefile.am): Likewise.
306         * modules/stdbool (Makefile.am): Likewise.
307         * modules/stddef (Makefile.am): Likewise.
308         * modules/stdint (Makefile.am): Likewise.
309         * modules/stdio (Makefile.am): Likewise.
310         * modules/stdlib (Makefile.am): Likewise.
311         * modules/string (Makefile.am): Likewise.
312         * modules/strings (Makefile.am): Likewise.
313         * modules/sys_file (Makefile.am): Likewise.
314         * modules/sys_ioctl (Makefile.am): Likewise.
315         * modules/sys_select (Makefile.am): Likewise.
316         * modules/sys_socket (Makefile.am): Likewise.
317         * modules/sys_stat (Makefile.am): Likewise.
318         * modules/sys_time (Makefile.am): Likewise.
319         * modules/sys_times (Makefile.am): Likewise.
320         * modules/sys_utsname (Makefile.am): Likewise.
321         * modules/sys_wait (Makefile.am): Likewise.
322         * modules/sysexits (Makefile.am): Likewise.
323         * modules/termios (Makefile.am): Likewise.
324         * modules/time (Makefile.am): Likewise.
325         * modules/unistd (Makefile.am): Likewise.
326         * modules/wchar (Makefile.am): Likewise.
327         * modules/wctype-h (Makefile.am): Likewise.
328         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
329
330 2011-04-05  Bruno Haible  <bruno@clisp.org>
331
332         pipe2: Relicense under LGPLv2+.
333         * modules/pipe2 (License): Change to LGPLv2+.
334         Requested by Eric Blake, for libvirt.
335
336 2011-04-05  Bruce Korb  <bkorb@gnu.org>
337
338         bootstrap: compute gnulib_extra_files after updating build_aux
339         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
340         change build_aux or also supply gnulib_extra_files.  Handle correctly.
341
342 2011-04-05  Eric Blake  <eblake@redhat.com>
343
344         bootstrap: preserve git whitelist item sorting
345         * build-aux/bootstrap (sort_patterns): New function.
346         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
347
348 2011-04-05  Simon Josefsson  <simon@josefsson.org>
349
350         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
351         sc_space_tab check.
352
353 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
354
355         areadlink, areadlinkat: rewrite in terms of careadlinkat
356         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
357         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
358         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
359         (malloc, realloc): Remove #undefs.
360         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
361         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
362         readlink, ssize_t, stdint, unistd.
363         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
364         areadlink, stdint.
365
366         careadlinkat: new module
367         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
368         * modules/careadlinkat: New files, written by me with
369         a review and feedback from Ben Pfaff in
370         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
371
372 2011-04-01  Bruno Haible  <bruno@clisp.org>
373
374         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
375         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
376         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
377         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
378         Reported by Bruce Korb <bruce.korb@gmail.com>.
379
380 2011-04-01  Bruno Haible  <bruno@clisp.org>
381
382         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
383         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
384         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
385         * modules/wcpcpy (Depends-on): Add extensions.
386         * modules/wcpncpy (Depends-on): Likewise.
387         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
388         systems.
389         * doc/posix-functions/wcpncpy.texi: Likewise.
390         * doc/posix-functions/wcwidth.texi: Likewise.
391
392 2011-03-31  Eric Blake  <eblake@redhat.com>
393
394         nonblocking: fix mingw test failures
395         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
396         non-blocking flag on regular file.
397         (get_nonblocking_flag): Set errno on invalid fd.
398         * tests/test-nonblocking.c (main): Avoid test failure on
399         directories if fchdir is not active.
400         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
401
402 2011-03-31  Bruno Haible  <bruno@clisp.org>
403
404         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
405         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
406         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
407         Reported by Simon Josefsson <simon@josefsson.org>.
408
409 2011-03-31  Bruno Haible  <bruno@clisp.org>
410         and Eric Blake  <eblake@redhat.com>
411
412         nonblocking: new module
413         * modules/nonblocking: New module.
414         * modules/nonblocking-tests: Likewise.
415         * lib/nonblocking.h: New file.
416         * lib/nonblocking.c: Likewise.
417         * tests/test-nonblocking.c: New test.
418         * lib/ioctl.c (ioctl) [mingw]: Update comment.
419
420 2011-03-30  Bruno Haible  <bruno@clisp.org>
421
422         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
423         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
424         instead of 'printf' format for GCC >= 4.4.
425         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
426         (fprintf, printf, vfprintf, vprintf): Declare with
427         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
428         the system's vfprintf() function.
429         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
430
431 2011-03-30  Eric Blake  <eblake@redhat.com>
432
433         passfd: fix scoping bug
434         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
435         before sendmsg/recvmsg.
436
437         passfd: standardize coding conventions
438         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
439         can be learned at compile time.
440         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
441         ifdefs.
442         (sendfd, recvfd): Follow gnulib code conventions.
443
444         passfd: fix incorrect sendmsg arguments
445         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
446         incorrect msg_controllen value.
447         * modules/passfd-tests (Depends-on): Check for alarm.
448         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
449         Reported by Bastien ROUCARIES.
450
451 2011-03-30  Bruno Haible  <bruno@clisp.org>
452
453         c-strcasestr: Relicense under LGPLv2+.
454         * modules/c-strcasestr (License): Change to LGPLv2+.
455         Requested by Eric Blake, for libvirt.
456
457 2011-03-30  Simon Josefsson  <simon@josefsson.org>
458
459         * users.txt: Add libidn2.  Fix libtasn1 link.
460
461 2011-03-30  Jim Meyering  <meyering@redhat.com>
462
463         tests: readlink* ("",... fails with EINVAL on newer kernels
464         readlink and readlinkat have typically failed with ENOENT for
465         the invalid, empty file name,  "".  However, with the advent
466         of linux-2.6.39, they fail with EINVAL.
467         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
468         when operating on the empty file name.
469         * tests/test-readlink.h (test_readlink): Likewise.
470
471 2011-03-29  Bruno Haible  <bruno@clisp.org>
472
473         Relicense some modules under LGPLv2+, for libidn2.
474         * modules/array-mergesort (License): Change to LGPLv2+.
475         * modules/c-strcaseeq (License): Likewise.
476         * modules/striconveh (License): Likewise.
477         * modules/striconveha (License): Likewise.
478         * modules/uniconv/base (License): Likewise.
479         * modules/uniconv/u8-conv-from-enc (License): Likewise.
480         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
481         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
482         * modules/unictype/base (License): Likewise.
483         * modules/unictype/bidiclass-of (License): Likewise.
484         * modules/unictype/category-M (License): Likewise.
485         * modules/unictype/category-none (License): Likewise.
486         * modules/unictype/category-of (License): Likewise.
487         * modules/unictype/category-test (License): Likewise.
488         * modules/unictype/category-test-withtable (License): Likewise.
489         * modules/unictype/combining-class (License): Likewise.
490         * modules/unictype/joiningtype-of (License): Likewise.
491         * modules/unictype/scripts (License): Likewise.
492         * modules/uninorm/base (License): Likewise.
493         * modules/uninorm/canonical-decomposition (License): Likewise.
494         * modules/uninorm/composition (License): Likewise.
495         * modules/uninorm/decompose-internal (License): Likewise.
496         * modules/uninorm/decomposition-table (License): Likewise.
497         * modules/uninorm/nfc (License): Likewise.
498         * modules/uninorm/nfd (License): Likewise.
499         * modules/uninorm/u32-normalize (License): Likewise.
500         * modules/unistr/base (License): Likewise.
501         * modules/unistr/u32-cpy (License): Likewise.
502         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
503         * modules/unistr/u32-to-u8 (License): Likewise.
504         * modules/unistr/u32-uctomb (License): Likewise.
505         * modules/unistr/u8-check (License): Likewise.
506         * modules/unistr/u8-mblen (License): Likewise.
507         * modules/unistr/u8-mbtouc (License): Likewise.
508         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
509         * modules/unistr/u8-mbtoucr (License): Likewise.
510         * modules/unistr/u8-prev (License): Likewise.
511         * modules/unistr/u8-strlen (License): Likewise.
512         * modules/unistr/u8-to-u32 (License): Likewise.
513         * modules/unistr/u8-uctomb (License): Likewise.
514         * modules/unitypes (License): Likewise.
515         Requested by Simon Josefsson.
516
517 2011-03-29  Simon Josefsson  <simon@josefsson.org>
518
519         lib-symbol-visibility: Add a notice.
520         * modules/lib-symbol-visibility (Notice): New field.
521
522 2011-03-29  Bruno Haible  <bruno@clisp.org>
523
524         getaddrinfo: Doc fix.
525         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
526         section "fixed in Gnulib".
527
528 2011-03-28  Simon Josefsson  <simon@josefsson.org>
529
530         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
531         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
532
533 2011-03-26  Bruno Haible  <bruno@clisp.org>
534
535         unictype/property-byname: Reduce the number of load-time relocations.
536         * lib/unictype/pr_byname.c: Include <stdlib.h>.
537         (UC_PROPERTY_INDEX_*): New enumeration values.
538         (uc_property_byname): Convert an index from the lookup table to an
539         uc_property_t.
540         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
541         values.
542
543 2011-03-26  Bruno Haible  <bruno@clisp.org>
544
545         unictype/property-byname: Allow omitted word separators and aliases.
546         * lib/unictype/pr_byname.gperf: Add property names without word
547         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
548         for 'space'.
549
550 2011-03-26  Bruno Haible  <bruno@clisp.org>
551
552         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
553         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
554         also hyphens to space.
555         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
556         without spaces.
557         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
558
559 2011-03-26  Bruno Haible  <bruno@clisp.org>
560
561         unictype/joiningtype-byname: Recognize long names as well.
562         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
563         a long name.
564         * lib/unictype/joiningtype_byname.c: Include <string.h>,
565         unictype/joiningtype_byname.h.
566         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
567         * lib/unictype/joiningtype_byname.gperf: New file.
568         * modules/unictype/joiningtype-byname (Files): Add
569         lib/unictype/joiningtype_byname.gperf.
570         (Depends-on): Add gperf.
571         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
572         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
573         long names.
574
575         Tests for module 'unictype/joiningtype-longname'.
576         * modules/unictype/joiningtype-longname-tests: New file.
577         * tests/unictype/test-joiningtype_longname.c: New file.
578
579         New module 'unictype/joiningtype-longname'.
580         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
581         * lib/unictype/joiningtype_longname.c: New file.
582         * modules/unictype/joiningtype-longname: New file.
583         * modules/unictype/joiningtype-all (Depends-on): Add
584         unictype/joiningtype-longname.
585
586 2011-03-26  Bruno Haible  <bruno@clisp.org>
587
588         unictype/bidiclass-byname: Recognize long names as well.
589         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
590         name.
591         * lib/unictype/bidi_byname.c: Include <string.h>,
592         unictype/bidi_byname.h.
593         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
594         * lib/unictype/bidi_byname.gperf: New file.
595         * modules/unictype/bidiclass-byname (Files): Add
596         lib/unictype/bidi_byname.gperf.
597         (Depends-on): Add gperf.
598         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
599         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
600         long names.
601
602         Tests for module 'unictype/bidiclass-longname'.
603         * modules/unictype/bidiclass-longname-tests: New file.
604         * tests/unictype/test-bidi_longname.c: New file.
605
606         New module 'unictype/bidiclass-longname'.
607         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
608         * lib/unictype/bidi_longname.c: New file.
609         * modules/unictype/bidiclass-longname: New file.
610         * modules/unictype/bidiclass-all (Depends-on): Add
611         unictype/bidiclass-longname.
612
613 2011-03-26  Bruno Haible  <bruno@clisp.org>
614
615         unictype/bidi*: Rename modules.
616         * modules/unictype/bidiclass-all: Renamed from
617         modules/unictype/bidicategory-all.
618         * modules/unictype/bidiclass-name: Renamed from
619         modules/unictype/bidiclass-name.
620         (Description): Update.
621         * modules/unictype/bidiclass-name-tests: Renamed from
622         modules/unictype/bidicategory-name-tests.
623         * modules/unictype/bidiclass-byname: Renamed from
624         modules/unictype/bidicategory-byname.
625         (Description): Update.
626         * modules/unictype/bidiclass-byname-tests: Renamed from
627         modules/unictype/bidicategory-byname-tests.
628         * modules/unictype/bidiclass-of: Renamed from
629         modules/unictype/bidicategory-of.
630         (Description): Update.
631         * modules/unictype/bidiclass-of-tests: Renamed from
632         modules/unictype/bidicategory-of-tests.
633         * modules/unictype/bidiclass-test: Renamed from
634         modules/unictype/bidicategory-test.
635         (Description): Update.
636         * modules/unictype/bidiclass-test-tests: Renamed from
637         modules/unictype/bidicategory-test-tests.
638         * modules/unictype/bidicategory-all: New file, a simple redirection.
639         * modules/unictype/bidicategory-name: Likewise.
640         * modules/unictype/bidicategory-byname: Likewise.
641         * modules/unictype/bidicategory-of: Likewise.
642         * modules/unictype/bidicategory-test: Likewise.
643         * modules/unictype/property-bidi-* (Dependencies): Update.
644         * lib/unictype/bidi_*.c: Update comment.
645
646 2011-03-26  Bruno Haible  <bruno@clisp.org>
647
648         unictype/bidi*: Rename functions, part 2.
649         * modules/unictype/bidicategory-name (configure.ac): Update required
650         libunistring version.
651         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
652
653 2011-03-25  Bruno Haible  <bruno@clisp.org>
654
655         New module 'unictype/combining-class-all'.
656         * modules/unictype/combining-class-all: New file.
657
658         Tests for module 'unictype/combining-class-byname'.
659         * modules/unictype/combining-class-byname-tests: New file.
660         * tests/unictype/test-combiningclass_byname.c: New file.
661
662         New module 'unictype/combining-class-byname'.
663         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
664         * lib/unictype/combiningclass_byname.c: New file.
665         * lib/unictype/combiningclass_byname.gperf: New file.
666         * modules/unictype/combining-class-byname: New file.
667
668         Tests for module 'unictype/combining-class-longname'.
669         * modules/unictype/combining-class-longname-tests: New file.
670         * tests/unictype/test-combiningclass_longname.c: New file.
671
672         New module 'unictype/combining-class-longname'.
673         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
674         * lib/unictype/combiningclass_longname.c: New file.
675         * modules/unictype/combining-class-longname: New file.
676
677         Tests for module 'unictype/combining-class-name'.
678         * modules/unictype/combining-class-name-tests: New file.
679         * tests/unictype/test-combiningclass_name.c: New file.
680
681         New module 'unictype/combining-class-name'.
682         * lib/unictype.in.h (uc_combining_class_name): New declaration.
683         * lib/unictype/combiningclass_name.c: New file.
684         * modules/unictype/combining-class-name: New file.
685
686 2011-03-25  Bruno Haible  <bruno@clisp.org>
687
688         unictype/combining-class: Rename source files.
689         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
690         of unictype/combining.h.
691         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
692         Update.
693         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
694         * modules/unictype/combining-class (Description): Fix.
695         (Files, Makefile.am): Update.
696         * tests/unictype/test-combiningclass.c: Renamed from
697         tests/unictype/test-combining.c.
698         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
699
700 2011-03-25  Bruno Haible  <bruno@clisp.org>
701
702         unictype: Update list of canonical combining classes.
703         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
704
705 2011-03-25  Bruno Haible  <bruno@clisp.org>
706
707         unictype/category-byname: Recognize long names as well.
708         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
709         a long name.
710         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
711         unictype/categ_byname.h.
712         (UC_CATEGORY_INDEX_*): New enumeration values.
713         (uc_general_category_byname): Use uc_general_category_lookup and
714         convert from index to value.
715         * lib/unictype/categ_byname.gperf: New file.
716         * modules/unictype/category-byname (Files): Add
717         lib/unictype/categ_byname.gperf.
718         (Depends-on): Add gperf.
719         (Makefile.am): Add rule for generating unictype/categ_byname.h.
720         * tests/unictype/test-categ_byname.c (main): Test the recognition of
721         long names.
722
723         Tests for module 'unictype/category-longname'.
724         * modules/unictype/category-longname-tests: New file.
725         * tests/unictype/test-categ_longname.c: New file.
726
727         New module 'unictype/category-longname'.
728         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
729         * lib/unictype/categ_longname.c: New file.
730         * modules/unictype/category-longname: New file.
731         * modules/unictype/category-all (Depends-on): Add it.
732
733 2011-03-25  Bruno Haible  <bruno@clisp.org>
734
735         Tests for module 'unictype/category-LC'.
736         * modules/unictype/category-LC-tests: New file.
737         * tests/unictype/test-categ_LC.c: New file, automatically generated.
738
739         New module 'unictype/category-LC'.
740         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
741         (UC_CATEGORY_LC): New declaration.
742         (UC_CASED_LETTER): New macro.
743         * lib/gen-uni-tables.c (is_category_LC): New function.
744         (output_categories): Also handle category LC.
745         (UC_CATEGORY_MASK_LC): New enumeration value.
746         (general_category_byname): Also handle category LC.
747         * lib/unictype/categ_LC.c: New file.
748         * lib/unictype/categ_LC.h: New file, automatically generated.
749         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
750         category LC.
751         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
752         * modules/unictype/category-LC: New file.
753         * modules/unictype/category-byname (Depends-on): Add
754         unictype/category-LC.
755         * modules/unictype/category-all (Depends-on): Likewise.
756
757 2011-03-25  Eric Blake  <eblake@redhat.com>
758
759         xmalloc: revert yesterday's regression
760         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
761         realloc's underlying behavior (allowing allocation of zero-size
762         objects, especially if malloc-gnu is also in use).
763
764 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
765
766         maint.mk: add missing version to VC-tag
767         * top/maint.mk: git tag was missing actual tag name; add it.
768
769         valgrind: do leak checking, and exit with code 1 on error (not 0)
770         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
771         to VALGRIND.
772
773 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
774
775         posix-modules: say what it does.
776         * posix-modules: Add a line to the --help output saying what it does.
777
778 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
779
780         xmalloc: Do not leak if underlying realloc is C99 compatible.
781         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
782         This avoids a leak on C99-based systems.  See
783         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
784
785 2011-03-24  Eric Blake  <eblake@redhat.com>
786
787         realloc: document portability problem
788         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
789         passing 0 size to realloc.
790
791 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
792
793         doc: update users.txt
794         * users.txt: Add cvsps, tmpwatch
795
796 2011-03-23  Matt Rice  <ratmice@gmail.com>
797
798         doc: update users.txt
799         * users.txt: Add gdb.
800
801 2011-03-23  Jim Meyering  <meyering@redhat.com>
802
803         doc: update users.txt
804         Looking through matches up to the following URL (there are still
805         several more pages), I found several projects that use gnulib:
806         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
807         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
808         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
809
810 2011-03-22  Bruno Haible  <bruno@clisp.org>
811
812         unictype/bidi*: Rename functions.
813         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
814         uc_bidi_class, uc_is_bidi_class): New declarations.
815         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
816         uc_bidi_category_byname.
817         (uc_bidi_category_byname): New function.
818         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
819         u_bidi_category_name.
820         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
821         (uc_bidi_category_name): New function.
822         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
823         uc_bidi_category.
824         (uc_bidi_category): New function.
825         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
826         uc_is_bidi_category. Invoke uc_bidi_class.
827         (uc_is_bidi_category): New function.
828         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
829         instead of uc_bidi_category_byname.
830         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
831         instead of uc_bidi_category_name.
832         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
833         uc_bidi_category.
834         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
835         instead of uc_is_bidi_category.
836
837 2011-03-21  Bruno Haible  <bruno@clisp.org>
838
839         New module 'unictype/joininggroup-all'.
840         * modules/unictype/joininggroup-all: New file.
841
842         Tests for module 'unictype/joininggroup-of'.
843         * modules/unictype/joininggroup-of-tests: New file.
844         * tests/unictype/test-joininggroup_of.c: New file.
845         * tests/unictype/test-joininggroup_of.h: New file, automatically
846         generated by gen-uni-tables.
847
848         New module 'unictype/joininggroup-of'.
849         * modules/unictype/joininggroup-of: New file.
850         * lib/unictype/joininggroup_of.c: New file.
851         * lib/unictype/joininggroup_of.h: New file, automatically generated by
852         gen-uni-tables.
853
854         Tests for module 'unictype/joininggroup-byname'.
855         * modules/unictype/joininggroup-byname-tests: New file.
856         * tests/unictype/test-joininggroup_byname.c: New file.
857
858         New module 'unictype/joininggroup-byname'.
859         * modules/unictype/joininggroup-byname: New file.
860         * lib/unictype/joininggroup_byname.c: New file.
861         * lib/unictype/joininggroup_byname.gperf: New file.
862
863         Tests for module 'unictype/joininggroup-name'.
864         * modules/unictype/joininggroup-name-tests: New file.
865         * tests/unictype/test-joininggroup_name.c: New file.
866
867         New module 'unictype/joininggroup-name'.
868         * modules/unictype/joininggroup-name: New file.
869         * lib/unictype/joininggroup_name.c: New file.
870         * lib/unictype/joininggroup_name.h: New file.
871
872         New module 'unictype/joiningtype-all'.
873         * modules/unictype/joiningtype-all: New file.
874
875         Tests for module 'unictype/joiningtype-of'.
876         * modules/unictype/joiningtype-of-tests: New file.
877         * tests/unictype/test-joiningtype_of.c: New file.
878         * tests/unictype/test-joiningtype_of.h: New file, automatically
879         generated by gen-uni-tables.
880
881         New module 'unictype/joiningtype-of'.
882         * modules/unictype/joiningtype-of: New file.
883         * lib/unictype/joiningtype_of.c: New file.
884         * lib/unictype/joiningtype_of.h: New file, automatically generated by
885         gen-uni-tables.
886
887         Tests for module 'unictype/joiningtype-byname'.
888         * modules/unictype/joiningtype-byname-tests: New file.
889         * tests/unictype/test-joiningtype_byname.c: New file.
890
891         New module 'unictype/joiningtype-byname'.
892         * modules/unictype/joiningtype-byname: New file.
893         * lib/unictype/joiningtype_byname.c: New file.
894
895         Tests for module 'unictype/joiningtype-name'.
896         * modules/unictype/joiningtype-name-tests: New file.
897         * tests/unictype/test-joiningtype_name.c: New file.
898
899         New module 'unictype/joiningtype-name'.
900         * modules/unictype/joiningtype-name: New file.
901         * lib/unictype/joiningtype_name.c: New file.
902
903         unictype: Add support for Arabic shaping properties.
904         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
905         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
906         declarations.
907         (UC_JOINING_GROUP_*): New enumeration values.
908         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
909         declarations.
910         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
911         (unicode_joining_type): New variable.
912         (UC_JOINING_GROUP_*): New enumeration values.
913         (unicode_joining_group): New variable.
914         (fill_arabicshaping, joining_type_as_c_identifier,
915         output_joining_type_test, output_joining_type,
916         joining_group_as_c_identifier, output_joining_group_test,
917         output_joining_group): New functions.
918         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
919         fill_arabicshaping and output_joining_type_test, output_joining_type,
920         output_joining_group_test, output_joining_group.
921         Reported by Simon Josefsson.
922
923 2011-03-21  Jim Meyering  <meyering@redhat.com>
924
925         strftime: fix a bug in yesterday's change
926         * lib/strftime.c (add): Accommodate width's initial value of -1.
927         Otherwise, nstrftime would copy uninitialized data into
928         the result buffer.
929
930 2011-03-21  Jim Meyering  <meyering@redhat.com>
931
932         tests: add strftime-tests module
933         * tests/test-strftime.c: New file.
934         * modules/strftime-tests: New module.
935
936 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
937
938         strftime: don't assume a byte count fits in 'int'
939         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
940         found this problem by static analysis, using gcc -Wstrict-overflow
941         (GCC 4.5.2, x86-64).  This reported an optimization that depended
942         on an integer overflow having undefined behavior, but it turns out
943         that the argument is a size, which might not fit in 'int' anyway,
944
945 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
946
947         stdio: don't require ignore_value around fwrite
948
949         This patch works around libc bug 11959
950         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
951         Without this patch, applications must often write
952         ignore_value (fwrite (...)) even though the ignore_value is
953         not helpful here.  It's common to write many objects, using
954         fwrite/printf/etc., and then use ferror to detect output error.
955
956         I considered making this patch optional, but decided against it,
957         because libc is obviously being inconsistent here: there is no
958         reason libc should insist that user code must inspect fwrite
959         return's value without also insisting that it inspect printf's,
960         putchar's, etc.  If user code wants to have a strict style where
961         all these functions' values are checked (so that ferror need not
962         be checked), we could add support for that style in a new gnulib
963         module, but in the meantime it's better to be consistent and to
964         support common usage.
965
966         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
967         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
968         that we are compiling in checking mode, and if not C++, and
969         if not already wrapping fwrite for some other reason.
970         (fwrite): #define to rpl_fwrite if the latter is defined.
971
972 2011-03-20  Bruno Haible  <bruno@clisp.org>
973
974         verror: Fix compilation error introduced on 2011-02-13.
975         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
976         instead of __attribute__.
977         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
978
979 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
980             Bruno Haible  <bruno@clisp.org>
981
982         socklen: do not depend on sys_socket
983         While trying to modify Emacs to use gnulib's socklen module,
984         I discovered a circular dependency: socklen depends on sys_socket
985         and vice versa.  Emacs can use socklen, but it does not need
986         sys_socket because it has its own substitute for sys/socket.h.
987         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
988         gl_TYPE_SOCKLEN_T.
989         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
990         gl_PREREQ_SYS_H_SOCKET.
991         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
992         gl_PREREQ_SYS_H_SOCKET.
993         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
994         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
995         * modules/socklen (Depends-on): Do not depend on sys_socket.
996         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
997
998 2011-03-20  Jim Meyering  <meyering@redhat.com>
999
1000         maint.mk: sort file names *after* new transformation
1001         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
1002         prefix would have led to an unwarranted failure in GNU parted.
1003         Sort after that transformation.
1004
1005 2011-03-19  Jim Meyering  <meyering@redhat.com>
1006
1007         maint.mk: fix po-file syntax-check rule
1008         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
1009         Patch by Bruno Haible.
1010
1011 2011-03-19  Bruno Haible  <bruno@clisp.org>
1012
1013         socklen: Update comment.
1014         * m4/socklen.m4: Update comment about platforms.
1015
1016 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
1017             Bruno Haible  <bruno@clisp.org>
1018
1019         inet_ntop, inet_pton: Simplify.
1020         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
1021         documented to provide socklen_t and we already depend on sys_socket.
1022         * modules/inet_pton (Depends-on): Likewise.
1023         * lib/arpa_inet.in.h: Adjust comment.
1024
1025 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
1026             Bruno Haible  <bruno@clisp.org>
1027
1028         netdb: Simplify.
1029         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
1030         documented to provide socklen_t and we already depend on sys_socket.
1031         * lib/netdb.in.h: Adjust comment.
1032
1033 2011-03-19  Bruno Haible  <bruno@clisp.org>
1034
1035         sys_socket, netdb: Document problem with socklen_t.
1036         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
1037         platforms.
1038         * doc/posix-headers/netdb.texi: Likewise.
1039
1040 2011-03-18  Eric Blake  <eblake@redhat.com>
1041
1042         maint.mk: let po check work in VPATH build
1043         * top/maint.mk (po_file): Allow cfg.mk override.
1044         (sc_po_check): Allow VPATH use.
1045         Reported by Jiri Denemark.
1046
1047 2011-03-16  Jim Meyering  <meyering@redhat.com>
1048
1049         maint.mk: allow fine-grained syntax-check exclusion via Make variables
1050         Before, you would have had to create one .x-sc_ file per rule in order
1051         to exempt offending files.  Now, you may instead use a Make variable --
1052         usually defined in cfg.mk -- whose name identifies the affected rule.
1053         * top/maint.mk (_sc_excl): Define.
1054         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
1055         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
1056
1057 2011-03-13  Bruno Haible  <bruno@clisp.org>
1058
1059         ignore-value tests: Avoid warnings.
1060         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
1061         empty for gcc < 3.4.
1062
1063 2011-03-13  Bruno Haible  <bruno@clisp.org>
1064
1065         passfd: Fix link error on Solaris.
1066         * modules/passfd (Description): Correct.
1067         (Depends-on): Add socketlib.
1068         (Link): New section.
1069         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
1070
1071 2011-03-13  Bruno Haible  <bruno@clisp.org>
1072
1073         passfd: Fix link error on AIX 5.2.
1074         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
1075
1076 2011-03-13  Bruno Haible  <bruno@clisp.org>
1077
1078         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
1079         * lib/sys_socket.in.h: Include <stddef.h>.
1080         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
1081         CMSG_FIRSTHDR. Remove unused variable.
1082
1083 2011-03-13  Bruno Haible  <bruno@clisp.org>
1084
1085         passfd: Fix compilation error on OpenBSD.
1086         * lib/passfd.c: Include <sys/uio.h>.
1087
1088 2011-03-13  Bruno Haible  <bruno@clisp.org>
1089
1090         passfd test: Fix warnings.
1091         * tests/test-passfd.c: Include <sys/wait.h>.
1092         (main): Fix typo.
1093
1094 2011-03-13  Bruno Haible  <bruno@clisp.org>
1095
1096         passfd module, part 4, tweaks.
1097         * tests/test-passfd.c: Reorder includes.
1098         (main): Fix perror and printf calls.
1099
1100 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
1101
1102         passfd module, part 4.
1103         * modules/passfd-tests: New file.
1104         * tests/test-passfd.c: New file.
1105
1106 2011-03-13  Jim Meyering  <meyering@redhat.com>
1107
1108         Makefile: rely on GNU make; derive syntax-check rule names
1109         Rather than requiring that each sc_ rule be listed as a dependent
1110         of "check", use features of GNU make to derive the list.
1111         * Makefile (syntax-check-rules): Define.
1112         (check): Depend on the new variable, not the hard-coded list.
1113
1114 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
1115             Bruno Haible  <bruno@clisp.org>
1116
1117         passfd module, part 3.
1118         * lib/passfd.h (recvfd): Add a flags argument.
1119         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
1120         (recvfd): Add a flags argument.
1121         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
1122         exists.
1123         * modules/passfd (Depends-on): Add cloexec.
1124         Suggested by Eric Blake.
1125
1126 2011-03-13  Bruno Haible  <bruno@clisp.org>
1127
1128         passfd module, part 2, tweaks.
1129         * modules/passfd (Files): Reorder.
1130         (Depends-on): Remove errno.
1131         (Include): Remove <sys/socket.h>, <sys/un.h>.
1132         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
1133         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
1134         specification header. Include <sys/socket.h> always. Don't include
1135         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
1136         (sendfd): Clarify that it sets errno when it fails.
1137         (recvfd): Fix specification.
1138
1139 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
1140
1141         passfd module, part 2.
1142         * modules/passfd: New file.
1143         * lib/passfd.h: New file.
1144         * lib/passfd.c: New file.
1145
1146 2011-03-12  Bruno Haible  <bruno@clisp.org>
1147
1148         wcswidth, mbswidth: Avoid integer overflow.
1149         * lib/wcswidth.c: Include <limits.h>.
1150         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
1151         * lib/mbswidth.c: Include <limits.h>.
1152         (mbsnwidth): Avoid 'int' overflow.
1153         Reported by Jim Meyering.
1154
1155 2011-03-12  Bruno Haible  <bruno@clisp.org>
1156
1157         futimens, utimensat: Avoid endless recursion on Solaris 10.
1158         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
1159         Solaris.
1160         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
1161         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
1162
1163 2011-03-11  Jim Meyering  <meyering@redhat.com>
1164
1165         maint.mk: relax a regexp to accommodate other formatting styles
1166         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
1167         between "ngettext" and the following "(".
1168
1169 2011-03-11  Pádraig Brady <P@draigBrady.com>
1170
1171         maint.mk: suppress a false positive warning
1172         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
1173         diagnostics are marked with ngettext.
1174
1175 2011-03-10  Eric Blake  <eblake@redhat.com>
1176
1177         wchar: add explicit dependencies, for Tru64
1178         * modules/mbmemcasecoll (Depends-on): Add wchar.
1179         * modules/mbtowc (Depends-on): Likewise.
1180         * modules/vasnprintf (Depends-on): Likewise.
1181         * modules/unistdio/u-printf-args (Depends-on): Likewise.
1182         * modules/wctomb (Depends-on): Likewise.
1183         Reported by Peter O'Gorman.
1184
1185 2011-03-08  Bruno Haible  <bruno@clisp.org>
1186
1187         passfd module, part 1, tweaks.
1188         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
1189         Improve indentation. Improve AC_MSG_CHECKING messages.
1190         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
1191         gl_SOCKET_FAMILIES.
1192
1193 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
1194
1195         passfd module, part 1.
1196         * m4/afunix.m4: New file.
1197         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
1198         sockets.
1199
1200 2011-03-08  Bruno Haible  <bruno@clisp.org>
1201
1202         regex-quote: New API.
1203         * lib/regex-quote.h: Include <stdbool.h>.
1204         (struct regex_quote_spec): New type.
1205         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
1206         New declarations.
1207         (regex_quote_length, regex_quote_copy, regex_quote): Take a
1208         'const struct regex_quote_spec *' argument.
1209         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
1210         (pcre_special): New constant.
1211         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
1212         New functions.
1213         (regex_quote_length, regex_quote_copy, regex_quote): Take a
1214         'const struct regex_quote_spec *' argument.
1215         * modules/regex-quote (Depends-on): Add stdbool.
1216         * tests/test-regex-quote.c (check): Update for new API. Add test for
1217         anchored results.
1218         * NEWS: Mention the API change.
1219         Reported by Reuben Thomas and Eric Blake.
1220
1221 2011-03-06  Bruno Haible  <bruno@clisp.org>
1222
1223         regex-quote: Fix creation of POSIX extended regular expressions.
1224         * lib/regex-quote.c (ere_special): Add grouping and alternation
1225         operators.
1226
1227 2011-03-05  Bruno Haible  <bruno@clisp.org>
1228
1229         doc: Improve doc regarding autopoint vs. gnulib.
1230         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
1231         disable autopoint while running autoreconf.
1232         Suggested by Ralf Wildenhues.
1233
1234 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1235
1236         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
1237         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
1238
1239 2011-03-03  Bruce Korb  <bkorb@gnu.org>
1240
1241         parse-duration: remove xalloc.h dependency
1242         * lib/parse-duration.c (parse_period): handle NULL return from
1243         strdup instead of calling xstrdup().
1244         * modules/parse-duration: remove "xalloc" dependency
1245
1246 2011-03-03  Matthew Booth  <mbooth@redhat.com>
1247
1248         bootstrap: honor m4_base when running aclocal
1249         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
1250
1251 2011-03-02  Jim Meyering  <meyering@redhat.com>
1252
1253         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
1254         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
1255         on request from Matt Booth.
1256
1257 2011-03-01  Eric Blake  <eblake@redhat.com>
1258
1259         test-link: work on Hurd
1260         * tests/test-link.h (test_link): Hurd rejects linking directories
1261         with EISDIR instead of the POSIX-mandated EPERM.
1262
1263 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
1264
1265         stdio: simplify by moving files to printf-posix, sigpipe
1266         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
1267         since this symbol is needed only if printf is replaced.
1268         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
1269         Require gl_ASM_SYMBOL_PREFIX.
1270         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
1271         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
1272         (Depends-on): Add 'raise'.
1273         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
1274         * modules/stdio (Files): Remove lib/stdio-write.c,
1275         m4/asm-underscore.m4.
1276         (Depends-on): Remove 'raise'.
1277
1278         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
1279         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
1280         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
1281         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
1282
1283 2011-02-28  Bruno Haible  <bruno@clisp.org>
1284
1285         localcharset: Assume ANSI C behaviour of free().
1286         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
1287         calling free().
1288         Suggested by Simon Josefsson <simon@josefsson.org>.
1289
1290 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
1291             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
1292             Bruno Haible  <bruno@clisp.org>  (tiny change)
1293
1294         On Cygwin, use /proc file system instead of win32 API.
1295         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
1296         Win32 file names.
1297         (DllMain): Simplify by removing Cygwin specific code.
1298         (find_shared_library_fullname): Use Linux specific implementation also
1299         for Cygwin.
1300         (get_shared_library_fullname): Update accordingly.
1301         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
1302         Win32 file names.
1303         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
1304         Cygwin specific code.
1305
1306 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
1307             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
1308
1309         Fix OpenMP flag detection for various Fortran compilers.
1310         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
1311         OpenMP-conditional compilation construct, to force compile
1312         failure with missing OpenMP flag.
1313         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
1314
1315 2011-02-25  Eric Blake  <eblake@redhat.com>
1316
1317         strstr: expand test coverage
1318         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
1319         compilation.
1320         * tests/test-memmem.c (main): Duplicate tests.
1321         * tests/test-strcasestr.c (main): Likewise.
1322         * tests/test-c-strcasestr.c (main): Likewise.
1323
1324 2011-02-25  Jim Meyering  <meyering@redhat.com>
1325
1326         maint.mk: detect missing-NL-at-EOF, too
1327         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
1328         it also detects when a file lacks a newline at EOF.
1329         (require_exactly_one_NL_at_EOF_): Renamed from
1330         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
1331         since people may well have .x-sc_... file names tied to the
1332         existing name.  Suggested by Eric Blake.
1333
1334 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
1335
1336         dirname: move m4/dos.m4 functionality into lib/dosname.h
1337
1338         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
1339         extracts symbols from it, puts them into config.h; but it's much
1340         easier to use the symbols directly.  filename.h already does this,
1341         but it disagrees with dos.m4 in some respects.  This patch
1342         introduces a different include file dosname.h that packages up
1343         dos.m4, and then later we can work on merging filename.h and
1344         dosname.h.  Applications that need only the easy-to-configure
1345         symbols should consider including dosname.h rather than dirname.h.
1346         * NEWS: Mention incompatible changes.
1347         * m4/dos.m4: Remove.
1348         * lib/dosname.h, modules/dosname: New files.
1349         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
1350         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
1351         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
1352         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
1353         Include dosname.h, not dirname.h.
1354         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
1355         Include dosname.h, for definitions of symbols like ISSLASH
1356         that used to be in config.h.
1357         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
1358         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
1359         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
1360         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
1361         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
1362         * modules/rmdir (Files): Likewise.
1363         * modules/stat (Files): Likewise.
1364         * modules/unlink (Files): Likewise.
1365         * modules/dirname-lgpl (Depends-on): Add dosname.
1366         * modules/lstat (Depends-on): Likewise.
1367         * modules/openat (Depends-on): Likewise.
1368         * modules/rmdir (Depends-on): Likewise.
1369         * modules/savewd (Depends-on): Likewise.
1370         * modules/stat (Depends-on): Likewise.
1371         * modules/unlink (Depends-on): Likewise.
1372         * modules/openat (Depends-on): Remove dirname-lgpl.
1373         * modules/savewd (Depends-on): Likewise.
1374         * tests/test-dirname.c: Do not use removed symbols like
1375         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
1376         the remaining symbols, e.g., ISSLASH ('\\').
1377
1378 2011-02-25  Eric Blake  <eblake@redhat.com>
1379
1380         strstr: revert patches that introduced bug and pessimization
1381         * lib/str-two-way.h: Add another reference.
1382         (two_way_short_needle, two_way_long_needle): Revert changes from
1383         2011-02-24; they pessimize search speed.
1384         (critical_factorization): Partially revert changes from
1385         2010-06-22; they violate the requirement that the left half of the
1386         needle be smaller than the period of the needle.
1387
1388 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
1389
1390         filenamecat: remove unnecessary dependency on dirname-lgpl
1391         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
1392         is no direct dependency, just an indirect one via filenamecat-lgpl.
1393
1394         remove: remove unnecessary use of m4/dos.m4
1395         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
1396         * modules/remove (FILES): Remove m4/dos.m4.
1397
1398         * lib/openat-proc.c: Don't include dirname.h; not needed.
1399
1400         backupfile: remove unnecessary use of m4/dos.m4
1401         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
1402         of its symbols are used by the backupfile code.  backupfile.c does
1403         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
1404         for the rare case of programs that want all their backup file
1405         names to live within 8+3 limits, and dos.m4 doesn't address that.
1406         * modules/backupfile (Files): Remove m4/dos.m4.
1407
1408 2011-02-24  Jim Meyering  <meyering@redhat.com>
1409
1410         strstr: fix a bug whereby strstr would mistakenly return NULL
1411         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
1412         in period calculation.
1413         (two_way_long_needle): Likewise.
1414         The original problem was reported by Mike Stump in
1415         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
1416         Ralf Wildenhues provided the short needle and haystack.
1417         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
1418         Add a more involved test to trigger the bug in two_way_long_needle.
1419
1420 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
1421
1422         gnulib-tool: remove use of bold display in help screen
1423         * gnulib-tool (func_usage): Do not use bold display anymore in the
1424         help screen.  That was just meant to be a temporary emphasis for a
1425         backward-incompatible change.
1426
1427 2011-02-23  Bruno Haible  <bruno@clisp.org>
1428
1429         Fix misindentation of preprocessor directives.
1430         * lib/argp-namefrob.h: Reindent preprocessor directives.
1431         * lib/getopt_int.h (struct _getopt_data): Likewise.
1432         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
1433         * lib/vasnprintf.c (decode_long_double): Likewise.
1434         * tests/test-argmatch.c: Insert blank lines, for clarity.
1435         * tests/test-exclude.c: Likewise.
1436
1437 2011-02-22  Bruno Haible  <bruno@clisp.org>
1438
1439         ioctl: Fix for MacOS X in 64-bit mode.
1440         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
1441         value.
1442         Suggested by Eric Blake.
1443         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
1444
1445 2011-02-22  Jim Meyering  <meyering@redhat.com>
1446
1447         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
1448         * Makefile (sc_cpp_indent_check): Don't limit the check to files
1449         in lib/.
1450
1451 2011-02-22  Eric Blake  <eblake@redhat.com>
1452
1453         maint: avoid any CDPATH issue
1454         * Makefile (sc_cpp_indent_check): Anchor cd argument.
1455
1456         maint: adjust cpp indentation for my modules, as well
1457         * Makefile (sc_cpp_indent_check): Add my name.
1458         * lib/fbufmode.c: Filter through cppi.
1459         * lib/fpurge.c: Likewise.
1460         * lib/freadable.c: Likewise.
1461         * lib/freading.c: Likewise.
1462         * lib/fwritable.c: Likewise.
1463         * lib/fwriting.c: Likewise.
1464         * lib/sigaction.c: Likewise.
1465
1466 2011-02-22  Jim Meyering  <meyering@redhat.com>
1467
1468         maint: adjust cpp indentation to reflect nesting depth
1469         I.e., in a block of code that begins with an unnested "#if",
1470         put one space between the "#" in column 1 and following token.
1471         For example,
1472         -#include <sys/vfs.h>
1473         +# include <sys/vfs.h>
1474         Do this only in .c files that are part of a module I maintain.
1475         * lib/linkat.c: Filter through cppi.
1476         * lib/nanosleep.c: Likewise.
1477         * lib/openat.c: Likewise.
1478         * lib/openat-die.c: Likewise.
1479         * lib/dup3.c: Likewise.
1480         * lib/fchownat.c: Likewise.
1481         * lib/flock.c: Likewise.
1482         * lib/fsync.c: Likewise.
1483         * lib/fts.c: Likewise.
1484         * lib/getpass.c: Likewise.
1485         * lib/gettimeofday.c: Likewise.
1486         * lib/userspec.c: Likewise.
1487         * Makefile (sc_cpp_indent_check): New rule, to check this.
1488
1489 2011-02-22  Bruno Haible  <bruno@clisp.org>
1490
1491         New module 'wctomb'.
1492         * lib/stdlib.in.h (wctomb): New declaration.
1493         * lib/wctomb.c: New file.
1494         * lib/wctomb-impl.h: New file.
1495         * m4/wctomb.m4: New file.
1496         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
1497         REPLACE_WCTOMB.
1498         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
1499         REPLACE_WCTOMB.
1500         * modules/wctomb: New file.
1501         * tests/test-stdlib-c++.cc: Test signature of wctomb.
1502         * doc/posix-functions/wctomb.texi: Mention the new module.
1503         * modules/wctob (Depends-on): Add wctomb.
1504
1505 2011-02-22  Bruno Haible  <bruno@clisp.org>
1506
1507         New module 'mbtowc'.
1508         * lib/stdlib.in.h (mbtowc): New declaration.
1509         * lib/mbtowc.c: New file.
1510         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
1511         * m4/mbtowc.m4: New file.
1512         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
1513         REPLACE_MBTOWC.
1514         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
1515         REPLACE_MBTOWC.
1516         * modules/mbtowc: New file.
1517         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
1518         * doc/posix-functions/mbtowc.texi: Mention the new module.
1519         * modules/btowc (Depends-on): Add mbtowc.
1520
1521 2011-02-22  Bruno Haible  <bruno@clisp.org>
1522
1523         wcrtomb: Add more tests for native Windows platforms.
1524         * tests/test-wcrtomb-w32-1.sh: New file.
1525         * tests/test-wcrtomb-w32-2.sh: New file.
1526         * tests/test-wcrtomb-w32-3.sh: New file.
1527         * tests/test-wcrtomb-w32-4.sh: New file.
1528         * tests/test-wcrtomb-w32-5.sh: New file.
1529         * tests/test-wcrtomb-w32.c: New file.
1530         * modules/wcrtomb-tests (Files): Add them.
1531         (Makefile.am): Arrange to run these tests.
1532         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
1533         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
1534
1535 2011-02-20  Bruno Haible  <bruno@clisp.org>
1536
1537         wcrtomb: Enhance test.
1538         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
1539
1540 2011-02-20  Bruno Haible  <bruno@clisp.org>
1541
1542         mbrtowc: Tiny optimization.
1543         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
1544
1545 2011-02-20  Jim Meyering  <meyering@redhat.com>
1546
1547         test-exclude.c: remove unmatched #endif
1548         * tests/test-exclude.c: Remove stray #endif, left over from
1549         the change of a week ago.
1550
1551 2011-02-19  Jim Meyering  <meyering@redhat.com>
1552
1553         git-version-gen: skip "-dirty" check when appropriate
1554         * build-aux/git-version-gen: Don't run any git commands when the
1555         version string comes from .tarball-version.  Prior to this, we
1556         would run git update-index --refresh even from a just-unpacked
1557         tarball directory, and that could affect a .git/ directory in a
1558         parent of the build directory.  Reported by Mike Frysinger.
1559
1560 2011-02-19  Bruno Haible  <bruno@clisp.org>
1561
1562         unictype/property-byname: Reduce the size of the 'data' segment.
1563         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
1564
1565 2011-02-19  Bruno Haible  <bruno@clisp.org>
1566
1567         unictype/scripts: Reduce the size of the 'data' segment.
1568         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
1569         '%pic'.
1570         * lib/unictype/scripts_byname.gperf: Regenerated.
1571
1572 2011-02-19  Bruno Haible  <bruno@clisp.org>
1573
1574         stdint: Update documentation.
1575         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
1576
1577 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
1578
1579         stdint: omit redundant check for wchar.h
1580         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
1581         always tests whether wchar.h exists, so remove the now-redundant test.
1582
1583 2011-02-18  Bruno Haible  <bruno@clisp.org>
1584
1585         stdint: Cut dependency to module 'wchar'.
1586         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
1587         include the necessary prerequisites.
1588         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
1589         * modules/stdint (Depends-on): Remove wchar.
1590         (Makefile.am): Substitute HAVE_WCHAR_H.
1591         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
1592
1593 2011-02-18  Eric Blake  <eblake@redhat.com>
1594
1595         longlong: skip, rather than fail, on cross-compilation
1596         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
1597         when cross-compiling; regression from 2011-02-16.
1598
1599 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
1600
1601         * NEWS: Mention 2011-02-08 change to stdlib.
1602
1603 2011-02-17  Bruno Haible  <bruno@clisp.org>
1604
1605         getloadavg: Add comments about platforms.
1606         * m4/getloadavg.m4: Add comment.
1607         * lib/getloadavg.c: Likewise.
1608
1609 2011-02-17  Bruno Haible  <bruno@clisp.org>
1610
1611         getloadavg: Fix link error on Solaris 2.6.
1612         * modules/getloadavg (Link): New section.
1613         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
1614         linking test-getloadavg.
1615         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
1616         getloadavg.
1617
1618 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
1619
1620         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
1621         It was 'int', but this doesn't match the IRIX 6.5 manual.
1622         Suggested by Bruno Haible in
1623         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
1624
1625 2011-02-17  Bruno Haible  <bruno@clisp.org>
1626
1627         havelib: Fix comments.
1628         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
1629         change.
1630
1631 2011-02-17  Bruno Haible  <bruno@clisp.org>
1632
1633         havelib: Update config.rpath.
1634         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
1635
1636 2011-02-17  Bruno Haible  <bruno@clisp.org>
1637
1638         getloadavg test: Add some plausibility checks.
1639         * tests/test-getloadavg.c (check_avg): Print a warning when the value
1640         is improbable.
1641
1642 2011-02-16  Eric Blake  <eblake@redhat.com>
1643
1644         maintainer-makefile: make syntax-check a no-op from tarballs
1645         * top/maint.mk (no-vc-detected): New rule.
1646         (local-checks-available): Use it to avoid hanging if someone tries
1647         'make syntax-check' from a tarball.  Also append to any non-syntax
1648         checks already defined in cfg.mk.
1649
1650 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
1651
1652         longlong: tune, particularly for common case of c99
1653
1654         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
1655         or running anything if c99, or if unsigned long long int does not
1656         work.  In either case, we know the answer without further tests.
1657         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
1658         it at most once, and use its results for both long long int and
1659         unsigned long long int.  This is more likely to be efficient in
1660         the common case where the program wants to check for both long
1661         long int and unsigned long long int.
1662         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
1663         since the answer is already known.
1664
1665 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
1666
1667         getloadavg: set errno
1668         * lib/getloadavg.c: Set errno when returning -1.  If no other
1669         error number looks appropriate, set it to ENOSYS if the getloadavg
1670         looks like it can't possibly ever work, ENOTSUP otherwise.
1671         Suggested by Bruno Haible in
1672         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
1673
1674         getloadavg: trim unused parts and speed up 'configure'
1675         * NEWS: Document this.
1676         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
1677         always compiled if getloadavg is absent.
1678         Move test code to ...
1679         * tests/test-getloadavg.c: New file, containing previous
1680         contents of test from lib/getloadavg.c.  It also contains
1681         suggestions by Bruno Haible in
1682         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
1683         * modules/getloadavg-tests: New file.
1684         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
1685         Do tests in the same order as they're needed for getloadavg.c.
1686         Omit setgid-related tests that generate symbols KMEM_GROUP,
1687         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
1688         Do only the tests that are needed to see whether the system has
1689         getloadavg, moving the other tests into ...
1690         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
1691         NLIST_NAME_UNION; nobody should be using it.  Do not define
1692         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
1693         relevant, as the user of this module shouldn't care how getloadavg
1694         is implemented.
1695
1696         getloadavg: omit unused var
1697         * lib/getloadavg.c (getloadavg): Omit unused local variable.
1698
1699 2011-02-15  Jim Meyering  <meyering@redhat.com>
1700
1701         doc: update users.txt
1702         * users.txt: Update iwhd's URL.
1703
1704 2011-02-13  Bruno Haible  <bruno@clisp.org>
1705
1706         Consistent macro naming for macros that use GCC __attribute__.
1707         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
1708         _ATTRIBUTE_NONNULL_.
1709         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
1710         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
1711         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
1712         ATTRIBUTE_DEPRECATED.
1713         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
1714         ATTRIBUTE_NORETURN.
1715         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
1716         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
1717         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
1718         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
1719         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
1720         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
1721         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
1722         ATTRIBUTE_SENTINEL.
1723         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
1724         ATTRIBUTE_RETURN_CHECK.
1725         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
1726         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
1727         ATTRIBUTE_NORETURN.
1728         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
1729         Reported by Paul Eggert.
1730
1731 2011-02-13  Bruno Haible  <bruno@clisp.org>
1732
1733         Don't interfere with a program's definition of __attribute__.
1734         * lib/argp.h (__attribute__): Remove definition.
1735         (_GL_ATTRIBUTE_FORMAT): New macro.
1736         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
1737         * lib/argp-fmtstream.h (__attribute__): Remove definition.
1738         (_GL_ATTRIBUTE_FORMAT): New macro.
1739         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
1740         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
1741         GCC 3 or newer.
1742         * lib/error.h (__attribute__): Remove definition.
1743         (_GL_ATTRIBUTE_FORMAT): New macro.
1744         (error, error_at_line): Use it.
1745         * lib/hash.h (__attribute__): Remove definition.
1746         (ATTRIBUTE_WUR): Update definition. Define always.
1747         * lib/openat.h (__attribute__): Remove definition.
1748         (ATTRIBUTE_NORETURN): Update definition. Define always.
1749         * lib/sigpipe-die.h (__attribute__): Remove definition.
1750         (ATTRIBUTE_NORETURN): Update definition. Define always.
1751         * lib/vasnprintf.h (__attribute__): Remove definition.
1752         (_GL_ATTRIBUTE_FORMAT): New macro.
1753         (asnprintf, vasnprintf): Use it.
1754         * lib/xalloc.h (__attribute__): Remove definition.
1755         (ATTRIBUTE_NORETURN): Update definition. Define always.
1756         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
1757         * lib/xmemdup0.h (__attribute__): Remove definition.
1758         (ATTRIBUTE_NORETURN): Update definition. Define always.
1759         * lib/xprintf.h (__attribute__): Remove definition.
1760         (_GL_ATTRIBUTE_FORMAT): New macro.
1761         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
1762         * lib/xstrtol.h (__attribute__): Remove definition.
1763         (ATTRIBUTE_NORETURN): Update definition. Define always.
1764         * lib/xvasprintf.h (__attribute__): Remove definition.
1765         (_GL_ATTRIBUTE_FORMAT): New macro.
1766         (xasprintf, xvasprintf): Use it.
1767         * tests/test-argmatch.c (__attribute__): Remove definition.
1768         (ATTRIBUTE_NORETURN): Update definition. Define always.
1769         * tests/test-exclude.c (__attribute__): Remove definition.
1770         (ATTRIBUTE_NORETURN): Update definition. Define always.
1771         Reported by Paul Eggert.
1772
1773 2011-02-13  Bruno Haible  <bruno@clisp.org>
1774
1775         mbrtowc: Add more tests for native Windows platforms.
1776         * tests/test-mbrtowc-w32-1.sh: New file.
1777         * tests/test-mbrtowc-w32-2.sh: New file.
1778         * tests/test-mbrtowc-w32-3.sh: New file.
1779         * tests/test-mbrtowc-w32-4.sh: New file.
1780         * tests/test-mbrtowc-w32-5.sh: New file.
1781         * tests/test-mbrtowc-w32.c: New file.
1782         * modules/mbrtowc-tests (Files): Add them.
1783         (Makefile.am): Arrange to run these tests.
1784         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
1785         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
1786
1787 2011-02-13  Bruno Haible  <bruno@clisp.org>
1788
1789         mbrtowc: Work around native Windows bug.
1790         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
1791         guess when no suitable locale for testing was found.
1792         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
1793
1794 2011-02-13  Bruno Haible  <bruno@clisp.org>
1795
1796         mbsinit: Work around mingw bug.
1797         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
1798         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
1799         Windows.
1800         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
1801
1802 2011-02-13  Bruno Haible  <bruno@clisp.org>
1803
1804         mbsinit: Don't crash for a NULL argument.
1805         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
1806         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
1807
1808 2011-02-13  Bruno Haible  <bruno@clisp.org>
1809
1810         Don't interfere with a program's definition of __attribute__.
1811         * lib/stdio.in.h (__attribute__): Remove definition.
1812         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
1813         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
1814         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
1815         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
1816         * lib/string.in.h (__attribute__): Remove definition.
1817         Reported by Paul Eggert.
1818
1819 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
1820
1821         stdlib: don't get in the way of non-GCC __attribute__
1822         See thread starting at
1823         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
1824         Revert previous stdlib change, installing the following instead:
1825         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
1826         to get in the way of a non-GCC compiler that supports __attribute__.
1827         (_GL_ATTRIBUTE_RETURN): New macro.
1828         (_Exit): Use it instead of __attribute__.
1829
1830 2011-02-12  Bruno Haible  <bruno@clisp.org>
1831
1832         quotearg test: Avoid test failure on mingw.
1833         * tests/test-quotearg.sh: Convert the locale identifier from native
1834         Windows syntax to Unix syntax.
1835
1836 2011-02-12  Bruno Haible  <bruno@clisp.org>
1837
1838         setlocale: Prefer gnulib's override over libintl's override.
1839         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
1840         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
1841         GNULIB_defined_setlocale is set.
1842
1843 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
1844
1845         stdlib: support non-GCC __attribute__
1846
1847         Fix a serious and tricky problem encountered when attempting to
1848         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
1849         5.5, but it crashed due to memory corruption on Solaris 10 with
1850         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
1851         bits that are otherwise zero.  This tagging is optional inside
1852         Emacs but is preferred and is used when __attribute__ ((__aligned
1853         (8))) works, as it does with both recent-enough GCC and with Sun C
1854         5.11.  However, Sun C 5.11 is not GCC and does not #define
1855         __GNUC__ and __GNUC_MINOR__.
1856
1857         When I added the getloadavg module to Emacs, it brought in
1858         stdlib.in.h, which contained this fragment:
1859
1860            #ifndef __attribute__
1861            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
1862            #  define __attribute__(Spec)   /* empty */
1863            # endif
1864            #endif
1865
1866         When files that include <stdlib.h> were compiled with Sun C 5.11,
1867         the above code disabled __attribute__ ((__aligned (8))), which
1868         caused variables to not be properly aligned, which eventually led
1869         to the pointer corruption mentioned above.  (This was a bit hard
1870         to diagnose, unfortunately.)
1871
1872         Several "#define __attribute__(X) /* empty */" code snippets need
1873         to be eradicated from Gnulib to work with non-GCC compilers that
1874         support __attribute__.  The Autoconf way to do this is to test for
1875         each kind of attribute that we want support for, and selectively
1876         enable that in source code.
1877
1878         Fix this problem just for stdlib.h, by adding a test for the
1879         __noreturn__ attribute, and change stdlib.in.h to use that test
1880         when needed.  This technique can be easily generalized to the
1881         other *.in.h files and attributes, and a similar technique can be
1882         used for *.h and *.c files.  This patch is enough to solve the
1883         problem for Emacs + getloadavg, and I thought I'd publish it for
1884         feedback before undertaking further, similar fixes in other
1885         modules.
1886
1887         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
1888         because it's not needed for stdlib.h.  It merely substitutes the
1889         value directly into stdlib.h.  We may well need to #define it, or
1890         similar symbols, for other modules, but it's nice to also have an
1891         option to not #define it for applications like Emacs that do not
1892         need it.
1893
1894         * lib/stdlib.in.h (__attribute__): Do not #define.
1895         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
1896         be defined only if the _Exit module is also used.
1897         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
1898         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
1899         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
1900         platforms.
1901         * modules/_Exit (Files): Add m4/attribute.m4.
1902         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
1903         * m4/attribute.m4: New file.
1904
1905 2011-02-12  Bruno Haible  <bruno@clisp.org>
1906
1907         wcsrtombs: Work around bug on native Windows.
1908         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
1909         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
1910         instead of len.
1911         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
1912
1913 2011-02-12  Bruno Haible  <bruno@clisp.org>
1914
1915         mbsrtowcs: Work around bug on native Windows.
1916         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
1917         against mingw bug.
1918         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
1919
1920 2011-02-12  Bruno Haible  <bruno@clisp.org>
1921
1922         Avoid setlocale bugs in tests.
1923         * modules/btowc (Dependencies): Add setlocale.
1924         * modules/c-strcase (Dependencies): Likewise.
1925         * modules/mbmemcasecmp (Dependencies): Likewise.
1926         * modules/mbmemcasecoll (Dependencies): Likewise.
1927         * modules/mbrtowc (Dependencies): Likewise.
1928         * modules/mbscasecmp (Dependencies): Likewise.
1929         * modules/mbscasestr (Dependencies): Likewise.
1930         * modules/mbschr (Dependencies): Likewise.
1931         * modules/mbscspn (Dependencies): Likewise.
1932         * modules/mbsinit (Dependencies): Likewise.
1933         * modules/mbsncasecmp (Dependencies): Likewise.
1934         * modules/mbsnrtowcs (Dependencies): Likewise.
1935         * modules/mbspbrk (Dependencies): Likewise.
1936         * modules/mbspcasecmp (Dependencies): Likewise.
1937         * modules/mbsrchr (Dependencies): Likewise.
1938         * modules/mbsrtowcs (Dependencies): Likewise.
1939         * modules/mbsspn (Dependencies): Likewise.
1940         * modules/mbsstr (Dependencies): Likewise.
1941         * modules/nl_langinfo (Dependencies): Likewise.
1942         * modules/quotearg (Dependencies): Likewise.
1943         * modules/unicase/locale-language (Dependencies): Likewise.
1944         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
1945         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
1946         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
1947         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
1948         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
1949         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
1950         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
1951         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
1952         * modules/vasnprintf-posix (Dependencies): Likewise.
1953         * modules/wcrtomb (Dependencies): Likewise.
1954         * modules/wcsnrtombs (Dependencies): Likewise.
1955         * modules/wcsrtombs (Dependencies): Likewise.
1956
1957 2011-02-12  Bruno Haible  <bruno@clisp.org>
1958
1959         setlocale: Workaround native Windows bug.
1960         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
1961         succeeds but sets LC_CTYPE to "C", report a failure.
1962         * tests/test-setlocale2.sh: New file.
1963         * tests/test-setlocale2.c: New file.
1964         * modules/setlocale-tests (Files): Add the new files.
1965         (Makefile.am): Enable test-setlocale2.sh test.
1966         * doc/posix-functions/setlocale.texi: Mention workaround.
1967
1968 2011-02-11  Bruno Haible  <bruno@clisp.org>
1969
1970         Tests for module 'setlocale'.
1971         * modules/setlocale-tests: New file.
1972         * tests/test-setlocale1.sh: New file.
1973         * tests/test-setlocale1.c: New file.
1974
1975         New module 'setlocale'.
1976         * lib/locale.in.h (setlocale): New declaration.
1977         * lib/setlocale.c: New file, based on
1978         gettext/gettext-runtime/intl/setlocale.c.
1979         * m4/setlocale.m4: New file.
1980         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
1981         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
1982         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
1983         REPLACE_SETLOCALE.
1984         * modules/setlocale: New file.
1985         * tests/test-locale-c++.cc: Test the declaration of setlocale.
1986         * doc/posix-functions/setlocale.texi: Mention the new module.
1987
1988 2011-02-11  Bruno Haible  <bruno@clisp.org>
1989
1990         Prepare for locale dependent tests on mingw.
1991         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
1992         because it has the wrong locale encoding.
1993         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
1994         French_France.1252 instead of "fr".
1995         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
1996         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
1997         because it has the wrong locale encoding.
1998         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
1999         native Windows, try Turkish_Turkey.65001.
2000         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
2001         Chinese_China.54936.
2002
2003         Prepare for locale dependent tests on mingw.
2004         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
2005         differently.
2006         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
2007         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
2008         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
2009         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
2010
2011 2011-02-11  Eric Blake  <eblake@redhat.com>
2012
2013         strptime: avoid compiler warnings
2014         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
2015         compiler warnings about dead code.
2016         Reported by Daniel P. Berrange.
2017
2018 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
2019
2020         doc: update users.txt
2021         * users.txt: Add rcs.
2022
2023 2011-02-10  John W. Eaton  <jwe@gnu.org>
2024
2025         doc: update users.txt
2026         * users.txt: Add octave.
2027
2028 2011-02-10  Jim Meyering  <meyering@redhat.com>
2029
2030         doc: update users.txt
2031         * users.txt: Add iwhd.
2032
2033 2011-02-09  Bruno Haible  <bruno@clisp.org>
2034
2035         gnulib-tool: Make copyright notice adjustment more robust.
2036         * gnulib-tool (func_import): In sed_transform_main_lib_file,
2037         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
2038         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
2039         License".
2040         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
2041
2042 2011-02-06  Bruno Haible  <bruno@clisp.org>
2043
2044         New module 'towctrans'.
2045         * modules/towctrans: New file.
2046         * lib/wctype.in.h (towctrans): New declaration.
2047         * lib/towctrans.c: New file.
2048         * lib/towctrans-impl.h: New file.
2049         * m4/towctrans.m4: New file.
2050         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
2051         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
2052         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
2053         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
2054         * doc/posix-functions/towctrans.texi: Mention the new module.
2055
2056 2011-02-06  Bruno Haible  <bruno@clisp.org>
2057
2058         New module 'wctrans'.
2059         * modules/wctrans: New file.
2060         * lib/wctype.in.h (wctrans): New declaration.
2061         * lib/wctrans.c: New file.
2062         * lib/wctrans-impl.h: New file.
2063         * m4/wctrans.m4: New file.
2064         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
2065         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
2066         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
2067         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
2068         * doc/posix-functions/wctrans.texi: Mention the new module.
2069
2070 2011-02-06  Bruno Haible  <bruno@clisp.org>
2071
2072         New module 'iswctype'.
2073         * modules/iswctype: New file.
2074         * lib/wctype.in.h (iswctype): New declaration.
2075         * lib/iswctype.c: New file.
2076         * lib/iswctype-impl.h: New file.
2077         * m4/iswctype.m4: New file.
2078         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
2079         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
2080         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
2081         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
2082         * doc/posix-functions/iswctype.texi: Mention the new module and the
2083         HP-UX 11.00 problem.
2084
2085 2011-02-06  Bruno Haible  <bruno@clisp.org>
2086
2087         New module 'wctype'.
2088         * modules/wctype: Change to represent the wctype() substitute.
2089         * lib/wctype.in.h (wctype): New declaration.
2090         * lib/wctype.c: New file.
2091         * lib/wctype-impl.h: New file.
2092         * m4/wctype.m4: New file.
2093         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
2094         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
2095         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
2096         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
2097         * doc/posix-functions/wctype.texi: Mention the new module and the
2098         HP-UX 11.00 problem.
2099
2100 2011-02-06  Bruno Haible  <bruno@clisp.org>
2101
2102         wctype-h: Ensure wctype_t and wctrans_t are defined.
2103         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
2104         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
2105         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
2106         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
2107         HAVE_WCTRANS_T.
2108         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
2109
2110 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
2111
2112         flock: fix license typo
2113
2114         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
2115         omitted.
2116
2117 2011-02-08  Bruno Haible  <bruno@clisp.org>
2118
2119         Split large sed scripts, for HP-UX sed.
2120         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
2121         to avoid HP-UX limit of 99 commands, in the near future.
2122         * modules/stdlib (Makefile.am): Likewise.
2123         * modules/unistd (Makefile.am): Likewise.
2124         * modules/wchar (Makefile.am): Likewise.
2125         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
2126         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
2127         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
2128
2129 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
2130             Bruno Haible  <bruno@clisp.org>
2131
2132         stdlib: improve random_r modularization
2133         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
2134         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
2135         you also need the random_r module to get this material right.
2136         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
2137         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
2138         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
2139
2140 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
2141
2142         stdlib: don't depend on stdint
2143         * lib/stdlib.in.h: Don't include <stdint.h> merely because
2144         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
2145         be independent of whether stdint.h is needed.
2146         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
2147         here, instead of ...
2148         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
2149         struct random_data should be using the random_r module, not just
2150         the stdlib module (which wouldn't make sense: what package needs
2151         just struct random_data without also needing random_r?).
2152         * modules/stdlib (Depends-on): Remove stdint.
2153
2154         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
2155         See the thread rooted at
2156         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
2157         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
2158         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
2159         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
2160         __VMS)); previously it was always included (via fcntl--.h).
2161         (getloadavg): Do not use c_strtod.  Instead, approximate it by
2162         hand; this is good enough for load averages.  Also, do not use
2163         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
2164         flags directly if available and don't bother otherwise.  (Packages
2165         that need the extra reliability should use the modules that define
2166         these flags on older platforms that lack them.)
2167         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
2168         fcntl-safer.
2169
2170 2011-02-08  Jim Meyering  <meyering@redhat.com>
2171
2172         di-set.h, ino-map.h: add multiple-inclusion guard
2173         Technically, the guard is required only for ino-map.h, due to its
2174         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
2175         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
2176         * lib/ino-map.h: Likewise.
2177
2178 2011-02-06  Bruno Haible  <bruno@clisp.org>
2179
2180         iswblank: Ensure declaration on glibc systems.
2181         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
2182         * modules/iswblank (Dependencies): Add 'extensions'.
2183         * doc/posix-functions/iswblank.texi: Document the glibc problem.
2184
2185 2011-02-06  Bruno Haible  <bruno@clisp.org>
2186
2187         New module 'iswblank'.
2188         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
2189         * modules/iswblank: New file.
2190         * modules/wctype-h (Files): Remove lib/iswblank.c.
2191         (Makefile.am): Substitute GNULIB_ISWBLANK.
2192         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
2193         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
2194         (gl_WCTYPE_H_DEFAULTS): New macro.
2195         (gl_WCTYPE_H): Require it. Remove iswblank related code.
2196         * modules/iswblank-tests: New file.
2197         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
2198         * tests/test-wctype-h.c (main): Remove iswblank tests.
2199         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
2200         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
2201         of 'wctype-h'.
2202         * NEWS: Mention the change.
2203         * modules/mbchar (Depends-on): Add iswblank.
2204
2205 2011-02-08  Bruno Haible  <bruno@clisp.org>
2206
2207         di-set tests: Refactor.
2208         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
2209         unnecessary includes.
2210         (ASSERT): Remove macro.
2211         (main): Make C90 compliant by avoiding variable declaration after
2212         statement.
2213         * modules/di-set-tests (Files): Add tests/macros.h.
2214
2215 2011-02-08  Bruno Haible  <bruno@clisp.org>
2216
2217         ino-map tests: Refactor.
2218         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
2219         unnecessary includes.
2220         (ASSERT): Remove macro.
2221         (main): Make C90 compliant by avoiding variable declaration after
2222         statement.
2223         * modules/ino-map-tests (Files): Add tests/macros.h.
2224
2225 2011-02-08  Jim Meyering  <meyering@redhat.com>
2226
2227         di-set: add "const" to a cast
2228         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
2229         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
2230
2231 2011-02-06  Bruno Haible  <bruno@clisp.org>
2232
2233         Rename module 'wctype' to 'wctype-h'.
2234         * modules/wctype-h: Renamed from modules/wctype.
2235         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
2236         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
2237         (Files, Depends-on, Makefile.am): Update.
2238         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
2239         (Files, Makefile.am): Update.
2240         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
2241         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
2242         * doc/posix-headers/wctype.texi: Update.
2243         * doc/posix-functions/iswalnum.texi: Update.
2244         * doc/posix-functions/iswalpha.texi: Update.
2245         * doc/posix-functions/iswblank.texi: Update.
2246         * doc/posix-functions/iswcntrl.texi: Update.
2247         * doc/posix-functions/iswdigit.texi: Update.
2248         * doc/posix-functions/iswgraph.texi: Update.
2249         * doc/posix-functions/iswlower.texi: Update.
2250         * doc/posix-functions/iswprint.texi: Update.
2251         * doc/posix-functions/iswpunct.texi: Update.
2252         * doc/posix-functions/iswspace.texi: Update.
2253         * doc/posix-functions/iswupper.texi: Update.
2254         * doc/posix-functions/iswxdigit.texi: Update.
2255         * doc/posix-functions/towlower.texi: Update.
2256         * doc/posix-functions/towupper.texi: Update.
2257         * NEWS: Mention the change.
2258         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
2259         * modules/mbchar (Dependencies): Likewise.
2260         * modules/mbswidth (Dependencies): Likewise.
2261         * modules/quotearg (Dependencies): Likewise.
2262         * modules/regex (Dependencies): Likewise.
2263         * modules/wcscasecmp (Dependencies): Likewise.
2264         * modules/wcsncasecmp (Dependencies): Likewise.
2265         * modules/wcwidth (Dependencies): Likewise.
2266
2267 2011-02-06  Bruno Haible  <bruno@clisp.org>
2268
2269         New module 'wcswidth'.
2270         * modules/wcswidth: New file.
2271         * lib/wchar.in.h (wcswidth): New declaration.
2272         * lib/wcswidth.c: New file.
2273         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
2274         * m4/wcswidth.m4: New file.
2275         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
2276         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
2277         REPLACE_WCSWIDTH.
2278         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
2279         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
2280         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
2281         * doc/posix-functions/wcswidth.texi: Mention the new module.
2282
2283 2011-02-06  Bruno Haible  <bruno@clisp.org>
2284
2285         New module 'wcstok'.
2286         * modules/wcstok: New file.
2287         * lib/wchar.in.h (wcstok): New declaration.
2288         * lib/wcstok.c: New file.
2289         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
2290         * m4/wcstok.m4: New file.
2291         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
2292         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
2293         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
2294         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
2295         * doc/posix-functions/wcstok.texi: Mention the new module.
2296
2297 2011-02-06  Bruno Haible  <bruno@clisp.org>
2298
2299         New module 'wcsstr'.
2300         * modules/wcsstr: New file.
2301         * lib/wchar.in.h (wcsstr): New declaration.
2302         * lib/wcsstr.c: New file.
2303         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
2304         * m4/wcsstr.m4: New file.
2305         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
2306         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
2307         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
2308         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
2309         * doc/posix-functions/wcsstr.texi: Mention the new module.
2310
2311 2011-02-06  Bruno Haible  <bruno@clisp.org>
2312
2313         New module 'wcspbrk'.
2314         * modules/wcspbrk: New file.
2315         * lib/wchar.in.h (wcspbrk): New declaration.
2316         * lib/wcspbrk.c: New file.
2317         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
2318         * m4/wcspbrk.m4: New file.
2319         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
2320         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
2321         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
2322         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
2323         * doc/posix-functions/wcspbrk.texi: Mention the new module.
2324
2325 2011-02-06  Bruno Haible  <bruno@clisp.org>
2326
2327         New module 'wcsspn'.
2328         * modules/wcsspn: New file.
2329         * lib/wchar.in.h (wcsspn): New declaration.
2330         * lib/wcsspn.c: New file.
2331         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
2332         * m4/wcsspn.m4: New file.
2333         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
2334         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
2335         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
2336         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
2337         * doc/posix-functions/wcsspn.texi: Mention the new module.
2338
2339 2011-02-06  Bruno Haible  <bruno@clisp.org>
2340
2341         New module 'wcscspn'.
2342         * modules/wcscspn: New file.
2343         * lib/wchar.in.h (wcscspn): New declaration.
2344         * lib/wcscspn.c: New file.
2345         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
2346         * m4/wcscspn.m4: New file.
2347         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
2348         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
2349         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
2350         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
2351         * doc/posix-functions/wcscspn.texi: Mention the new module.
2352
2353 2011-02-06  Bruno Haible  <bruno@clisp.org>
2354
2355         New module 'wcsrchr'.
2356         * modules/wcsrchr: New file.
2357         * lib/wchar.in.h (wcsrchr): New declaration.
2358         * lib/wcsrchr.c: New file.
2359         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
2360         * m4/wcsrchr.m4: New file.
2361         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
2362         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
2363         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
2364         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
2365         * doc/posix-functions/wcsrchr.texi: Mention the new module.
2366
2367 2011-02-06  Bruno Haible  <bruno@clisp.org>
2368
2369         New module 'wcschr'.
2370         * modules/wcschr: New file.
2371         * lib/wchar.in.h (wcschr): New declaration.
2372         * lib/wcschr.c: New file.
2373         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
2374         * m4/wcschr.m4: New file.
2375         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
2376         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
2377         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
2378         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
2379         * doc/posix-functions/wcschr.texi: Mention the new module.
2380
2381 2011-02-06  Bruno Haible  <bruno@clisp.org>
2382
2383         New module 'wcsdup'.
2384         * modules/wcsdup: New file.
2385         * lib/wchar.in.h (wcsdup): New declaration.
2386         * lib/wcsdup.c: New file.
2387         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
2388         * m4/wcsdup.m4: New file.
2389         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
2390         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
2391         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
2392         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
2393         * doc/posix-functions/wcsdup.texi: Mention the new module.
2394
2395 2011-02-06  Bruno Haible  <bruno@clisp.org>
2396
2397         New module 'wcsxfrm'.
2398         * modules/wcsxfrm: New file.
2399         * lib/wchar.in.h (wcsxfrm): New declaration.
2400         * lib/wcsxfrm.c: New file.
2401         * lib/wcsxfrm-impl.h: New file.
2402         * m4/wcsxfrm.m4: New file.
2403         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
2404         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
2405         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
2406         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
2407         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
2408
2409 2011-02-06  Bruno Haible  <bruno@clisp.org>
2410
2411         New module 'wcscoll'.
2412         * modules/wcscoll: New file.
2413         * lib/wchar.in.h (wcscoll): New declaration.
2414         * lib/wcscoll.c: New file.
2415         * lib/wcscoll-impl.h: New file.
2416         * m4/wcscoll.m4: New file.
2417         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
2418         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
2419         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
2420         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
2421         * doc/posix-functions/wcscoll.texi: Mention the new module.
2422
2423 2011-02-06  Bruno Haible  <bruno@clisp.org>
2424
2425         New module 'wcsncasecmp'.
2426         * modules/wcsncasecmp: New file.
2427         * lib/wchar.in.h (wcsncasecmp): New declaration.
2428         * lib/wcsncasecmp.c: New file.
2429         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
2430         * m4/wcsncasecmp.m4: New file.
2431         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
2432         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
2433         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
2434         HAVE_WCSNCASECMP.
2435         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
2436         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
2437
2438 2011-02-06  Bruno Haible  <bruno@clisp.org>
2439
2440         New module 'wcscasecmp'.
2441         * modules/wcscasecmp: New file.
2442         * lib/wchar.in.h (wcscasecmp): New declaration.
2443         * lib/wcscasecmp.c: New file.
2444         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
2445         * m4/wcscasecmp.m4: New file.
2446         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
2447         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
2448         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
2449         HAVE_WCSCASECMP.
2450         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
2451         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
2452
2453 2011-02-05  Bruno Haible  <bruno@clisp.org>
2454
2455         New module 'wcsncmp'.
2456         * modules/wcsncmp: New file.
2457         * lib/wchar.in.h (wcsncmp): New declaration.
2458         * lib/wcsncmp.c: New file.
2459         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
2460         * m4/wcsncmp.m4: New file.
2461         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
2462         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
2463         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
2464         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
2465         * doc/posix-functions/wcsncmp.texi: Mention the new module.
2466
2467 2011-02-05  Bruno Haible  <bruno@clisp.org>
2468
2469         New module 'wcscmp'.
2470         * modules/wcscmp: New file.
2471         * lib/wchar.in.h (wcscmp): New declaration.
2472         * lib/wcscmp.c: New file.
2473         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
2474         * m4/wcscmp.m4: New file.
2475         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
2476         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
2477         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
2478         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
2479         * doc/posix-functions/wcscmp.texi: Mention the new module.
2480
2481 2011-02-05  Bruno Haible  <bruno@clisp.org>
2482
2483         New module 'wcsncat'.
2484         * modules/wcsncat: New file.
2485         * lib/wchar.in.h (wcsncat): New declaration.
2486         * lib/wcsncat.c: New file.
2487         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
2488         * m4/wcsncat.m4: New file.
2489         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
2490         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
2491         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
2492         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
2493         * doc/posix-functions/wcsncat.texi: Mention the new module.
2494
2495 2011-02-05  Bruno Haible  <bruno@clisp.org>
2496
2497         New module 'wcscat'.
2498         * modules/wcscat: New file.
2499         * lib/wchar.in.h (wcscat): New declaration.
2500         * lib/wcscat.c: New file.
2501         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
2502         * m4/wcscat.m4: New file.
2503         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
2504         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
2505         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
2506         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
2507         * doc/posix-functions/wcscat.texi: Mention the new module.
2508
2509 2011-02-05  Bruno Haible  <bruno@clisp.org>
2510
2511         New module 'wcpncpy'.
2512         * modules/wcpncpy: New file.
2513         * lib/wchar.in.h (wcpncpy): New declaration.
2514         * lib/wcpncpy.c: New file.
2515         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
2516         * m4/wcpncpy.m4: New file.
2517         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
2518         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
2519         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
2520         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
2521         * doc/posix-functions/wcpncpy.texi: Mention the new module.
2522
2523 2011-02-05  Bruno Haible  <bruno@clisp.org>
2524
2525         New module 'wcsncpy'.
2526         * modules/wcsncpy: New file.
2527         * lib/wchar.in.h (wcsncpy): New declaration.
2528         * lib/wcsncpy.c: New file.
2529         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
2530         * m4/wcsncpy.m4: New file.
2531         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
2532         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
2533         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
2534         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
2535         * doc/posix-functions/wcsncpy.texi: Mention the new module.
2536
2537 2011-02-05  Bruno Haible  <bruno@clisp.org>
2538
2539         New module 'wcpcpy'.
2540         * modules/wcpcpy: New file.
2541         * lib/wchar.in.h (wcpcpy): New declaration.
2542         * lib/wcpcpy.c: New file.
2543         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
2544         * m4/wcpcpy.m4: New file.
2545         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
2546         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
2547         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
2548         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
2549         * doc/posix-functions/wcpcpy.texi: Mention the new module.
2550
2551 2011-02-05  Bruno Haible  <bruno@clisp.org>
2552
2553         New module 'wcscpy'.
2554         * modules/wcscpy: New file.
2555         * lib/wchar.in.h (wcscpy): New declaration.
2556         * lib/wcscpy.c: New file.
2557         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
2558         * m4/wcscpy.m4: New file.
2559         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
2560         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
2561         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
2562         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
2563         * doc/posix-functions/wcscpy.texi: Mention the new module.
2564
2565 2011-02-05  Bruno Haible  <bruno@clisp.org>
2566
2567         New module 'wcsnlen'.
2568         * modules/wcsnlen: New file.
2569         * lib/wchar.in.h (wcsnlen): New declaration.
2570         * lib/wcsnlen.c: New file.
2571         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
2572         * m4/wcsnlen.m4: New file.
2573         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
2574         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
2575         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
2576         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
2577         * doc/posix-functions/wcsnlen.texi: Mention the new module.
2578
2579 2011-02-05  Bruno Haible  <bruno@clisp.org>
2580
2581         New module 'wcslen'.
2582         * modules/wcslen: New file.
2583         * lib/wchar.in.h (wcslen): New declaration.
2584         * lib/wcslen.c: New file.
2585         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
2586         * m4/wcslen.m4: New file.
2587         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
2588         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
2589         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
2590         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
2591         * doc/posix-functions/wcslen.texi: Mention the new module.
2592
2593 2011-02-05  Bruno Haible  <bruno@clisp.org>
2594
2595         New module 'wmemset'.
2596         * modules/wmemset: New file.
2597         * lib/wchar.in.h (wmemset): New declaration.
2598         * lib/wmemset.c: New file.
2599         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
2600         * m4/wmemset.m4: New file.
2601         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
2602         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
2603         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
2604         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
2605         * doc/posix-functions/wmemset.texi: Mention the new module.
2606
2607 2011-02-05  Bruno Haible  <bruno@clisp.org>
2608
2609         New module 'wmemmove'.
2610         * modules/wmemmove: New file.
2611         * lib/wchar.in.h (wmemmove): New declaration.
2612         * lib/wmemmove.c: New file.
2613         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
2614         * m4/wmemmove.m4: New file.
2615         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
2616         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
2617         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
2618         HAVE_WMEMMOVE.
2619         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
2620         * doc/posix-functions/wmemmove.texi: Mention the new module.
2621
2622 2011-02-05  Bruno Haible  <bruno@clisp.org>
2623
2624         New module 'wmemcpy'.
2625         * modules/wmemcpy: New file.
2626         * lib/wchar.in.h (wmemcpy): New declaration.
2627         * lib/wmemcpy.c: New file.
2628         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
2629         * m4/wmemcpy.m4: New file.
2630         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
2631         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
2632         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
2633         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
2634         * doc/posix-functions/wmemcpy.texi: Mention the new module.
2635
2636 2011-02-05  Bruno Haible  <bruno@clisp.org>
2637
2638         New module 'wmemcmp'.
2639         * modules/wmemcmp: New file.
2640         * lib/wchar.in.h (wmemcmp): New declaration.
2641         * lib/wmemcmp.c: New file.
2642         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
2643         * m4/wmemcmp.m4: New file.
2644         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
2645         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
2646         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
2647         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
2648         * doc/posix-functions/wmemcmp.texi: Mention the new module.
2649
2650 2011-02-07  Jim Meyering  <meyering@redhat.com>
2651
2652         di-set, ino-map: new modules, from coreutils
2653         * lib/di-set.c: New file.
2654         * lib/di-set.h: Likewise.
2655         * lib/ino-map.c: Likewise.
2656         * lib/ino-map.h: Likewise.
2657         * modules/di-set: Likewise.
2658         * modules/di-set-tests: Likewise.
2659         * modules/ino-map: Likewise.
2660         * modules/ino-map-tests: Likewise.
2661         * tests/test-di-set.c: Likewise.
2662         * tests/test-ino-map.c: Likewise.
2663
2664 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
2665
2666         getloadavg: merge minor changes from Emacs
2667
2668         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
2669         (getloadavg): Use memset, not bzero.
2670
2671         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
2672         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
2673         clash (bug#86).
2674
2675 2010-11-14  Bruno Haible  <bruno@clisp.org>
2676
2677         Allow multiple gnulib generated replacements to coexist.
2678         * lib/getopt.in.h (struct option): Avoid identical redefinition.
2679         * lib/inttypes.in.h (imaxdiv_t): Likewise.
2680         * lib/langinfo.in.h (nl_item): Likewise.
2681         * lib/math.in.h (_NaN, NAN): Likewise.
2682         * lib/netdb.in.h (struct addrinfo): Likewise.
2683         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
2684         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
2685         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
2686         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
2687         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
2688         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
2689         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
2690         pthread_mutexattr_init, pthread_mutexattr_settype,
2691         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
2692         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
2693         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
2694         pthread_spin_trylock, pthread_spin_unlock): Likewise.
2695         * lib/sched.in.h (struct sched_param): Likewise.
2696         * lib/se-selinux.in.h (security_class_t, security_context_t,
2697         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
2698         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
2699         lsetfilecon, fsetfilecon, security_check_context,
2700         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
2701         Likewise.
2702         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
2703         Likewise.
2704         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
2705         _gl_function_taking_int_returning_void_t, union sigval,
2706         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
2707         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
2708         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
2709         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
2710         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
2711         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
2712         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
2713         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
2714         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
2715         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
2716         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
2717         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
2718         socklen_t, rpl_fd_isset): Likewise.
2719         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
2720         * lib/sys_time.in.h (struct timeval): Likewise.
2721         * lib/sys_times.in.h (struct tms): Likewise.
2722         * lib/sys_utsname.in.h (struct utsname):
2723         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
2724         * lib/unistd.in.h (getpagesize): Likewise.
2725         * lib/wchar.in.h (mbstate_t): Likewise.
2726         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
2727         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
2728         towlower, towupper): Likewise.
2729         Reported by Sam Steingold <sds@gnu.org>.
2730
2731 2011-02-05  Eric Blake  <eblake@redhat.com>
2732
2733         unsetenv: work around Haiku issues
2734         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
2735         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
2736
2737 2010-12-30  Bruce Korb  <bkorb@gnu.org>
2738
2739         libposix: avoid calling error() within libposix
2740         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
2741         is defined.
2742
2743 2011-02-05  Eric Blake  <eblake@redhat.com>
2744
2745         strerror_r-posix: port to cygwin
2746         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
2747         implementation.
2748         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
2749         * tests/test-strerror_r.c (main): Fix test.
2750         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
2751         issue.
2752
2753 2011-02-05  Bruno Haible  <bruno@clisp.org>
2754
2755         New module 'wmemchr'.
2756         * modules/wmemchr: New file.
2757         * lib/wchar.in.h (wmemchr): New declaration.
2758         * lib/wmemchr.c: New file.
2759         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
2760         * m4/wmemchr.m4: New file.
2761         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
2762         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
2763         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
2764         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
2765         * doc/posix-functions/wmemchr.texi: Mention the new module.
2766
2767 2011-02-04  Eric Blake  <eblake@redhat.com>
2768
2769         fdopendir: detect FreeBSD bug
2770         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
2771         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
2772
2773 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
2774
2775         stdbool: do not define HAVE_STDBOOL_H
2776         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
2777         AC_HEADER_STDBOOL.  All uses changed.  Do not define
2778         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
2779         imported from the latest Autoconf git.  It was motivated by Emacs,
2780         which uses gnulib but does not need HAVE_STDBOOL_H.
2781
2782 2011-02-04  Bruno Haible  <bruno@clisp.org>
2783
2784         wcsnrtombs: Prepare for new module wwcsnrtombs.
2785         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
2786         * lib/wcsnrtombs.c: Include it.
2787         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
2788
2789         wcsrtombs: Prepare for new module wwcsrtombs.
2790         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
2791         * lib/wcsrtombs.c: Include it.
2792         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
2793
2794         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
2795         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
2796         * lib/mbsnrtowcs.c: Include it.
2797         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
2798
2799         mbsrtowcs: Prepare for new module mbsrtowwcs.
2800         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
2801         * lib/mbsrtowcs.c: Include it.
2802         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
2803
2804 2011-02-04  Bruno Haible  <bruno@clisp.org>
2805
2806         vasnprintf: Reduce use of malloc for small format strings.
2807         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
2808         (arguments): Add room for the first 7 arguments.
2809         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
2810         (char_directives, u8_directives, u16_directives, u32_directives): Add
2811         room for the first 7 directives.
2812         * lib/printf-parse.c: Include <string.h>.
2813         (PRINTF_PARSE): Change memory handling code so that it uses the first
2814         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
2815         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
2816         Reported by Pádraig Brady <P@draigbrady.com>.
2817
2818 2011-01-31  Eric Blake  <eblake@redhat.com>
2819
2820         dup2: work around Haiku bug
2821         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
2822         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
2823         * doc/posix-functions/dup2.texi (dup2): Document the bug.
2824         * tests/test-dup2.c (main): Enhance test.
2825
2826 2011-01-31  Simon Josefsson  <simon@josefsson.org>
2827
2828         doc: off_t is not available in eglibc 2.11.2 stdio.h.
2829         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
2830         declared by eglibc 2.11.2.
2831         * lib/stdio.in.h: Likewise.
2832
2833 2011-01-31  Eric Blake  <eblake@redhat.com>
2834
2835         ignore-value: add missing test dependency
2836         * tests/test-ignore-value.c: Revert previous change; stdio.h
2837         provides off_t.
2838         * modules/ignore-value-tests (Depends-on): Add missing dependency.
2839
2840 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
2841
2842         mktime: clarify long_int width checking
2843         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
2844         the top level, to make it clearer that the assumption about
2845         long_int width is being checked.  See
2846         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
2847
2848 2011-01-30  Simon Josefsson  <simon@josefsson.org>
2849
2850         ignore-value: Fix self-test.
2851         * tests/test-ignore-value.c: Include sys/types.h for off_t.
2852
2853 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
2854
2855         TYPE_MAXIMUM: avoid theoretically undefined behavior
2856         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
2857         negative number, which the C Standard says has undefined behavior.
2858         In practice this is not a problem, but might as well do it by the book.
2859         Reported by Rich Felker and Eric Blake; see
2860         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
2861         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
2862         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
2863         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
2864         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
2865         * m4/stdint.m4 (gl_STDINT_H): Likewise.
2866         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
2867
2868         mktime: #undef mktime before #defining it
2869         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
2870
2871         mktime: systematically normalize tm_isdst comparisons
2872         * lib/mktime.c (isdst_differ): New function.
2873         (__mktime_internal): Use it systematically for all isdst comparisons.
2874         This completes the fix for libc BZ #6723, and removes the need for
2875         normalizing tm_isdst.  See
2876         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
2877         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
2878
2879         mktime: fix some integer overflow issues and sidestep the rest
2880
2881         This was prompted by a bug report by Benjamin Lindner for MinGW
2882         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
2883         His bug is due to signed integer overflow (0 - INT_MIN), and I
2884         I scanned through mktime.c looking for other integer overflow
2885         problems, fixing all the bugs I found.
2886
2887         Although the C Standard says the resulting code is still not safe
2888         in the presence of integer overflow, in practice it should be good
2889         enough for all real-world two's-complement implementations, except
2890         for debugging environments that deliberately trap on integer
2891         overflow (e.g., gcc -ftrapv).
2892
2893         * lib/mktime.c (WRAPV): New macro.
2894         (SHR): Also check that long_int and time_t shift right in the
2895         usual way, before using the fast-but-unportable method.
2896         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
2897         used.  The code already assumed two's complement, so there's
2898         no need to test for alternatives.  All uses removed.
2899         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
2900         the C standard.  Problem reported by Rich Felker in
2901         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
2902         (twos_complement_arithmetic): Also check long_int and time_t.
2903         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
2904         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
2905         (__mktime_internal): Avoid integer overflow with unary subtraction
2906         in two instances where -1 - X is an adequate replacement for -X,
2907         since the calculations are approximate.
2908
2909 2011-01-29  Eric Blake  <eblake@redhat.com>
2910
2911         mktime: avoid infinite loop
2912         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
2913         type; behavior is still undefined but portable to all known targets.
2914         Reported by Rich Felker.
2915
2916 2011-01-29  Simon Josefsson  <simon@josefsson.org>
2917
2918         rename, unlink, same-inode: Relicense.
2919         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
2920         * modules/unlink (License): Likewise.
2921         * modules/same-inode (License): Likewise.
2922
2923 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
2924
2925         mktime: avoid problems on NetBSD 5 / i386
2926         * lib/mktime.c (long_int): New type.  This works around a problem
2927         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
2928         but time_t is 64 bits, and where I expect the existing code is
2929         wrong in some cases.
2930         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
2931         (ydhms_diff): Bring back the compile-time check for wide-enough
2932         year and yday.
2933
2934         mktime: fix misspelling in comment
2935         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
2936         This merges all recent glibc changes of importance.
2937
2938 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2939
2940         move-if-change: cope with concurrent mv of identical file.
2941         * build-aux/move-if-change (CMPPROG): Accept environment
2942         variable as an override for `cmp'.
2943         (usage): Document CMPPROG.
2944         Adjust comparison to drop stdout.  Cope with failure of mv if
2945         the target file exists and is identical to the source, for
2946         parallel builds.
2947         Report from H.J. Lu against binutils in PR binutils/12283.
2948
2949 2011-01-28  Bruce Korb  <bkorb@gnu.org>
2950
2951         * users.txt: Mention sharutils.
2952
2953 2011-01-28  Simon Josefsson  <simon@josefsson.org>
2954
2955         * users.txt: Mention OATH Toolkit.
2956
2957 2011-01-27  Bruno Haible  <bruno@clisp.org>
2958
2959         Prepare for supporting FreeBSD 10.
2960         * build-aux/config.libpath: Remove handling of freebsd1*.
2961
2962 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
2963
2964         Prepare for supporting FreeBSD 10.
2965         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
2966         match FreeBSD 10.0.
2967
2968 2011-01-27  Bruno Haible  <bruno@clisp.org>
2969
2970         vma-iter, get-rusage-as: Add OpenBSD support.
2971         * modules/vma-iter (configure.ac): Test for mquery.
2972         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
2973         * lib/vma-iter.c: Include <sys/mman.h>.
2974         (vma_iterate): Add an implementation based on mquery().
2975         * lib/resource-ext.h (get_rusage_as): Update comments.
2976         * lib/get-rusage-as.c: Likewise.
2977         * lib/get-rusage-data.c: Likewise.
2978
2979 2011-01-26  Karl Berry  <karl@gnu.org>
2980
2981         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
2982         variables to make it easier to override the makeinfo program used.
2983
2984 2011-01-26  Eric Blake  <eblake@redhat.com>
2985
2986         fcntl: work around Haiku F_DUPFD bugs
2987         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
2988         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
2989         cloexec bit on duplication.
2990         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
2991
2992 2011-01-26  Bruno Haible  <bruno@clisp.org>
2993
2994         Enable memory leak tests on AIX.
2995         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
2996         * tests/test-fprintf-posix3.c (main): Likewise.
2997
2998 2011-01-26  Bruno Haible  <bruno@clisp.org>
2999
3000         Tests for module 'get-rusage-data'.
3001         * modules/get-rusage-data-tests: New file.
3002         * tests/test-get-rusage-data.c: New file.
3003
3004         New module 'get-rusage-data'.
3005         * lib/resource-ext.h (get_rusage_data): New declaration.
3006         * lib/get-rusage-data.c: New file.
3007         * modules/get-rusage-data: New file.
3008
3009 2011-01-25  Bruno Haible  <bruno@clisp.org>
3010
3011         get-rusage-as: Allow for easier testing.
3012         * lib/resource-ext.h (get_rusage_as): Add comment.
3013         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
3014         (main): New function for interactive testing.
3015
3016 2011-01-25  Bruno Haible  <bruno@clisp.org>
3017
3018         vma-iter: Treat Haiku like BeOS.
3019         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
3020         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
3021
3022 2011-01-25  Eric Blake  <eblake@redhat.com>
3023
3024         c-stack: fix regression on cygwin when libsigsegv is present
3025         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
3026
3027 2011-01-24  Bruno Haible  <bruno@clisp.org>
3028
3029         vma-iter: Avoid empty intervals.
3030         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
3031         on an empty interval.
3032
3033 2011-01-24  Jim Meyering  <meyering@redhat.com>
3034
3035         u64: remove unnecessary #include
3036         * lib/u64.h: Don't include <stddef.h>.  It was not used.
3037
3038 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
3039
3040         Allow the user to avoid the HAVE_RAW_DECL_* macros.
3041         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
3042
3043 2011-01-23  Bruno Haible  <bruno@clisp.org>
3044
3045         New module 'vma-iter'.
3046         * lib/vma-iter.h: New file.
3047         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
3048         * modules/vma-iter: New file.
3049         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
3050         for get_rusage_as_via_iterator.
3051         (vma_iterate_callback): New function.
3052         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
3053         * modules/get-rusage-as (Depends-on): Add vma-iter.
3054
3055 2011-01-23  Bruno Haible  <bruno@clisp.org>
3056
3057         uninorm: Tweak includes.
3058         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
3059         Reported by Jim Meyering.
3060
3061 2011-01-23  Bruno Haible  <bruno@clisp.org>
3062
3063         get-rusage-as: Improve on NetBSD.
3064         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
3065         /proc, like on FreeBSD.
3066
3067 2011-01-23  Jim Meyering  <meyering@redhat.com>
3068
3069         xreadlink.h: remove unnecessary #include
3070         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
3071
3072         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
3073         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
3074
3075 2011-01-23  Bruno Haible  <bruno@clisp.org>
3076
3077         get-rusage-as: Fix bug.
3078         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
3079         original limit when aborting the first loop.
3080
3081 2011-01-23  Bruno Haible  <bruno@clisp.org>
3082
3083         wctype: Ensure valid C syntax.
3084         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
3085         unconditionally, instead of gl_NEXT_HEADERS conditionally.
3086
3087 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
3088
3089         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
3090         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
3091         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
3092         as they are needed only for configure's test case.
3093         This removes two unnecessary symbols from config.h.
3094
3095         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
3096         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
3097         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
3098         AC_CHECK_HEADERS_ONCE on a header that we also invoke
3099         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
3100         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
3101         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
3102         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
3103         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
3104         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3105         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
3106         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
3107         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
3108         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
3109         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
3110         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3111         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
3112         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
3113
3114 2011-01-21  Eric Blake  <eblake@redhat.com>
3115
3116         maintainer-makefile: work with older git for submodule check
3117         * top/maint.mk (public-submodule-commit): Rewrite to avoid
3118         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
3119         Reported by Matthias Bolte.
3120
3121         bootstrap: minor portability fixes
3122         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
3123         (usage): Omit leading capital and trailing . on help phrases, per
3124         GNU Coding Standards.
3125         (check_versions, top level): Prefix messages with script name.
3126
3127 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
3128
3129         bootstrap: support --no-git option
3130         * build-aux/bootstrap: Add --no-git option, to be used when
3131         --gnulib-srcdir points to the exact desired checkout.
3132
3133 2011-01-21  Eric Blake  <eblake@redhat.com>
3134
3135         strerror_r-posix: work with glibc 2.13
3136         * lib/strerror_r.c (strerror_r): Fix return type.
3137
3138 2011-01-21  Pádraig Brady  <P@draigBrady.com>
3139             Bruno Haible  <bruno@clisp.org>
3140
3141         uN_strstr: New unit tests.
3142         * modules/unistr/u8-strstr-tests: New file.
3143         * modules/unistr/u16-strstr-tests: New file.
3144         * modules/unistr/u32-strstr-tests: New file.
3145         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
3146         * tests/unistr/test-u8-strstr.c: New file.
3147         * tests/unistr/test-u16-strstr.c: New file.
3148         * tests/unistr/test-u32-strstr.c: New file.
3149
3150 2011-01-21  Pádraig Brady  <P@draigBrady.com>
3151             Bruno Haible  <bruno@clisp.org>
3152
3153         Make uN_strstr functions O(n) worst-case.
3154         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
3155         16-bit and 32-bit unit cases, use the unibyte algorithm from
3156         lib/mbsstr.c.
3157         * lib/unistr/u8-strstr.c: Include <string.h>.
3158         (UNIT_IS_UINT8_T): New macro.
3159         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
3160         (U_STRLEN, U_STRNLEN): New macros.
3161         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
3162         (U_STRLEN, U_STRNLEN): New macros.
3163         * modules/unistr/u8-strstr (Depends-on): Add strstr.
3164         (configure.ac): Update required libunistring version.
3165         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
3166         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
3167         malloca.
3168         (configure.ac): Update required libunistring version.
3169         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
3170         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
3171         malloca.
3172         (configure.ac): Update required libunistring version.
3173
3174 2011-01-21  Pádraig Brady  <P@draigBrady.com>
3175             Bruno Haible  <bruno@clisp.org>
3176
3177         Prepare for faster uN_strstr functions.
3178         * lib/str-kmp.h: Support definable UNITs.
3179         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
3180         needle_len argument.
3181         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
3182         * lib/mbscasestr.c (mbscasestr): Likewise.
3183
3184 2011-01-21  Pádraig Brady <P@draigBrady.com>
3185
3186         malloca-tests: make faster by unsetting MALLOC_PERTURB_
3187         * tests/test-malloca.c (main): Unset the environment variable
3188         to greatly speed up the test.
3189         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
3190         * modules/malloca-tests: Depend on unsetenv.
3191
3192 2011-01-21  Pádraig Brady <P@draigBrady.com>
3193
3194         ignore-value: remove stdint dependency
3195         * lib/ignore-value.h: Remove <stdint.h>
3196         * modules/ignore-value: Remove stdint dependency.
3197
3198 2011-01-21  Jim Meyering  <meyering@redhat.com>
3199
3200         maint.mk: adjust variable name to be consistent with other gl_ vars
3201         * top/maint.mk (gl_public_submodule_commit): Rename the variable
3202         to be lower case.
3203
3204 2011-01-20  Jim Meyering  <meyering@redhat.com>
3205
3206         maint.mk: make "check" depend on public-submodule-commit by default
3207         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
3208
3209 2011-01-20  Bruno Haible  <bruno@clisp.org>
3210
3211         mbfile, mbiter: Complete change from 2008-12-21.
3212         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
3213         * m4/mbiter.m4 (gl_MBITER): Likewise.
3214
3215 2011-01-20  Jim Meyering  <meyering@redhat.com>
3216
3217         init.sh: insert space between each function name and "()"
3218         * tests/init.sh: Make it a little easier to see that a function's
3219         name is "warn_", and not "warn" when looking at the first part of
3220         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
3221
3222 2011-01-20  Jim Meyering  <meyering@redhat.com>
3223
3224         mountlist: clean up code formatting
3225         * lib/mountlist.c (read_file_system_list): Split a long line,
3226         correct bracing style, use NULL in place of "(struct statfs *)0",
3227         don't parenthesize return value, add spaces around "=" and after
3228         ";-in-for-stmt".
3229
3230 2011-01-14  Markus Duft <mduft@gentoo.org>
3231
3232         mountlist: add support for Interix
3233         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
3234         Apply statvfs to all entries of /dev/fs.
3235         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
3236         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
3237
3238 2011-01-20  Jim Meyering  <meyering@redhat.com>
3239
3240         maint.mk: improve the public-submodule-commit rule
3241         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
3242         to suppress printing of its commands... unless V=1.
3243         Add git submodule's --quiet option to suppress printing of e.g.,
3244         "Entering gnulib" output.
3245         "cd" into $(srcdir) before running git submodule.
3246
3247 2011-01-20  Bruno Haible  <bruno@clisp.org>
3248
3249         include_next: Fix bug introduced on 2011-01-18.
3250         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
3251         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
3252         ac_cv_header_... variable if the second argument is not 'check'.
3253         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
3254         gl_NEXT_HEADERS_INTERNAL.
3255
3256 2011-01-20  Bruno Haible  <bruno@clisp.org>
3257
3258         Allow the user to avoid the GNULIB_TEST_* macros.
3259         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
3260         Suggested by Paul Eggert.
3261
3262 2011-01-14  Jim Meyering  <meyering@redhat.com>
3263
3264         bootstrap: avoid failure when there is no .gitmodules file
3265         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
3266         has been assigned to, even when its value is the empty string.
3267         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
3268         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
3269         Reported by John W. Eaton <jwe@gnu.org>.
3270
3271 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
3272
3273         assume <ctype.h>, ..., <time.h> exist
3274         For years gnulib has been assuming the existence of the headers
3275         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
3276         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
3277         them, since they don't appear to be needed.
3278         * README (Portability guidelines): Document this.
3279         * lib/flock.c: Assume <fcntl.h> exists.
3280         * lib/regex_internal.h: Assume <locale.h> exists.
3281         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
3282         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
3283         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
3284         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
3285         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
3286         * m4/regex.m4 (gl_REGEX): Likewise.
3287         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
3288         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
3289         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
3290         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
3291         * tests/test-argp.c: Likewise.
3292         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
3293
3294         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
3295         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
3296         AA_APPLE_UNIVERSAL_BUILD.  See
3297         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
3298         * NEWS: Document this.
3299
3300 2011-01-19  Eric Blake  <eblake@redhat.com>
3301
3302         c-stack: assume stack overflow if SA_SIGINFO unsupported
3303         * lib/c-stack.c (SIGACTION_WORKS): Rename...
3304         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
3305         sigaction will work.
3306         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
3307         behavior match Linux.
3308         * tests/test-c-stack.c (main): Prefer NULL for pointers.
3309
3310         stdbool-tests: accomodate Haiku
3311         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
3312
3313         binary-io: fix O_TEXT on Haiku
3314         * modules/binary-io (Depends-on): Add fcntl-h.
3315         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
3316         than blindly undefining O_TEXT.
3317         Reported by Scott McCreary.
3318
3319 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
3320
3321         include_next: do not check for standard headers like stddef.h
3322
3323         I found this problem when modifying Emacs to use gnulib.
3324         I noticed that it added HAVE_STDDEF_H to config.h, even though
3325         gnulib always assumes <stddef.h> exists as per README and this
3326         symbol is unnecessary.
3327         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
3328         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
3329         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
3330         faster for headers like stddef.h that are known to exist.
3331         (gl_CHECK_NEXT_HEADERS): Use it.
3332         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
3333         rather than gl_CHECK_NEXT_HEADERS.
3334         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
3335         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
3336
3337 2011-01-18  Eric Blake  <eblake@redhat.com>
3338
3339         ansi-c++-opt: skip C++ dependency style if C++ is unused
3340         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
3341         tests when we know C++ compilation is not desired.
3342         Reported by Scott McCreary.
3343
3344 2011-01-18  Bruno Haible  <bruno@clisp.org>
3345
3346         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
3347         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
3348         (main): Perform test also when getrlimit and setrlimit don't exist or
3349         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
3350         limiting the address space size using setrlimit, compare the address
3351         space size before and after the the test.
3352         * tests/test-dprintf-posix2.c: Likewise.
3353         * tests/test-fprintf-posix3.sh: Update skip messages.
3354         * tests/test-dprintf-posix2.sh: Likewise.
3355         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
3356         * modules/dprintf-posix-tests (Depends-on): Likewise.
3357         Reported by Bruce Korb <bkorb@gnu.org> and
3358         Gary V. Vaughan <gary@gnu.org>.
3359
3360 2011-01-18  Bruno Haible  <bruno@clisp.org>
3361
3362         get-rusage-as: Improvement for Cygwin.
3363         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
3364         areas that are merely reserved.
3365
3366 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
3367
3368         strftime: remove dependencies on multibyte modules
3369
3370         strftime depended on mbrlen, mbsinit, and wchar, but these modules
3371         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
3372         only if __osf__ is defined, and I suspect OSF doesn't need these
3373         other modules.  If my guess is wrong, we'll need to come up with a
3374         variant of strftime that doesn't need the multibyte modules.
3375
3376         I discovered this problem when attempting modify Emacs to use the
3377         strftime module.  With the previous gnulib, this caused Emacs to
3378         need 31 new files, ranging from lib/config.charset to
3379         m4/wint_t.m4.  This was overkill and I expect would be offputting
3380         to the Emacs maintainers.  After this change, only 6 new files are
3381         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
3382         stdbool.m4, and tm_gmtoff.m4.
3383
3384         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
3385         Suggested by Bruno Haible in
3386         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
3387         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
3388         and do not check for wchar.h.
3389         * modules/strftime (Files): Remove m4/mbstate_t.m4.
3390         (Depends-on): Remove mbrlen, mbsinit, wchar.
3391
3392 2011-01-18  Bruno Haible  <bruno@clisp.org>
3393
3394         Tests for module 'get-rusage-as'.
3395         * modules/get-rusage-as-tests: New file.
3396         * tests/test-get-rusage-as.c: New file.
3397
3398         New module 'get-rusage-as'.
3399         * modules/get-rusage-as: New file.
3400         * lib/resource-ext.h: New file.
3401         * lib/get-rusage-as.c: New file.
3402
3403 2011-01-17  Eric Blake  <eblake@redhat.com>
3404
3405         sigaction: relax license from LGPLv3+ to LGPLv2+
3406         * modules/sigaction (License): Relax to LGPLv2+.
3407
3408 2011-01-14  Bruno Haible  <bruno@clisp.org>
3409
3410         filemode: Make function declarations usable in C++ mode.
3411         * lib/filemode.h: Enclose function declarations in extern "C" block.
3412         Reported by John W. Eaton <jwe@gnu.org>.
3413
3414 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
3415
3416         save-cwd: no longer include "xgetcwd.h"
3417         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
3418         This avoids a compilation failure in projects that use save-cwd
3419         without also using the xgetcwd module.
3420
3421 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
3422
3423         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
3424         This is so that a program like Emacs, which needs only dtoastr,
3425         does not have to bother with distributing and compiling ftoastr
3426         and ldtoastr.
3427         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
3428         * modules/dtoastr, modules/ldtoastr: New files.
3429         * modules/ftoastr: Now works just for 'float'.
3430         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
3431         (Makefile.am): Remove ftoastr.h (not needed and no effect),
3432         dtoastr.c, ldtoastr.c.
3433
3434 2011-01-11  Jim Meyering  <meyering@redhat.com>
3435
3436         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
3437         There is no need to work around the lack of the fchdir function,
3438         since gnulib can now provide a replacement when required.
3439         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
3440         * modules/save-cwd (Depends-on): Add fchdir.
3441
3442 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
3443
3444         openat, save-cwd: avoid xmalloc
3445
3446         This removes a direct (but undocumented) dependency of openat on
3447         xalloc, along with an indirect dependency via save-cwd.  It also
3448         removes a dependency of save-cwd on xgetcwd, and thereby
3449         indirectly on xalloc.  This change causes the openat substitute
3450         to fall back on save_cwd when memory is tight, and for save_cwd to
3451         fail instead of dying when memory is tight, but that's good enough.
3452         Problem and initial idea for fix reported by Bastien Roucaries in
3453         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
3454
3455         * lib/openat-proc.c: Include stdlib.h (for malloc), not
3456         xalloc.h (for xmalloc).
3457         (openat_proc_name): Use malloc, not xmalloc.
3458         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
3459         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
3460
3461         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
3462         This avoids heap allocation for file names whose lengths are in
3463         the range 512..1023, with the upper bound increasing to at most
3464         4031 depending on the platform's PATH_MAX.  (We do not want
3465         pathmax.h here as it might supply a non-constant PATH_MAX.)
3466         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
3467         Perhaps they should be moved to malloca.h?
3468         (OPENAT_BUFFER_SIZE): Use them.
3469
3470 2011-01-10  Bruno Haible  <bruno@clisp.org>
3471
3472         doc: Update users.txt.
3473         * users.txt: Add recutils.
3474
3475 2011-01-09  Karl Berry  <karl@gnu.org>
3476
3477         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
3478
3479         * doc/configmake.texi: New file.
3480         * doc/gnulib.texi: Include it.
3481         * modules/configmake: Move documentation from here.
3482
3483 2011-01-09  Bruno Haible  <bruno@clisp.org>
3484
3485         Update to Unicode 6.0.0.
3486         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
3487         (get_lbp): Update for Unicode 6.0.0.
3488         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
3489         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
3490         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
3491         U+11001, U+11038..U+11046. Remove U+06DE.
3492         (uc_width): Fix bounds of planes.
3493         * tests/uniwidth/test-uc_width2.sh: Same updates as in
3494         lib/uniwidth/width.c.
3495         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
3496         trailing whitespace removed.
3497         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
3498         without comments, but with the original copyright notice.
3499         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
3500         * lib/unicase/ignorable.h: Likewise.
3501         * lib/unicase/tocasefold.h: Likewise.
3502         * lib/unicase/tolower.h: Likewise.
3503         * lib/unicase/totitle.h: Likewise.
3504         * lib/unicase/toupper.h: Likewise.
3505         * lib/unictype/bidi_of.h: Likewise.
3506         * lib/unictype/blocks.h: Likewise.
3507         * lib/unictype/categ_C.h: Likewise.
3508         * lib/unictype/categ_Cn.h: Likewise.
3509         * lib/unictype/categ_L.h: Likewise.
3510         * lib/unictype/categ_Ll.h: Likewise.
3511         * lib/unictype/categ_Lm.h: Likewise.
3512         * lib/unictype/categ_Lo.h: Likewise.
3513         * lib/unictype/categ_Lu.h: Likewise.
3514         * lib/unictype/categ_M.h: Likewise.
3515         * lib/unictype/categ_Mc.h: Likewise.
3516         * lib/unictype/categ_Me.h: Likewise.
3517         * lib/unictype/categ_Mn.h: Likewise.
3518         * lib/unictype/categ_N.h: Likewise.
3519         * lib/unictype/categ_Nd.h: Likewise.
3520         * lib/unictype/categ_No.h: Likewise.
3521         * lib/unictype/categ_P.h: Likewise.
3522         * lib/unictype/categ_Po.h: Likewise.
3523         * lib/unictype/categ_S.h: Likewise.
3524         * lib/unictype/categ_Sc.h: Likewise.
3525         * lib/unictype/categ_Sk.h: Likewise.
3526         * lib/unictype/categ_Sm.h: Likewise.
3527         * lib/unictype/categ_So.h: Likewise.
3528         * lib/unictype/categ_of.h: Likewise.
3529         * lib/unictype/combining.h: Likewise.
3530         * lib/unictype/ctype_alnum.h: Likewise.
3531         * lib/unictype/ctype_alpha.h: Likewise.
3532         * lib/unictype/ctype_graph.h: Likewise.
3533         * lib/unictype/ctype_lower.h: Likewise.
3534         * lib/unictype/ctype_print.h: Likewise.
3535         * lib/unictype/ctype_punct.h: Likewise.
3536         * lib/unictype/ctype_upper.h: Likewise.
3537         * lib/unictype/decdigit.h: Likewise.
3538         * lib/unictype/digit.h: Likewise.
3539         * lib/unictype/numeric.h: Likewise.
3540         * lib/unictype/pr_alphabetic.h: Likewise.
3541         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
3542         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
3543         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
3544         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
3545         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
3546         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
3547         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
3548         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
3549         * lib/unictype/pr_case_ignorable.h: Likewise.
3550         * lib/unictype/pr_cased.h: Likewise.
3551         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
3552         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
3553         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
3554         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
3555         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
3556         * lib/unictype/pr_combining.h: Likewise.
3557         * lib/unictype/pr_composite.h: Likewise.
3558         * lib/unictype/pr_currency_symbol.h: Likewise.
3559         * lib/unictype/pr_decimal_digit.h: Likewise.
3560         * lib/unictype/pr_deprecated.h: Likewise.
3561         * lib/unictype/pr_format_control.h: Likewise.
3562         * lib/unictype/pr_grapheme_base.h: Likewise.
3563         * lib/unictype/pr_grapheme_extend.h: Likewise.
3564         * lib/unictype/pr_grapheme_link.h: Likewise.
3565         * lib/unictype/pr_id_continue.h: Likewise.
3566         * lib/unictype/pr_id_start.h: Likewise.
3567         * lib/unictype/pr_ideographic.h: Likewise.
3568         * lib/unictype/pr_lowercase.h: Likewise.
3569         * lib/unictype/pr_math.h: Likewise.
3570         * lib/unictype/pr_numeric.h: Likewise.
3571         * lib/unictype/pr_other_alphabetic.h: Likewise.
3572         * lib/unictype/pr_other_id_continue.h: Likewise.
3573         * lib/unictype/pr_other_math.h: Likewise.
3574         * lib/unictype/pr_punctuation.h: Likewise.
3575         * lib/unictype/pr_sentence_terminal.h: Likewise.
3576         * lib/unictype/pr_terminal_punctuation.h: Likewise.
3577         * lib/unictype/pr_unassigned_code_value.h: Likewise.
3578         * lib/unictype/pr_unified_ideograph.h: Likewise.
3579         * lib/unictype/pr_uppercase.h: Likewise.
3580         * lib/unictype/pr_xid_continue.h: Likewise.
3581         * lib/unictype/pr_xid_start.h: Likewise.
3582         * lib/unictype/scripts.h: Likewise.
3583         * lib/unictype/scripts_byname.gperf: Likewise.
3584         * lib/unictype/sy_java_ident.h: Likewise.
3585         * lib/unigbrk/gbrkprop.h: Likewise.
3586         * lib/unilbrk/lbrkprop1.h: Likewise.
3587         * lib/unilbrk/lbrkprop2.h: Likewise.
3588         * lib/uninorm/decomposition-table2.h: Likewise.
3589         * lib/uniwbrk/wbrkprop.h: Likewise.
3590         * tests/unicase/test-cased.c: Likewise.
3591         * tests/unicase/test-ignorable.c: Likewise.
3592         * tests/unicase/test-uc_tolower.c: Likewise.
3593         * tests/unicase/test-uc_totitle.c: Likewise.
3594         * tests/unicase/test-uc_toupper.c: Likewise.
3595         * tests/unictype/test-categ_C.c: Likewise.
3596         * tests/unictype/test-categ_Cn.c: Likewise.
3597         * tests/unictype/test-categ_L.c: Likewise.
3598         * tests/unictype/test-categ_Ll.c: Likewise.
3599         * tests/unictype/test-categ_Lm.c: Likewise.
3600         * tests/unictype/test-categ_Lo.c: Likewise.
3601         * tests/unictype/test-categ_Lu.c: Likewise.
3602         * tests/unictype/test-categ_M.c: Likewise.
3603         * tests/unictype/test-categ_Mc.c: Likewise.
3604         * tests/unictype/test-categ_Me.c: Likewise.
3605         * tests/unictype/test-categ_Mn.c: Likewise.
3606         * tests/unictype/test-categ_N.c: Likewise.
3607         * tests/unictype/test-categ_Nd.c: Likewise.
3608         * tests/unictype/test-categ_No.c: Likewise.
3609         * tests/unictype/test-categ_P.c: Likewise.
3610         * tests/unictype/test-categ_Po.c: Likewise.
3611         * tests/unictype/test-categ_S.c: Likewise.
3612         * tests/unictype/test-categ_Sc.c: Likewise.
3613         * tests/unictype/test-categ_Sk.c: Likewise.
3614         * tests/unictype/test-categ_Sm.c: Likewise.
3615         * tests/unictype/test-categ_So.c: Likewise.
3616         * tests/unictype/test-ctype_alnum.c: Likewise.
3617         * tests/unictype/test-ctype_alpha.c: Likewise.
3618         * tests/unictype/test-ctype_graph.c: Likewise.
3619         * tests/unictype/test-ctype_lower.c: Likewise.
3620         * tests/unictype/test-ctype_print.c: Likewise.
3621         * tests/unictype/test-ctype_punct.c: Likewise.
3622         * tests/unictype/test-ctype_upper.c: Likewise.
3623         * tests/unictype/test-decdigit.h: Likewise.
3624         * tests/unictype/test-digit.h: Likewise.
3625         * tests/unictype/test-numeric.h: Likewise.
3626         * tests/unictype/test-pr_alphabetic.c: Likewise.
3627         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
3628         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
3629         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
3630         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
3631         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
3632         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
3633         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
3634         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
3635         * tests/unictype/test-pr_case_ignorable.c: Likewise.
3636         * tests/unictype/test-pr_cased.c: Likewise.
3637         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
3638         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
3639         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
3640         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
3641         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
3642         * tests/unictype/test-pr_combining.c: Likewise.
3643         * tests/unictype/test-pr_composite.c: Likewise.
3644         * tests/unictype/test-pr_currency_symbol.c: Likewise.
3645         * tests/unictype/test-pr_decimal_digit.c: Likewise.
3646         * tests/unictype/test-pr_deprecated.c: Likewise.
3647         * tests/unictype/test-pr_format_control.c: Likewise.
3648         * tests/unictype/test-pr_grapheme_base.c: Likewise.
3649         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
3650         * tests/unictype/test-pr_grapheme_link.c: Likewise.
3651         * tests/unictype/test-pr_id_continue.c: Likewise.
3652         * tests/unictype/test-pr_id_start.c: Likewise.
3653         * tests/unictype/test-pr_ideographic.c: Likewise.
3654         * tests/unictype/test-pr_lowercase.c: Likewise.
3655         * tests/unictype/test-pr_math.c: Likewise.
3656         * tests/unictype/test-pr_numeric.c: Likewise.
3657         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
3658         * tests/unictype/test-pr_other_id_continue.c: Likewise.
3659         * tests/unictype/test-pr_other_math.c: Likewise.
3660         * tests/unictype/test-pr_punctuation.c: Likewise.
3661         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
3662         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
3663         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
3664         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
3665         * tests/unictype/test-pr_uppercase.c: Likewise.
3666         * tests/unictype/test-pr_xid_continue.c: Likewise.
3667         * tests/unictype/test-pr_xid_start.c: Likewise.
3668         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
3669         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
3670         changes.
3671         * lib/unictype/categ_Cc.h: Likewise.
3672         * lib/unictype/categ_Cf.h: Likewise.
3673         * lib/unictype/categ_Co.h: Likewise.
3674         * lib/unictype/categ_Cs.h: Likewise.
3675         * lib/unictype/categ_Lt.h: Likewise.
3676         * lib/unictype/categ_Nl.h: Likewise.
3677         * lib/unictype/categ_Pc.h: Likewise.
3678         * lib/unictype/categ_Pd.h: Likewise.
3679         * lib/unictype/categ_Pe.h: Likewise.
3680         * lib/unictype/categ_Pf.h: Likewise.
3681         * lib/unictype/categ_Pi.h: Likewise.
3682         * lib/unictype/categ_Ps.h: Likewise.
3683         * lib/unictype/categ_Z.h: Likewise.
3684         * lib/unictype/categ_Zl.h: Likewise.
3685         * lib/unictype/categ_Zp.h: Likewise.
3686         * lib/unictype/categ_Zs.h: Likewise.
3687         * lib/unictype/ctype_blank.h: Likewise.
3688         * lib/unictype/ctype_cntrl.h: Likewise.
3689         * lib/unictype/ctype_digit.h: Likewise.
3690         * lib/unictype/ctype_space.h: Likewise.
3691         * lib/unictype/ctype_xdigit.h: Likewise.
3692         * lib/unictype/mirror.h: Likewise.
3693         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
3694         * lib/unictype/pr_bidi_block_separator.h: Likewise.
3695         * lib/unictype/pr_bidi_common_separator.h: Likewise.
3696         * lib/unictype/pr_bidi_control.h: Likewise.
3697         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
3698         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
3699         * lib/unictype/pr_bidi_european_digit.h: Likewise.
3700         * lib/unictype/pr_bidi_pdf.h: Likewise.
3701         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
3702         * lib/unictype/pr_bidi_whitespace.h: Likewise.
3703         * lib/unictype/pr_dash.h: Likewise.
3704         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
3705         * lib/unictype/pr_diacritic.h: Likewise.
3706         * lib/unictype/pr_extender.h: Likewise.
3707         * lib/unictype/pr_hex_digit.h: Likewise.
3708         * lib/unictype/pr_hyphen.h: Likewise.
3709         * lib/unictype/pr_ids_binary_operator.h: Likewise.
3710         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
3711         * lib/unictype/pr_ignorable_control.h: Likewise.
3712         * lib/unictype/pr_iso_control.h: Likewise.
3713         * lib/unictype/pr_join_control.h: Likewise.
3714         * lib/unictype/pr_left_of_pair.h: Likewise.
3715         * lib/unictype/pr_line_separator.h: Likewise.
3716         * lib/unictype/pr_logical_order_exception.h: Likewise.
3717         * lib/unictype/pr_non_break.h: Likewise.
3718         * lib/unictype/pr_not_a_character.h: Likewise.
3719         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
3720         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
3721         * lib/unictype/pr_other_id_start.h: Likewise.
3722         * lib/unictype/pr_other_lowercase.h: Likewise.
3723         * lib/unictype/pr_other_uppercase.h: Likewise.
3724         * lib/unictype/pr_paired_punctuation.h: Likewise.
3725         * lib/unictype/pr_paragraph_separator.h: Likewise.
3726         * lib/unictype/pr_pattern_syntax.h: Likewise.
3727         * lib/unictype/pr_pattern_white_space.h: Likewise.
3728         * lib/unictype/pr_private_use.h: Likewise.
3729         * lib/unictype/pr_quotation_mark.h: Likewise.
3730         * lib/unictype/pr_radical.h: Likewise.
3731         * lib/unictype/pr_soft_dotted.h: Likewise.
3732         * lib/unictype/pr_space.h: Likewise.
3733         * lib/unictype/pr_titlecase.h: Likewise.
3734         * lib/unictype/pr_variation_selector.h: Likewise.
3735         * lib/unictype/pr_white_space.h: Likewise.
3736         * lib/unictype/pr_zero_width.h: Likewise.
3737         * lib/unictype/sy_c_ident.h: Likewise.
3738         * lib/unictype/sy_c_whitespace.h: Likewise.
3739         * lib/unictype/sy_java_whitespace.h: Likewise.
3740         * lib/uninorm/composition-table.gperf: Likewise.
3741         * lib/uninorm/decomposition-table1.h: Likewise.
3742         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
3743         LB8.
3744         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
3745         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
3746         * modules/unictype/*: Bump version number of expected libunistring
3747         version.
3748
3749 2011-01-09  Bruno Haible  <bruno@clisp.org>
3750
3751         Update to Unicode 5.2.0.
3752         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
3753         trailing whitespace removed.
3754
3755 2011-01-09  Bruno Haible  <bruno@clisp.org>
3756
3757         New Unicode character properties, from Unicode 5.2.0.
3758         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
3759         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
3760         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
3761         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
3762         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
3763         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
3764         uc_is_property_cased, uc_is_property_case_ignorable,
3765         uc_is_property_changes_when_lowercased,
3766         uc_is_property_changes_when_uppercased,
3767         uc_is_property_changes_when_titlecased,
3768         uc_is_property_changes_when_casefolded,
3769         uc_is_property_changes_when_casemapped): New declarations.
3770         * lib/unictype/pr_byname.gperf: Add the new properties.
3771         * modules/unictype/property-byname (Depends-on): Depend on the new
3772         properties modules.
3773         * modules/unictype/property-all (Depends-on): Likewise.
3774         * MODULES.html.sh (Unicode string functions): Add
3775         unictype/property-case-ignorable, unictype/property-cased,
3776         unictype/property-changes-when-casefolded,
3777         unictype/property-changes-when-casemapped,
3778         unictype/property-changes-when-lowercased,
3779         unictype/property-changes-when-titlecased,
3780         unictype/property-changes-when-uppercased.
3781
3782         New module 'unictype/property-changes-when-casemapped'.
3783         * modules/unictype/property-changes-when-casemapped: New file.
3784         * lib/unictype/pr_changes_when_casemapped.c: New file.
3785         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
3786         generated by gen-uni-tables.
3787         * modules/unictype/property-changes-when-casemapped-tests: New file.
3788         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
3789         automatically generated by gen-uni-tables.
3790
3791         New module 'unictype/property-changes-when-casefolded'.
3792         * modules/unictype/property-changes-when-casefolded: New file.
3793         * lib/unictype/pr_changes_when_casefolded.c: New file.
3794         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
3795         generated by gen-uni-tables.
3796         * modules/unictype/property-changes-when-casefolded-tests: New file.
3797         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
3798         automatically generated by gen-uni-tables.
3799
3800         New module 'unictype/property-changes-when-titlecased'.
3801         * modules/unictype/property-changes-when-titlecased: New file.
3802         * lib/unictype/pr_changes_when_titlecased.c: New file.
3803         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
3804         generated by gen-uni-tables.
3805         * modules/unictype/property-changes-when-titlecased-tests: New file.
3806         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
3807         automatically generated by gen-uni-tables.
3808
3809         New module 'unictype/property-changes-when-uppercased'.
3810         * modules/unictype/property-changes-when-uppercased: New file.
3811         * lib/unictype/pr_changes_when_uppercased.c: New file.
3812         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
3813         generated by gen-uni-tables.
3814         * modules/unictype/property-changes-when-uppercased-tests: New file.
3815         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
3816         automatically generated by gen-uni-tables.
3817
3818         New module 'unictype/property-changes-when-lowercased'.
3819         * modules/unictype/property-changes-when-lowercased: New file.
3820         * lib/unictype/pr_changes_when_lowercased.c: New file.
3821         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
3822         generated by gen-uni-tables.
3823         * modules/unictype/property-changes-when-lowercased-tests: New file.
3824         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
3825         automatically generated by gen-uni-tables.
3826
3827         New module 'unictype/property-case-ignorable'.
3828         * modules/unictype/property-case-ignorable: New file.
3829         * lib/unictype/pr_case_ignorable.c: New file.
3830         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
3831         by gen-uni-tables.
3832         * modules/unictype/property-case-ignorable-tests: New file.
3833         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
3834         generated by gen-uni-tables.
3835
3836         New module 'unictype/property-cased'.
3837         * modules/unictype/property-cased: New file.
3838         * lib/unictype/pr_cased.c: New file.
3839         * lib/unictype/pr_cased.h: New file, automatically generated by
3840         gen-uni-tables.
3841         * modules/unictype/property-cased-tests: New file.
3842         * tests/unictype/test-pr_cased.c: New file, automatically generated by
3843         gen-uni-tables.
3844
3845 2011-01-09  Bruno Haible  <bruno@clisp.org>
3846
3847         Update to Unicode 5.2.0.
3848         * lib/gen-uni-tables.c (output_predicate, output_category,
3849         output_combclass, output_bidi_category, output_decimal_digit_test,
3850         output_decimal_digit, output_digit_test, output_digit,
3851         output_numeric_test, output_numeric, output_mirror, output_scripts,
3852         output_scripts_byname, output_blocks, output_ident_category): Fix
3853         comment header.
3854         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
3855         get_wbp.
3856         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
3857         items.
3858         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
3859         Changes_When_Lowercased, Changes_When_Uppercased,
3860         Changes_When_Titlecased, Changes_When_Casefolded,
3861         Changes_When_Casemapped.
3862         (is_property_alphabetic, is_property_default_ignorable_code_point):
3863         Update for Unicode 5.2.0.
3864         (is_property_cased, is_property_case_ignorable,
3865         is_property_changes_when_lowercased,
3866         is_property_changes_when_uppercased,
3867         is_property_changes_when_titlecased,
3868         is_property_changes_when_casefolded,
3869         is_property_changes_when_casemapped): New functions.
3870         (output_properties): Output also the properties cased, case_ignorable,
3871         changes_when_lowercased, changes_when_uppercased,
3872         changes_when_titlecased, changes_when_casefolded,
3873         changes_when_casemapped.
3874         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
3875         Unicode TR#11 revision 17 -> 19.
3876         (LBP_CP): New enumeration value.
3877         (LBP_*): Adjust values accordingly.
3878         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
3879         TR#14 revision 22 -> 24.
3880         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
3881         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
3882         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
3883         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
3884         is_WBP_MIDLETTER.
3885         (output_composition_tables): Allow for 24 bits instead of 16 bits in
3886         the code1 and code2 of each composition rule.
3887         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
3888         * lib/unicase/ignorable.h: Likewise.
3889         * lib/unicase/tocasefold.h: Likewise.
3890         * lib/unicase/tolower.h: Likewise.
3891         * lib/unicase/totitle.h: Likewise.
3892         * lib/unicase/toupper.h: Likewise.
3893         * lib/unictype/bidi_of.h: Likewise.
3894         * lib/unictype/blocks.h: Likewise.
3895         * lib/unictype/categ_C.h: Likewise.
3896         * lib/unictype/categ_Cf.h: Likewise.
3897         * lib/unictype/categ_Cn.h: Likewise.
3898         * lib/unictype/categ_L.h: Likewise.
3899         * lib/unictype/categ_Ll.h: Likewise.
3900         * lib/unictype/categ_Lm.h: Likewise.
3901         * lib/unictype/categ_Lo.h: Likewise.
3902         * lib/unictype/categ_Lu.h: Likewise.
3903         * lib/unictype/categ_M.h: Likewise.
3904         * lib/unictype/categ_Mc.h: Likewise.
3905         * lib/unictype/categ_Mn.h: Likewise.
3906         * lib/unictype/categ_N.h: Likewise.
3907         * lib/unictype/categ_Nd.h: Likewise.
3908         * lib/unictype/categ_Nl.h: Likewise.
3909         * lib/unictype/categ_No.h: Likewise.
3910         * lib/unictype/categ_P.h: Likewise.
3911         * lib/unictype/categ_Pd.h: Likewise.
3912         * lib/unictype/categ_Po.h: Likewise.
3913         * lib/unictype/categ_S.h: Likewise.
3914         * lib/unictype/categ_Sc.h: Likewise.
3915         * lib/unictype/categ_So.h: Likewise.
3916         * lib/unictype/categ_of.h: Likewise.
3917         * lib/unictype/combining.h: Likewise.
3918         * lib/unictype/ctype_alnum.h: Likewise.
3919         * lib/unictype/ctype_alpha.h: Likewise.
3920         * lib/unictype/ctype_graph.h: Likewise.
3921         * lib/unictype/ctype_lower.h: Likewise.
3922         * lib/unictype/ctype_print.h: Likewise.
3923         * lib/unictype/ctype_punct.h: Likewise.
3924         * lib/unictype/ctype_upper.h: Likewise.
3925         * lib/unictype/decdigit.h: Likewise.
3926         * lib/unictype/digit.h: Likewise.
3927         * lib/unictype/numeric.h: Likewise.
3928         * lib/unictype/pr_alphabetic.h: Likewise.
3929         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
3930         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
3931         * lib/unictype/pr_bidi_european_digit.h: Likewise.
3932         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
3933         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
3934         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
3935         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
3936         * lib/unictype/pr_combining.h: Likewise.
3937         * lib/unictype/pr_composite.h: Likewise.
3938         * lib/unictype/pr_currency_symbol.h: Likewise.
3939         * lib/unictype/pr_dash.h: Likewise.
3940         * lib/unictype/pr_decimal_digit.h: Likewise.
3941         * lib/unictype/pr_deprecated.h: Likewise.
3942         * lib/unictype/pr_diacritic.h: Likewise.
3943         * lib/unictype/pr_extender.h: Likewise.
3944         * lib/unictype/pr_grapheme_base.h: Likewise.
3945         * lib/unictype/pr_grapheme_extend.h: Likewise.
3946         * lib/unictype/pr_grapheme_link.h: Likewise.
3947         * lib/unictype/pr_id_continue.h: Likewise.
3948         * lib/unictype/pr_id_start.h: Likewise.
3949         * lib/unictype/pr_ideographic.h: Likewise.
3950         * lib/unictype/pr_ignorable_control.h: Likewise.
3951         * lib/unictype/pr_logical_order_exception.h: Likewise.
3952         * lib/unictype/pr_lowercase.h: Likewise.
3953         * lib/unictype/pr_numeric.h: Likewise.
3954         * lib/unictype/pr_other_alphabetic.h: Likewise.
3955         * lib/unictype/pr_punctuation.h: Likewise.
3956         * lib/unictype/pr_sentence_terminal.h: Likewise.
3957         * lib/unictype/pr_terminal_punctuation.h: Likewise.
3958         * lib/unictype/pr_unassigned_code_value.h: Likewise.
3959         * lib/unictype/pr_unified_ideograph.h: Likewise.
3960         * lib/unictype/pr_uppercase.h: Likewise.
3961         * lib/unictype/pr_xid_continue.h: Likewise.
3962         * lib/unictype/pr_xid_start.h: Likewise.
3963         * lib/unictype/pr_zero_width.h: Likewise.
3964         * lib/unictype/scripts.h: Likewise.
3965         * lib/unictype/scripts_byname.gperf: Likewise.
3966         * lib/unictype/sy_java_ident.h: Likewise.
3967         * lib/unigbrk/gbrkprop.h: Likewise.
3968         * lib/unilbrk/lbrkprop1.h: Likewise.
3969         * lib/unilbrk/lbrkprop2.h: Likewise.
3970         * lib/unilbrk/lbrktables.h: Likewise.
3971         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
3972         LBP_CP. Implement rule LB30.
3973         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
3974         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
3975         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
3976         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
3977         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
3978         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
3979         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
3980         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
3981         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
3982         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
3983         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
3984         bits instead of 16 bits in the code1 and code2 of each composition
3985         rule.
3986         (uc_composition): Update for Unicode 5.2.0.
3987         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
3988         * lib/uninorm/decomposition-table2.h: Likewise.
3989         * lib/uniwbrk/wbrkprop.h: Likewise.
3990         * tests/unicase/test-cased.c: Likewise.
3991         * tests/unicase/test-ignorable.c: Likewise.
3992         * tests/unicase/test-uc_tolower.c: Likewise.
3993         * tests/unicase/test-uc_totitle.c: Likewise.
3994         * tests/unicase/test-uc_toupper.c: Likewise.
3995         * tests/unictype/test-categ_C.c: Likewise.
3996         * tests/unictype/test-categ_Cf.c: Likewise.
3997         * tests/unictype/test-categ_Cn.c: Likewise.
3998         * tests/unictype/test-categ_L.c: Likewise.
3999         * tests/unictype/test-categ_Ll.c: Likewise.
4000         * tests/unictype/test-categ_Lm.c: Likewise.
4001         * tests/unictype/test-categ_Lo.c: Likewise.
4002         * tests/unictype/test-categ_Lu.c: Likewise.
4003         * tests/unictype/test-categ_M.c: Likewise.
4004         * tests/unictype/test-categ_Mc.c: Likewise.
4005         * tests/unictype/test-categ_Mn.c: Likewise.
4006         * tests/unictype/test-categ_N.c: Likewise.
4007         * tests/unictype/test-categ_Nd.c: Likewise.
4008         * tests/unictype/test-categ_Nl.c: Likewise.
4009         * tests/unictype/test-categ_No.c: Likewise.
4010         * tests/unictype/test-categ_P.c: Likewise.
4011         * tests/unictype/test-categ_Pd.c: Likewise.
4012         * tests/unictype/test-categ_Po.c: Likewise.
4013         * tests/unictype/test-categ_S.c: Likewise.
4014         * tests/unictype/test-categ_Sc.c: Likewise.
4015         * tests/unictype/test-categ_So.c: Likewise.
4016         * tests/unictype/test-ctype_alnum.c: Likewise.
4017         * tests/unictype/test-ctype_alpha.c: Likewise.
4018         * tests/unictype/test-ctype_graph.c: Likewise.
4019         * tests/unictype/test-ctype_lower.c: Likewise.
4020         * tests/unictype/test-ctype_print.c: Likewise.
4021         * tests/unictype/test-ctype_punct.c: Likewise.
4022         * tests/unictype/test-ctype_upper.c: Likewise.
4023         * tests/unictype/test-decdigit.h: Likewise.
4024         * tests/unictype/test-digit.h: Likewise.
4025         * tests/unictype/test-numeric.h: Likewise.
4026         * tests/unictype/test-pr_alphabetic.c: Likewise.
4027         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
4028         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
4029         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
4030         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
4031         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
4032         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
4033         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
4034         * tests/unictype/test-pr_combining.c: Likewise.
4035         * tests/unictype/test-pr_composite.c: Likewise.
4036         * tests/unictype/test-pr_currency_symbol.c: Likewise.
4037         * tests/unictype/test-pr_dash.c: Likewise.
4038         * tests/unictype/test-pr_decimal_digit.c: Likewise.
4039         * tests/unictype/test-pr_deprecated.c: Likewise.
4040         * tests/unictype/test-pr_diacritic.c: Likewise.
4041         * tests/unictype/test-pr_extender.c: Likewise.
4042         * tests/unictype/test-pr_grapheme_base.c: Likewise.
4043         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
4044         * tests/unictype/test-pr_grapheme_link.c: Likewise.
4045         * tests/unictype/test-pr_id_continue.c: Likewise.
4046         * tests/unictype/test-pr_id_start.c: Likewise.
4047         * tests/unictype/test-pr_ideographic.c: Likewise.
4048         * tests/unictype/test-pr_ignorable_control.c: Likewise.
4049         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
4050         * tests/unictype/test-pr_lowercase.c: Likewise.
4051         * tests/unictype/test-pr_numeric.c: Likewise.
4052         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
4053         * tests/unictype/test-pr_punctuation.c: Likewise.
4054         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
4055         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
4056         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
4057         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
4058         * tests/unictype/test-pr_uppercase.c: Likewise.
4059         * tests/unictype/test-pr_xid_continue.c: Likewise.
4060         * tests/unictype/test-pr_xid_start.c: Likewise.
4061         * tests/unictype/test-pr_zero_width.c: Likewise.
4062         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
4063         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
4064         changed behaviour: line breaking is now disallowed between a letter
4065         or '=' and '('.
4066         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
4067         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
4068         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
4069         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
4070         * tests/uniwidth/test-uc_width2.sh: Same updates as in
4071         lib/uniwidth/width.c.
4072         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
4073         without comments, but with the original copyright notice.
4074         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
4075         changes.
4076         * lib/unictype/categ_Cc.h: Likewise.
4077         * lib/unictype/categ_Co.h: Likewise.
4078         * lib/unictype/categ_Cs.h: Likewise.
4079         * lib/unictype/categ_Lt.h: Likewise.
4080         * lib/unictype/categ_Me.h: Likewise.
4081         * lib/unictype/categ_Pc.h: Likewise.
4082         * lib/unictype/categ_Pe.h: Likewise.
4083         * lib/unictype/categ_Pf.h: Likewise.
4084         * lib/unictype/categ_Pi.h: Likewise.
4085         * lib/unictype/categ_Ps.h: Likewise.
4086         * lib/unictype/categ_Sk.h: Likewise.
4087         * lib/unictype/categ_Sm.h: Likewise.
4088         * lib/unictype/categ_Z.h: Likewise.
4089         * lib/unictype/categ_Zl.h: Likewise.
4090         * lib/unictype/categ_Zp.h: Likewise.
4091         * lib/unictype/categ_Zs.h: Likewise.
4092         * lib/unictype/ctype_blank.h: Likewise.
4093         * lib/unictype/ctype_cntrl.h: Likewise.
4094         * lib/unictype/ctype_digit.h: Likewise.
4095         * lib/unictype/ctype_space.h: Likewise.
4096         * lib/unictype/ctype_xdigit.h: Likewise.
4097         * lib/unictype/mirror.h: Likewise.
4098         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
4099         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
4100         * lib/unictype/pr_bidi_block_separator.h: Likewise.
4101         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
4102         * lib/unictype/pr_bidi_common_separator.h: Likewise.
4103         * lib/unictype/pr_bidi_control.h: Likewise.
4104         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
4105         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
4106         * lib/unictype/pr_bidi_pdf.h: Likewise.
4107         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
4108         * lib/unictype/pr_bidi_whitespace.h: Likewise.
4109         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
4110         * lib/unictype/pr_format_control.h: Likewise.
4111         * lib/unictype/pr_hex_digit.h: Likewise.
4112         * lib/unictype/pr_hyphen.h: Likewise.
4113         * lib/unictype/pr_ids_binary_operator.h: Likewise.
4114         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
4115         * lib/unictype/pr_iso_control.h: Likewise.
4116         * lib/unictype/pr_join_control.h: Likewise.
4117         * lib/unictype/pr_left_of_pair.h: Likewise.
4118         * lib/unictype/pr_line_separator.h: Likewise.
4119         * lib/unictype/pr_math.h: Likewise.
4120         * lib/unictype/pr_non_break.h: Likewise.
4121         * lib/unictype/pr_not_a_character.h: Likewise.
4122         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
4123         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
4124         * lib/unictype/pr_other_id_continue.h: Likewise.
4125         * lib/unictype/pr_other_id_start.h: Likewise.
4126         * lib/unictype/pr_other_lowercase.h: Likewise.
4127         * lib/unictype/pr_other_math.h: Likewise.
4128         * lib/unictype/pr_other_uppercase.h: Likewise.
4129         * lib/unictype/pr_paired_punctuation.h: Likewise.
4130         * lib/unictype/pr_paragraph_separator.h: Likewise.
4131         * lib/unictype/pr_pattern_syntax.h: Likewise.
4132         * lib/unictype/pr_pattern_white_space.h: Likewise.
4133         * lib/unictype/pr_private_use.h: Likewise.
4134         * lib/unictype/pr_quotation_mark.h: Likewise.
4135         * lib/unictype/pr_radical.h: Likewise.
4136         * lib/unictype/pr_soft_dotted.h: Likewise.
4137         * lib/unictype/pr_space.h: Likewise.
4138         * lib/unictype/pr_titlecase.h: Likewise.
4139         * lib/unictype/pr_variation_selector.h: Likewise.
4140         * lib/unictype/pr_white_space.h: Likewise.
4141         * lib/unictype/sy_c_ident.h: Likewise.
4142         * lib/unictype/sy_c_whitespace.h: Likewise.
4143         * lib/unictype/sy_java_whitespace.h: Likewise.
4144         * modules/uni*/*: Bump version number of expected libunistring version.
4145         Reported by Simon Josefsson.
4146
4147 2011-01-09  Karl Heuer  <kwzh@gnu.org>
4148
4149         useless-if-before-free: fix typo in --help and make the internal,
4150         automatic version date update process work once again.
4151         --help output contained a NUL character instead of the
4152         backslash-zero that was intended.  Also, the "must lie within
4153         the first 8 lines" line is on line 9, and hence not getting
4154         automatically updated.
4155         * build-aux/useless-if-before-free: Fix the former by adding a
4156         backslash, and the latter by condensing the three lines of what-it-does
4157         to a single line, leaving one line of slack for the future.
4158
4159 2011-01-09  Bruno Haible  <bruno@clisp.org>
4160
4161         uniwidth/width: Fix width of U+1D173..U+1D17A.
4162         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
4163         symbolic_width, output_width_property_test): New functions.
4164         (main): Invoke output_nonspacing_property, output_width_property_test.
4165         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
4166         U+1D173..U+1D17A.
4167         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
4168         1.
4169         * modules/uniwidth/*: Bump version number of expected libunistring
4170         version.
4171         * modules/unilbrk/*: Likewise.
4172
4173 2011-01-08  Bruno Haible  <bruno@clisp.org>
4174
4175         uninorm tests: Preserve copyright of Unicode data file.
4176         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
4177         Mention modifications.
4178
4179 2011-01-08  Bruno Haible  <bruno@clisp.org>
4180
4181         gen-uni-tables: Prepare for Unicode 5.2.0.
4182         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
4183         (debug_output_lbp, output_lbp): Update.
4184
4185 2011-01-08  Bruno Haible  <bruno@clisp.org>
4186
4187         unilbrk: Clarify gen-uni-tables.c code.
4188         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
4189         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
4190         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
4191
4192 2011-01-07  Bruno Haible  <bruno@clisp.org>
4193
4194         strtod: Restore errno when successfully parsing Infinity or NaN.
4195         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
4196         restore the original errno.
4197
4198 2011-01-07  Bruno Haible  <bruno@clisp.org>
4199
4200         remove test: Avoid failure on HP-UX 11.
4201         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
4202
4203 2011-01-07  Bruno Haible  <bruno@clisp.org>
4204
4205         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
4206         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
4207         error code.
4208
4209 2011-01-07  Pádraig Brady <P@draigBrady.com>
4210
4211         ignore-value: fixup comments, and add Eric Blake
4212         as an author since he rewrote the macros.
4213         * lib/ignore-value.h (ignore_value):  State that
4214         we now support aggregates.  Also specify exactly
4215         when the GCC warn_unused_result feature was added.
4216
4217 2011-01-06  Eric Blake  <eblake@redhat.com>
4218
4219         ignore-value: support aggregate types
4220         * lib/ignore-value.h (ignore_value): Provide separate gcc
4221         definition.
4222         * modules/ignore-value-tests: New test module.
4223         * tests/test-ignore-value.c: New test.
4224
4225         maint.mk: improve sc_prohibit_strcmp regex
4226         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
4227         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
4228         definition of STRNEQ.
4229
4230         signal: work around Haiku issue with SIGBUS
4231         * lib/siglist.h: Add comment.
4232         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
4233         strsignal's favoring of SIGSEGV.
4234         * tests/test-signal.c (main): Avoid test failure.
4235         * doc/posix-headers/signal.texi (signal.h): Document the issue.
4236         Reported by Scott McCreary.
4237
4238         maint.mk: add pre-release check to ensure submodule commits are public
4239         * top/maint.mk (public-submodule-commit): New rule.
4240         (submodule-checks): New variable.
4241         (alpha beta stable): Depend on the variable.
4242
4243 2011-01-05  Pádraig Brady <P@draigBrady.com>
4244         and Jim Meyering  <meyering@redhat.com>
4245
4246         ignore-value: make ignore_value more generic; deprecate ignore_ptr
4247         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
4248         (ATTRIBUTE_DEPRECATED): Define.
4249         (_ignore_case): New function.
4250         (ignore_value): New macro, to replace the old function.
4251         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
4252         * modules/ignore-value (Depends-on): Add stdint.
4253
4254 2011-01-04  Eric Blake  <eblake@redhat.com>
4255
4256         doc: regenerate INSTALL
4257         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
4258         @firstparagraphindent support, now that autoconf dropped it.
4259         (INSTALL_PRELUDE): Reinstate old macro.
4260         * doc/install.texi: Resync from autoconf.
4261         * doc/INSTALL: Reflect recent autoconf update.
4262         * doc/INSTALL.ISO: Likewise.
4263         * doc/INSTALL.UTF-8: Likewise.
4264         Reported by Karl Berry.
4265
4266 2011-01-04  Bruce Korb  <address@hidden>
4267
4268         git-version-gen: avoid a sub-shell
4269         * build-aux/git-version-gen: Redirect stderr in `...` via
4270         "exec 2>...", rather than via an added sub-shell.
4271
4272 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
4273
4274         git-version-gen: use (...) rather than sh -c '...'
4275         * build-aux/git-version-gen: Rather than hard-coding a shell's name
4276         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
4277
4278 2011-01-03  Jim Meyering  <meyering@redhat.com>
4279
4280         git-version-gen: convert leading TABs to spaces
4281         * build-aux/git-version-gen: Expand leading TABs.
4282
4283         git-version-gen: handle failed "git rev-list"
4284         * build-aux/git-version-gen: Rather than leaking a "fatal" error
4285         from git and proceeding as if it had succeeded but printed no SHA1
4286         checksums, suppress the diagnostic and handle the failure.
4287         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
4288
4289         git-version-gen: include command name in one more diagnostic
4290         * build-aux/git-version-gen: When the required .tarball-version file
4291         was missing or unreadable, you might see the diagnostic from "cat",
4292         but no trace of the name of the invoking script.  Now, you still see
4293         the diagnostic from cat, but also get one from "git-version-gen: ".
4294         Inspired by a patch from Bruce Korb.
4295
4296         update-copyright: adjust test to match changed code
4297         * tests/test-update-copyright.sh: Change test's expected output
4298         to match new actual output.
4299
4300 2011-01-02  Bruno Haible  <bruno@clisp.org>
4301
4302         getlogin_r: Avoid test failure on HP-UX 11.
4303         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
4304         ERANGE when the second argument is zero.
4305         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
4306         portability problem.
4307
4308 2011-01-02  Bruce Korb  <bkorb@gnu.org>
4309
4310         * build-aux/update-copyright: doc Simon's changes
4311
4312 2011-01-02  Simon Josefsson  <simon@josefsson.org>
4313
4314         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
4315         environment variable.
4316
4317 2011-01-02  Bruno Haible  <bruno@clisp.org>
4318
4319         unigbrk: Avoid gcc warnings.
4320         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
4321         unused variable.
4322         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
4323         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
4324         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
4325         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
4326         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
4327         Change type of first argument to 'const char *'.
4328         (main): Remove unused variable.
4329         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
4330         type of first argument to 'const char *'.
4331         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
4332         Likewise.
4333         (main): Change type of variable 's'.
4334         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
4335         to 'int'.
4336
4337 2011-01-02  Bruno Haible  <bruno@clisp.org>
4338
4339         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
4340         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
4341         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
4342         bug.
4343         * lib/pwrite.c: Undo 2010-12-31 patch.
4344         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
4345
4346 2011-01-02  Bruno Haible  <bruno@clisp.org>
4347
4348         pread: Fix test whether it works.
4349         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
4350
4351 2011-01-02  Bruno Haible  <bruno@clisp.org>
4352
4353         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
4354         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
4355         ends in "6". Don't require a specific month name. Try also the locale
4356         names found on HP-UX 11 and Solaris 7.
4357
4358 2011-01-02  Bruno Haible  <bruno@clisp.org>
4359
4360         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
4361         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
4362         C linkage.
4363         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
4364
4365 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
4366
4367         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
4368         for consistency, since the "cluster" term is not used elsewhere.
4369         * lib/unigbrk.in.h: Update name.
4370         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
4371         * lib/unigbrk/u16-grapheme-next.c: Update name.
4372         * lib/unigbrk/u16-grapheme-prev.c: Update name.
4373         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
4374         * lib/unigbrk/u32-grapheme-next.c: Update name.
4375         * lib/unigbrk/u32-grapheme-prev.c: Update name.
4376         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
4377         * lib/unigbrk/u8-grapheme-next.c: Update name.
4378         * lib/unigbrk/u8-grapheme-prev.c: Update name.
4379         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
4380         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
4381         Suggested by Bruno Haible.
4382
4383 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
4384
4385         Remove module 'u8-grapheme-len' as too redundant with
4386         'u8-grapheme-next'.
4387         * modules/unigbrk/u8-grapheme-len: Delete file.
4388         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
4389         * lib/unigbrk.in.h: Remove prototype for deleted function.
4390         * lib/unigbrk/u8-grapheme-len.c: Delete file.
4391         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
4392
4393         Remove module 'u16-grapheme-len' as too redundant with
4394         'u16-grapheme-next'.
4395         * modules/unigbrk/u16-grapheme-len: Delete file.
4396         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
4397         * lib/unigbrk.in.h: Remove prototype for deleted function.
4398         * lib/unigbrk/u16-grapheme-len.c: Delete file.
4399         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
4400
4401         Remove module 'u32-grapheme-len' as too redundant with
4402         'u32-grapheme-next'.
4403         * modules/unigbrk/u32-grapheme-len: Delete file.
4404         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
4405         * lib/unigbrk.in.h: Remove prototype for deleted function.
4406         * lib/unigbrk/u32-grapheme-len.c: Delete file.
4407         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
4408
4409         Suggested by Bruno Haible.
4410
4411 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
4412
4413         * unigbrk.in.h: Fix typo: "ben" => "been".
4414         Reported by Bruno Haible.
4415
4416 2011-01-01  Jim Meyering  <meyering@redhat.com>
4417
4418         maint: update almost all copyright ranges to include 2011
4419         Run the new "make update-copyright" rule.
4420
4421 2011-01-01  Jim Meyering  <meyering@redhat.com>
4422
4423         maint: update-copyright: exempt doc/INSTALL*
4424         * Makefile (update-copyright): Also exclude doc/INSTALL*,
4425         since they are generated.  Suggested by Bruno Haible.
4426
4427 2011-01-01  Jim Meyering  <meyering@redhat.com>
4428
4429         maint: refine the update-copyright rule
4430         * Makefile (update-copyright): Also exclude any file that includes
4431         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
4432         code that merely generates the comment.
4433
4434 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
4435
4436         New module 'u8-grapheme-len'.
4437         * modules/unigbrk/u8-grapheme-len: New file.
4438         * modules/unigbrk/u8-grapheme-len-tests: New file.
4439         * lib/unigbrk.in.h: Add prototype for new function.
4440         * lib/unigbrk/u8-grapheme-len.c: New file.
4441         * tests/unigbrk/test-u8-grapheme-len.c: New file.
4442
4443         New module 'u16-grapheme-len'.
4444         * modules/unigbrk/u16-grapheme-len: New file.
4445         * modules/unigbrk/u16-grapheme-len-tests: New file.
4446         * lib/unigbrk.in.h: Add prototype for new function.
4447         * lib/unigbrk/u16-grapheme-len.c: New file.
4448         * tests/unigbrk/test-u16-grapheme-len.c: New file.
4449
4450         New module 'u32-grapheme-len'.
4451         * modules/unigbrk/u32-grapheme-len: New file.
4452         * modules/unigbrk/u32-grapheme-len-tests: New file.
4453         * lib/unigbrk.in.h: Add prototype for new function.
4454         * lib/unigbrk/u32-grapheme-len.c: New file.
4455         * tests/unigbrk/test-u32-grapheme-len.c: New file.
4456
4457         New module 'u8-grapheme-next'.
4458         * modules/unigbrk/u8-grapheme-next: New file.
4459         * modules/unigbrk/u8-grapheme-next-tests: New file.
4460         * lib/unigbrk.in.h: Add prototype for new function.
4461         * lib/unigbrk/u8-grapheme-next.c: New file.
4462         * tests/unigbrk/test-u8-grapheme-next.c: New file.
4463
4464         New module 'u16-grapheme-next'.
4465         * modules/unigbrk/u16-grapheme-next: New file.
4466         * modules/unigbrk/u16-grapheme-next-tests: New file.
4467         * lib/unigbrk.in.h: Add prototype for new function.
4468         * lib/unigbrk/u16-grapheme-next.c: New file.
4469         * tests/unigbrk/test-u16-grapheme-next.c: New file.
4470
4471         New module 'u32-grapheme-next'.
4472         * modules/unigbrk/u32-grapheme-next: New file.
4473         * modules/unigbrk/u32-grapheme-next-tests: New file.
4474         * lib/unigbrk.in.h: Add prototype for new function.
4475         * lib/unigbrk/u32-grapheme-next.c: New file.
4476         * tests/unigbrk/test-u32-grapheme-next.c: New file.
4477
4478         New module 'u8-grapheme-prev'.
4479         * modules/unigbrk/u8-grapheme-prev: New file.
4480         * modules/unigbrk/u8-grapheme-prev-tests: New file.
4481         * lib/unigbrk.in.h: Add prototype for new function.
4482         * lib/unigbrk/u8-grapheme-prev.c: New file.
4483         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
4484
4485         New module 'u16-grapheme-prev'.
4486         * modules/unigbrk/u16-grapheme-prev: New file.
4487         * modules/unigbrk/u16-grapheme-prev-tests: New file.
4488         * lib/unigbrk.in.h: Add prototype for new function.
4489         * lib/unigbrk/u16-grapheme-prev.c: New file.
4490         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
4491
4492         New module 'u32-grapheme-prev'.
4493         * modules/unigbrk/u32-grapheme-prev: New file.
4494         * modules/unigbrk/u32-grapheme-prev-tests: New file.
4495         * lib/unigbrk.in.h: Add prototype for new function.
4496         * lib/unigbrk/u32-grapheme-prev.c: New file.
4497         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
4498
4499         New module 'u8-grapheme-breaks'.
4500         * modules/unigbrk/u8-grapheme-breaks: New file.
4501         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
4502         * lib/unigbrk.in.h: Add prototype for new function.
4503         * lib/unigbrk/u8-grapheme-breaks.c: New file.
4504         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
4505
4506         New module 'u16-grapheme-breaks'.
4507         * modules/unigbrk/u16-grapheme-breaks: New file.
4508         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
4509         * lib/unigbrk.in.h: Add prototype for new function.
4510         * lib/unigbrk/u16-grapheme-breaks.c: New file.
4511         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
4512
4513         New module 'u32-grapheme-breaks'.
4514         * modules/unigbrk/u32-grapheme-breaks: New file.
4515         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
4516         * lib/unigbrk.in.h: Add prototype for new function.
4517         * lib/unigbrk/u32-grapheme-breaks.c: New file.
4518         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
4519
4520         New module 'ulc-grapheme-breaks'.
4521         * modules/unigbrk/ulc-grapheme-breaks: New file.
4522         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
4523         * m4/locale-ar.m4: New file.
4524         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
4525         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
4526         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
4527
4528 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
4529
4530         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
4531         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
4532         modified how this file was generated before I initially submitted
4533         the module, but failed to regenerate it.  This meant that several
4534         of the level2 entries were wrong.
4535         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
4536         Remove the division-by-2 that is folded into the table now that
4537         gbrkprop.h has been regenerated properly.  Now -1 entries are
4538         handled correctly.
4539
4540         New module 'unigbrk/uc-gbrk-prop-tests'.
4541         * modules/unigbrk/uc-gbrk-prop-tests: New file.
4542         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
4543         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
4544         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
4545
4546 2011-01-01  Bruno Haible  <bruno@clisp.org>
4547
4548         Avoid use of hexadecimal escapes.
4549         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
4550         instead of hexadecimal escapes.
4551
4552 2011-01-01  Jim Meyering  <meyering@redhat.com>
4553
4554         maint: new rule to update copyright year ranges
4555         * Makefile (update-copyright): New rule.
4556
4557         maint: indent with TABs in Makefile
4558         * Makefile: Expand leading sequences of spaces to TABs
4559
4560         version-etc: update the copyright year it reports
4561         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
4562
4563 2010-12-31  Bruno Haible  <bruno@clisp.org>
4564
4565         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
4566         * lib/isfinite.c (zerof, zerod, zerol): New variables.
4567         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
4568         zero.
4569
4570 2010-12-31  Bruno Haible  <bruno@clisp.org>
4571
4572         pwrite: Work around HP-UX 11.11 bug.
4573         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
4574         works and set REPLACE_PWRITE if not.
4575         * lib/pwrite.c (pwrite): Add an implementation that uses the system
4576         function.
4577         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
4578
4579 2010-12-31  Bruno Haible  <bruno@clisp.org>
4580
4581         pread: Work around HP-UX 11 bugs.
4582         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
4583         and set REPLACE_PREAD if not.
4584         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
4585
4586 2010-12-31  Eric Blake  <eblake@redhat.com>
4587
4588         nl_langinfo: fix YESEXPR on Irix 6.5
4589         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
4590         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
4591         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
4592         it.
4593
4594 2010-12-31  Bruno Haible  <bruno@clisp.org>
4595
4596         iconv: Document HP-UX 11 bug.
4597         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
4598
4599 2010-12-31  Bruno Haible  <bruno@clisp.org>
4600
4601         ldexpl: Fix link error on HP-UX 11.
4602         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
4603         LDEXPL_LIBM, using $ISNANL_LIBM.
4604
4605 2010-12-31  Eric Blake  <eblake@redhat.com>
4606
4607         ftello: avoid compilation failure with SunStudio c89
4608         * lib/ftello.c (ftello): Use lseek, not llseek.
4609
4610         tests: avoid failing coreutils tests on cygwin
4611         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
4612         (create_exe_shims_): Return 0 when skipping.
4613
4614 2010-12-31  Bruno Haible  <bruno@clisp.org>
4615
4616         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
4617         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
4618
4619 2010-12-31  Bruno Haible  <bruno@clisp.org>
4620
4621         waitpid: Fix link error in C++ mode.
4622         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
4623
4624 2010-12-31  Bruno Haible  <bruno@clisp.org>
4625
4626         isnan: Use GCC built-ins when possible.
4627         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
4628         __builtin_isnan.
4629         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
4630         (isnan): Define using GCC built-ins for GCC >= 4.0.
4631
4632 2010-12-31  Bruno Haible  <bruno@clisp.org>
4633
4634         isnand: Fix mistake.
4635         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
4636         __builtin_isnand.
4637
4638 2010-12-31  Bruno Haible  <bruno@clisp.org>
4639
4640         open: Avoid C++ error on HP-UX 11.
4641         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
4642
4643 2010-12-31  Bruno Haible  <bruno@clisp.org>
4644
4645         time_r: Add missing declarations on HP-UX 11.
4646         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
4647         instead of HAVE_LOCALTIME_R.
4648         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
4649         HAVE_LOCALTIME_R always.
4650         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
4651         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
4652         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
4653         HAVE_LOCALTIME_R.
4654         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
4655         * doc/posix-functions/localtime_r.texi: Likewise.
4656
4657 2010-12-29  Eric Blake  <eblake@redhat.com>
4658
4659         mountlist: tweak previous commit
4660         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
4661         Reported by Paul Eggert.
4662
4663         mountlist: fix local drive detection on cygwin
4664         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
4665         that works for cygwin.
4666
4667 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
4668
4669         ftoastr, snprintf: ftoastr + snprintf module
4670         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
4671         since the snprintf module now should be good enough here.
4672         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
4673         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
4674         and gl_MODULE_INDICATOR([snprintf]), but the former enables
4675         GNULIB_SNPRINTF only for the test directory, and the latter
4676         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
4677         seems to suffice by itself.
4678
4679 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
4680
4681         alloca: one step towards thread-safety
4682         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
4683         need for a static variable.  All callers changed.  This does not
4684         make the alloca replacement thread-safe, but it's one step.
4685
4686         tests: minor indenting change
4687         * tests/init.sh: Sync from coreutils housekeeping patch
4688         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
4689         to keep lines within 80 columns.
4690
4691 2010-12-28  Jim Meyering  <meyering@redhat.com>
4692
4693         regex: don't infloop on persistent failing calloc
4694         * lib/regexec.c (build_trtable): Return failure indication upon
4695         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
4696         In glibc, this was fixed for version 2.13:
4697         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
4698
4699 2010-12-28  Bruno Haible  <bruno@clisp.org>
4700             Paul Eggert <eggert@cs.ucla.edu>
4701
4702         linkat: Make implementation robust against system behaviour variations.
4703         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
4704         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
4705         way, and to -2 if it needs a generic runtime test.
4706         * lib/linkat.c (solaris_optimized_link_immediate,
4707         solaris_optimized_link_follow): New functions.
4708         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
4709         (check_same_link): Use it.
4710
4711 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
4712
4713         New module 'unigbrk/base'.
4714         * modules/unigbrk/base: New file.
4715         * lib/unigbrk.in.h: New file.
4716
4717         New module 'unigbrk/uc-gbrk-prop'.
4718         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
4719         * modules/unigbrk/uc-gbrk-prop: New file.
4720         * lib/unigbrk/gbrkprop.h: New file.
4721         * lib/unigbrk/uc-gbrk-prop.c: New file.
4722
4723         New module 'unigbrk/uc-is-grapheme-break'.
4724         * modules/unigbrk/uc-is-grapheme-break: New file.
4725         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
4726         * lib/unigbrk/uc-is-grapheme-break.c: New file.
4727         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
4728         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
4729         * tests/unigbrk/GraphemeBreakTest.txt: New file.
4730
4731         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
4732
4733 2010-12-27  Bruno Haible  <bruno@clisp.org>
4734
4735         linkat test: Avoid failure on Solaris 11 2010-11.
4736         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
4737
4738 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
4739
4740         utimens: work around glibc rounding bug on more platforms
4741         * lib/utimens.c (fdutimens): Work around rounding bug even if
4742         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
4743         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
4744
4745 2010-12-27  Bruno Haible  <bruno@clisp.org>
4746
4747         select tests: Improve comments.
4748         * tests/test-select.c (do_select): Add comments.
4749
4750 2010-12-27  Bruno Haible  <bruno@clisp.org>
4751
4752         select tests: Safer way of handling timeout.
4753         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
4754         at every invocation.
4755
4756 2010-12-27  Bruno Haible  <bruno@clisp.org>
4757
4758         select tests: Use 'bool' where appropriate.
4759         * tests/test-select.c (connect_to_socket): Change argument type to
4760         'bool'.
4761
4762 2010-12-27  Bruno Haible  <bruno@clisp.org>
4763
4764         select tests: Use existing modules.
4765         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
4766         (configure.ac): Don't test for unistd.h.
4767         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
4768         declared in <unistd.h>.
4769
4770 2010-12-27  Bruno Haible  <bruno@clisp.org>
4771
4772         mbrtowc: Work around a Solaris 7 bug.
4773         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
4774         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
4775         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
4776         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
4777         MBRTOWC_NULL_ARG1_BUG.
4778         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
4779         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
4780         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
4781         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
4782
4783 2010-12-27  Jim Meyering  <meyering@redhat.com>
4784
4785         read-file.c: tweak syntax
4786         * lib/read-file.c (fread_file): Remove space after "*" in function
4787         definitions.
4788
4789 2010-12-27  Bruno Haible  <bruno@clisp.org>
4790
4791         times test: Avoid gcc warnings on OSF/1.
4792         * tests/test-times.c (main): Cast printf arguments from clock_t to
4793         'long int'.
4794
4795 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
4796
4797         utimens: work around glibc rounding bug on older Linux kernels
4798         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
4799         on Linux with a glibc whose utimes might not work, then work
4800         around a longstanding glibc bug involving rounding rather than
4801         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
4802         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
4803
4804 2010-12-26  Bruno Haible  <bruno@clisp.org>
4805
4806         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
4807         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
4808         _GL_CXXALIAS_SYS.
4809         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4810
4811 2010-12-26  Bruno Haible  <bruno@clisp.org>
4812
4813         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
4814         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
4815         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
4816         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
4817         looking for the declaration.
4818         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
4819         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
4820         problem.
4821         * doc/posix-functions/inet_pton.texi: Likewise.
4822
4823 2010-12-26  Bruno Haible  <bruno@clisp.org>
4824
4825         arpa_inet: Use the common idioms with C++ support.
4826         * lib/arpa_inet.in.h: Include c++defs.h.
4827         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
4828         support.
4829         * modules/arpa_inet (Depends-on): Add c++defs.
4830         (Makefile.am): Substitute the contents of c++defs.h.
4831         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
4832         * modules/arpa_inet-c++-tests: New file.
4833         * tests/test-arpa_inet-c++.cc: New file.
4834
4835 2010-12-25  Bruno Haible  <bruno@clisp.org>
4836
4837         Fix more C++ link errors on Solaris 8.
4838         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
4839         $(LIB_EACCESS).
4840         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
4841         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
4842         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
4843         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
4844         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
4845
4846 2010-12-25  Bruno Haible  <bruno@clisp.org>
4847
4848         printf-posix: Fix link error when a non-GCC compiler is used.
4849         * lib/stdio.in.h (printf): When not using GCC, override printf
4850         correctly.
4851         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4852
4853 2010-12-25  Bruno Haible  <bruno@clisp.org>
4854
4855         strerror_r-posix: Update doc.
4856         * doc/posix-functions/strerror_r.texi: Update doc about the return
4857         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
4858
4859 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
4860
4861         utimens: simplify the logic of the previous change
4862         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
4863         This should not affect whether the test succeeds or fails.
4864
4865         utimens: configure better on hosts with NFS clock skew
4866         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
4867         uses the clock of the local host.  It might use the clock of the
4868         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
4869         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
4870
4871 2010-12-25  Bruno Haible  <bruno@clisp.org>
4872
4873         ptsname test: Avoid failure on Solaris.
4874         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
4875         open a pseudo-terminal; don't use BSD-style ptys.
4876         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
4877
4878 2010-12-25  Bruno Haible  <bruno@clisp.org>
4879
4880         ptsname: Avoid ERANGE failure on some systems.
4881         * lib/ptsname.c (buffer): Increase size.
4882
4883 2010-12-25  Bruno Haible  <bruno@clisp.org>
4884
4885         rename, renameat: Avoid test failures at NFS mounted locations.
4886         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
4887         so that subsequent mkdir calls succeed.
4888
4889 2010-12-25  Bruno Haible  <bruno@clisp.org>
4890
4891         iswblank: Fix C++ link error on Solaris 8.
4892         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
4893         _GL_FUNCDECL_SYS.
4894
4895 2010-12-25  Bruno Haible  <bruno@clisp.org>
4896
4897         unistd: Fix C++ link error on Solaris 8.
4898         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
4899
4900 2010-12-25  Bruno Haible  <bruno@clisp.org>
4901
4902         readlink doc: Mention an old glibc bug.
4903         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
4904
4905 2010-12-25  Bruno Haible  <bruno@clisp.org>
4906
4907         fcntl-h: Fix for use of C++ on glibc systems.
4908         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
4909         also on glibc systems in C++ mode.
4910         Reported by Gary V. Vaughan <gary@gnu.org>.
4911
4912 2010-12-25  Bruno Haible  <bruno@clisp.org>
4913
4914         roundl-ieee: Make it work on OSF/1 5.1 with cc.
4915         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
4916
4917 2010-12-25  Bruno Haible  <bruno@clisp.org>
4918
4919         truncl-ieee: Make it work on OSF/1 5.1 with cc.
4920         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
4921         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
4922         test whether truncl works according to ISO C 99 with IEC 60559.
4923         * m4/truncl-ieee.m4: New file.
4924         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
4925         m4/signbit.m4.
4926         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
4927
4928 2010-12-25  Bruno Haible  <bruno@clisp.org>
4929
4930         ceill-ieee: Make it work on OSF/1 5.1 with cc.
4931         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
4932         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
4933         test whether ceill works according to ISO C 99 with IEC 60559.
4934         * m4/ceill-ieee.m4: New file.
4935         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
4936         m4/signbit.m4.
4937         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
4938
4939 2010-12-25  Bruno Haible  <bruno@clisp.org>
4940
4941         Ensure all prerequisites of <wchar.h> are included.
4942         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
4943         before <wchar.h>.
4944         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
4945         gl_MBRLEN_NUL_RETVAL): Likewise.
4946         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
4947         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
4948         AC_FUNC_MBRTOWC): Likewise.
4949         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
4950         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
4951         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
4952         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
4953         Likewise.
4954         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
4955         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
4956         (gl_WCHAR_H): Improve comments.
4957         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
4958
4959 2010-12-25  Bruno Haible  <bruno@clisp.org>
4960
4961         strtok_r: Fix C syntax error in autoconf macro.
4962         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
4963         characters in test program.
4964
4965 2010-12-24  Bruno Haible  <bruno@clisp.org>
4966
4967         ceil, trunc, round: Fix gcc warnings.
4968         * lib/ceil.c (MIN): Undefine before redefining.
4969         * lib/trunc.c (MIN): Likewise.
4970         * lib/round.c (MIN): Likewise.
4971         Include <math.h> first.
4972
4973 2010-12-24  Bruno Haible  <bruno@clisp.org>
4974
4975         select tests: Avoid failures on OSF/1 5.1.
4976         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
4977         failure of closing the last socket; it may fail with ECONNRESET.
4978
4979 2010-12-24  Eric Blake  <eblake@redhat.com>
4980
4981         stdint: avoid HP-UX 10.20 preprocessor bug
4982         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
4983         than #if.
4984         * tests/test-floor2.c (main): Likewise.
4985         Reported by Peter O'Gorman.
4986
4987         pipe: make obsoletion transition easier
4988         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
4989         * modules/pipe (Files): Include revived file.
4990         (Include): Drop reference, to mirror getdate's behavior.
4991
4992 2010-12-24  Bruno Haible  <bruno@clisp.org>
4993
4994         sys_socket: Hide mismatch of declarations on NonStop Kernel.
4995         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
4996         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
4997         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4998
4999 2010-12-24  Bruno Haible  <bruno@clisp.org>
5000
5001         gethostname: Ensure declaration on NonStop Kernel.
5002         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
5003         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5004
5005 2010-12-24  Bruno Haible  <bruno@clisp.org>
5006
5007         sys_select: Ensure all necessary types on NonStop Kernel.
5008         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
5009         include <sys/time.h>.
5010         * doc/posix-headers/sys_select.texi: Mention that it's missing on
5011         NonStop Kernel.
5012         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5013
5014 2010-12-24  Bruno Haible  <bruno@clisp.org>
5015
5016         sys_select: Remove unneeded include.
5017         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
5018         have <sys/select.h>.
5019
5020 2010-12-24  Bruno Haible  <bruno@clisp.org>
5021
5022         gethostname: Provide a fallback for HOST_NAME_MAX.
5023         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
5024         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
5025         instead.
5026         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5027
5028 2010-12-24  Bruno Haible  <bruno@clisp.org>
5029
5030         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
5031         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
5032         (SA_RESTART): Likewise.
5033         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5034
5035 2010-12-24  Bruno Haible  <bruno@clisp.org>
5036
5037         signal: Define NSIG.
5038         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
5039         * tests/test-signal.c (nsig): New variable.
5040         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5041
5042 2010-12-24  Bruno Haible  <bruno@clisp.org>
5043
5044         rename, renameat: Avoid test failures on OSF/1 5.1.
5045         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
5046         alternative error codes.
5047         * tests/test-renameat.c (main): Likewise.
5048
5049 2010-12-24  Bruno Haible  <bruno@clisp.org>
5050
5051         *printf: Detect large precisions bug on Solaris 10/SPARC.
5052         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
5053         by Paul Eggert.
5054         * tests/test-snprintf-posix.h (test_function): Add this test code here
5055         too.
5056         * tests/test-sprintf-posix.h (test_function): Likewise.
5057         * tests/test-vasnprintf-posix.c (test_function): Likewise.
5058         * tests/test-vasprintf-posix.c (test_function): Likewise.
5059         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
5060         around by gnulib.
5061         * doc/posix-functions/printf.texi: Likewise.
5062         * doc/posix-functions/snprintf.texi: Likewise.
5063         * doc/posix-functions/sprintf.texi: Likewise.
5064         * doc/posix-functions/vfprintf.texi: Likewise.
5065         * doc/posix-functions/vprintf.texi: Likewise.
5066         * doc/posix-functions/vsnprintf.texi: Likewise.
5067         * doc/posix-functions/vsprintf.texi: Likewise.
5068         * doc/posix-functions/dprintf.texi: Undo last commit.
5069         * doc/posix-functions/vdprintf.texi: Likewise.
5070
5071 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
5072
5073         tests: port test-fdutimensat.c to Solaris 8
5074         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
5075         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
5076         On Solaris 8, it fails with errno == ENOSYS, because there is no
5077         futimens (so it can't use the fd), and there is no lutimens (so it
5078         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
5079
5080         vsnprintf: make more consistent with snprintf; doc fixes
5081
5082         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
5083         the byte count return problem was promoted from the snprintf-posix
5084         to the snprintf module.
5085         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
5086         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
5087         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
5088         * tests/test-snprintf.c (main): Check the byte count returned.
5089         * tests/test-vsnprintf.c (main): Likewise.
5090
5091 2010-12-23  Eric Blake  <eblake@redhat.com>
5092
5093         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
5094         * modules/sigpipe (License): Relax license.
5095
5096 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
5097
5098         doc: document Solaris printf bug with large float precisions
5099         * doc/posix-functions/dprintf.texi (dprintf):
5100         * doc/posix-functions/fprintf.texi (fprintf):
5101         * doc/posix-functions/printf.texi (printf):
5102         * doc/posix-functions/snprintf.texi (snprintf):
5103         * doc/posix-functions/sprintf.texi (sprintf):
5104         * doc/posix-functions/vdprintf.texi (vdprintf):
5105         * doc/posix-functions/vfprintf.texi (vfprintf):
5106         * doc/posix-functions/vprintf.texi (vprintf):
5107         * doc/posix-functions/vsnprintf.texi (vsnprintf):
5108         * doc/posix-functions/vsprintf.texi (vsprintf):
5109         Mention that these functions mishandle large floating point
5110         precisions on Solaris 10.  The same bug is also present in Solaris
5111         8, and I assume earlier.  This causes "cd gnulib-tests; make
5112         check" to fail on Solaris 8 (and I assume, later) when building
5113         the latest coreutils, in test-vasprintf-posix's call to
5114         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
5115         the wide flavors (e.g., wprintf) so this patch just updates the
5116         documentation for the narrow ones.
5117
5118         test-posixtm.c: add two tests
5119         * tests/test-posixtm.c: Add two tests, to highlight the
5120         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
5121         around this bug; this is merely to document it.
5122
5123 2010-12-22  Bruno Haible  <bruno@clisp.org>
5124
5125         getlogin_r: Work around portability problem on OSF/1.
5126         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
5127         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
5128         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
5129         test for a truncated result.
5130         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
5131         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
5132         * modules/getlogin_r (Depends-on): Add memchr.
5133         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
5134
5135 2010-12-22  Bruno Haible  <bruno@clisp.org>
5136
5137         ptsname: Avoid test failure on OSF/1 5.1.
5138         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
5139         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
5140         (same_slave): New function.
5141         (main): Use it to compare ptsname's result with the expected file name.
5142
5143 2010-12-22  Bruno Haible  <bruno@clisp.org>
5144
5145         Port extended stdio modules to HP NonStop Kernel.
5146         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
5147         macros.
5148         * lib/fbufmode.c: Update comments.
5149         * lib/fflush.c: Likewise.
5150         * lib/fpurge.c: Likewise.
5151         * lib/freadable.c: Likewise.
5152         * lib/freadahead.c: Likewise.
5153         * lib/freading.c: Likewise.
5154         * lib/freadptr.c: Likewise.
5155         * lib/freadseek.c: Likewise.
5156         * lib/fseeko.c: Likewise.
5157         * lib/fseterr.c: Likewise.
5158         * lib/fwritable.c: Likewise.
5159         * lib/fwriting.c: Likewise.
5160         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5161
5162 2010-12-22  Bruno Haible  <bruno@clisp.org>
5163
5164         ttyname_r: Work around bug on OSF/1 5.1.
5165         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
5166         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
5167         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
5168         present.
5169         * lib/ttyname_r.c (ttyname_r): Update comments.
5170
5171 2010-12-22  Bruno Haible  <bruno@clisp.org>
5172
5173         round: Implement result sign according to IEEE 754.
5174         * lib/round.c (MIN, MINUS_ZERO): New macros.
5175         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
5176         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
5177         * tests/test-round-ieee.c (main): Likewise.
5178         * tests/test-roundl-ieee.c (main): Likewise.
5179
5180         trunc: Implement result sign according to IEEE 754.
5181         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
5182         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
5183         * tests/test-trunc2.c: Include minus-zero.h.
5184         (MINUS_ZERO): New macro.
5185         (trunc_reference): Keep in sync with lib/trunc.c.
5186         * tests/test-truncf2.c: Include minus-zero.h.
5187         (MINUS_ZERO): New macro.
5188         (truncf_reference): Keep in sync with lib/trunc.c.
5189         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
5190         * tests/test-trunc-ieee.c (main): Likewise.
5191         * tests/test-truncl-ieee.c (main): Likewise.
5192
5193         ceil: Implement result sign according to IEEE 754.
5194         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
5195         (FUNC): Return -0.0 for -1 < x < 0.
5196         * tests/test-ceil2.c: Include minus-zero.h.
5197         (MINUS_ZERO): New macro.
5198         (ceil_reference): Keep in sync with lib/ceil.c.
5199         * tests/test-ceilf2.c: Include minus-zero.h.
5200         (MINUS_ZERO): New macro.
5201         (ceilf_reference): Keep in sync with lib/ceil.c.
5202         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
5203         * tests/test-ceil-ieee.c (main): Likewise.
5204         * tests/test-ceill-ieee.c (main): Likewise.
5205
5206         floor: Implement result sign according to IEEE 754.
5207         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
5208         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
5209         * tests/test-floorf2.c (floorf_reference): Likewise.
5210         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
5211         * tests/test-floor-ieee.c (main): Likewise.
5212         * tests/test-floorl-ieee.c (main): Likewise.
5213
5214 2010-12-22  Bruno Haible  <bruno@clisp.org>
5215
5216         getaddrinfo: Update doc.
5217         * doc/posix-functions/gai_strerror.texi: Return type is also different
5218         on AIX and HP-UX.
5219
5220 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
5221
5222         getaddrinfo, inet_ntop: Update doc for Solaris.
5223         * doc/posix-functions/gai_strerror.texi: Return type is also an
5224         issue on Solaris 9 and earlier.
5225         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
5226         on Solaris 10 and earlier.
5227
5228 2010-12-21  Bruno Haible  <bruno@clisp.org>
5229
5230         New module 'roundl-ieee'.
5231         * modules/roundl-ieee: New file.
5232         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
5233         test whether roundl works according to ISO C 99 with IEC 60559.
5234         * m4/roundl-ieee.m4: New file.
5235         * modules/roundl-ieee-tests: New file.
5236         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
5237         * tests/test-roundl.c (main): Remove signbit tests.
5238         * modules/roundl-tests (Depends-on): Remove signbit.
5239         * doc/posix-functions/roundl.texi: Mention the new module.
5240
5241 2010-12-21  Bruno Haible  <bruno@clisp.org>
5242
5243         New module 'truncl-ieee'.
5244         * modules/truncl-ieee: New file.
5245         * modules/truncl-ieee-tests: New file.
5246         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
5247         * tests/test-truncl.c (main): Remove signbit tests.
5248         * modules/truncl-tests (Depends-on): Remove signbit.
5249         * doc/posix-functions/truncl.texi: Mention the new module.
5250
5251 2010-12-21  Bruno Haible  <bruno@clisp.org>
5252
5253         New module 'ceill-ieee'.
5254         * modules/ceill-ieee: New file.
5255         * modules/ceill-ieee-tests: New file.
5256         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
5257         * tests/test-ceill.c (main): Remove signbit tests.
5258         * modules/ceill-tests (Depends-on): Remove signbit.
5259         * doc/posix-functions/ceill.texi: Mention the new module.
5260
5261 2010-12-21  Bruno Haible  <bruno@clisp.org>
5262
5263         New module 'floorl-ieee'.
5264         * modules/floorl-ieee: New file.
5265         * modules/floorl-ieee-tests: New file.
5266         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
5267         * tests/test-floorl.c (main): Remove signbit tests.
5268         * modules/floorl-tests (Depends-on): Remove signbit.
5269         * doc/posix-functions/floorl.texi: Mention the new module.
5270
5271 2010-12-21  Bruno Haible  <bruno@clisp.org>
5272
5273         New module 'round-ieee'.
5274         * modules/round-ieee: New file.
5275         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
5276         whether round works according to ISO C 99 with IEC 60559.
5277         * m4/round-ieee.m4: New file.
5278         * modules/round-ieee-tests: New file.
5279         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
5280         * tests/test-round1.c (main): Remove signbit tests.
5281         * modules/round-tests (Depends-on): Remove 'signbit'.
5282         * doc/posix-functions/round.texi: Mention the new module.
5283
5284 2010-12-21  Bruno Haible  <bruno@clisp.org>
5285
5286         New module 'trunc-ieee'.
5287         * modules/trunc-ieee: New file.
5288         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
5289         whether trunc works according to ISO C 99 with IEC 60559.
5290         * m4/trunc-ieee.m4: New file.
5291         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
5292         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
5293         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
5294         * modules/trunc-ieee-tests: New file.
5295         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
5296         * tests/test-trunc1.c (main): Remove signbit tests.
5297         * modules/trunc-tests (Depends-on): Remove 'signbit'.
5298         * doc/posix-functions/trunc.texi: Mention the new module.
5299
5300 2010-12-21  Bruno Haible  <bruno@clisp.org>
5301
5302         New module 'ceil-ieee'.
5303         * modules/ceil-ieee: New file.
5304         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
5305         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
5306         ISO C 99 with IEC 60559.
5307         * m4/ceil-ieee.m4: New file.
5308         * modules/ceil (Files): Add lib/ceil.c.
5309         (Depends-on): Add 'float'.
5310         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
5311         * lib/math.in.h (ceil): New declaration.
5312         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
5313         REPLACE_CEIL.
5314         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
5315         * modules/ceil-ieee-tests: New file.
5316         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
5317         * tests/test-math-c++.cc: Check the signature of 'ceil'.
5318         * doc/posix-functions/ceil.texi: Mention the new module.
5319
5320 2010-12-21  Bruno Haible  <bruno@clisp.org>
5321
5322         New module 'floor-ieee'.
5323         * modules/floor-ieee: New file.
5324         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
5325         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
5326         ISO C 99 with IEC 60559.
5327         * m4/floor-ieee.m4: New file.
5328         * modules/floor (Files): Add lib/floor.c.
5329         (Depends-on): Add 'float'.
5330         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
5331         * lib/math.in.h (floor): New declaration.
5332         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
5333         REPLACE_FLOOR.
5334         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
5335         * modules/floor-ieee-tests: New file.
5336         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
5337         * tests/test-math-c++.cc: Check the signature of 'floor'.
5338         * doc/posix-functions/floor.texi: Mention the new module.
5339
5340 2010-12-21  Bruno Haible  <bruno@clisp.org>
5341
5342         New module 'roundf-ieee'.
5343         * modules/roundf-ieee: New file.
5344         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
5345         test whether roundf works according to ISO C 99 with IEC 60559.
5346         * m4/roundf-ieee.m4: New file.
5347         * modules/roundf-ieee-tests: New file.
5348         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
5349         * tests/test-roundf1.c (main): Remove signbit tests.
5350         * modules/roundf-tests (Depends-on): Remove 'signbit'.
5351         * doc/posix-functions/roundf.texi: Mention the new module.
5352
5353 2010-12-21  Bruno Haible  <bruno@clisp.org>
5354
5355         New module 'truncf-ieee'.
5356         * modules/truncf-ieee: New file.
5357         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
5358         test whether truncf works according to ISO C 99 with IEC 60559.
5359         * m4/truncf-ieee.m4: New file.
5360         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
5361         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
5362         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
5363         * modules/truncf-ieee-tests: New file.
5364         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
5365         * tests/test-truncf1.c (main): Remove signbit tests.
5366         * modules/truncf-tests (Depends-on): Remove 'signbit'.
5367         * doc/posix-functions/truncf.texi: Mention the new module.
5368
5369 2010-12-21  Bruno Haible  <bruno@clisp.org>
5370
5371         New module 'ceilf-ieee'.
5372         * modules/ceilf-ieee: New file.
5373         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
5374         test whether ceilf works according to ISO C 99 with IEC 60559.
5375         * m4/ceilf-ieee.m4: New file.
5376         * modules/ceilf-ieee-tests: New file.
5377         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
5378         * tests/test-ceilf1.c (main): Remove signbit tests.
5379         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
5380         * doc/posix-functions/ceilf.texi: Mention the new module.
5381
5382 2010-12-21  Bruno Haible  <bruno@clisp.org>
5383
5384         New module 'floorf-ieee'.
5385         * modules/floorf-ieee: New file.
5386         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
5387         test whether floorf works according to ISO C 99 with IEC 60559.
5388         * m4/floorf-ieee.m4: New file.
5389         * modules/floorf-ieee-tests: New file.
5390         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
5391         * tests/test-floorf1.c (main): Remove signbit tests.
5392         * modules/floorf-tests (Depends-on): Remove 'signbit'.
5393         * doc/posix-functions/floorf.texi: Mention the new module.
5394
5395 2010-12-21  Bruno Haible  <bruno@clisp.org>
5396
5397         Support for minus zero in autoconf macros.
5398         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
5399         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
5400         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
5401         * tests/minus-zero.h: Update comments.
5402
5403 2010-12-21  Bruno Haible  <bruno@clisp.org>
5404
5405         Tests for module 'ceil'.
5406         * modules/ceil-tests: New file.
5407         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
5408         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
5409
5410 2010-12-21  Bruno Haible  <bruno@clisp.org>
5411
5412         Tests for module 'floor'.
5413         * modules/floor-tests: New file.
5414         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
5415         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
5416
5417 2010-12-21  Bruno Haible  <bruno@clisp.org>
5418
5419         math: Fix indentation.
5420         * lib/math.in.h (floorf): Fix indentation.
5421
5422 2010-12-21  Bruno Haible  <bruno@clisp.org>
5423
5424         Fix cross-compilation guesses on Solaris.
5425         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
5426         not match "solaris2.10".
5427         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
5428         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
5429         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
5430
5431 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
5432
5433         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
5434         This fixes a problem observed with the latest coreutils snapshot
5435         that caused a test to fail on Solaris 8.  src/csplit.c's call
5436         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
5437         earlier, instead of returning the number of bytes that would have
5438         been generated; this causes csplit to incorrectly report memory
5439         exhaustion.
5440         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
5441         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
5442         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
5443         comments to match.
5444         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
5445         Fix typo in matching older versions of Solaris: "solaris2.10"
5446         is matched by the shell pattern "solaris2.[0-9]*".  This matters
5447         only for guessing while cross-compiling.
5448         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
5449
5450 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
5451
5452         ftoastr: fix comment again
5453         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
5454         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
5455         Also, simplify example a bit by using flags = 0.
5456
5457 2010-12-20  Bruno Haible  <bruno@clisp.org>
5458
5459         round*, trunc*: Update documentation regarding glibc.
5460         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
5461         * doc/posix-functions/round.texi: Likewise.
5462         * doc/posix-functions/roundl.texi: Likewise.
5463         * doc/posix-functions/truncf.texi: Likewise.
5464         * doc/posix-functions/trunc.texi: Likewise.
5465         * doc/posix-functions/truncl.texi: Likewise.
5466
5467 2010-12-20  Bruno Haible  <bruno@clisp.org>
5468
5469         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
5470         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
5471         * doc/posix-functions/round.texi: Likewise.
5472         * doc/posix-functions/roundl.texi: Likewise.
5473
5474 2010-12-20  Bruno Haible  <bruno@clisp.org>
5475
5476         ttyname_r: Add missing declaration on HP-UX 11.
5477         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
5478         HAVE_TTYNAME_R.
5479         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
5480         declared. Set HAVE_TTYNAME_R always.
5481         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
5482         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
5483         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
5484         HAVE_TTYNAME_R.
5485         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
5486
5487 2010-12-20  Bruno Haible  <bruno@clisp.org>
5488
5489         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
5490         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
5491         * doc/posix-functions/getlogin_r.texi: Likewise.
5492         * tests/test-getlogin.c: Include <errno.h>.
5493         (main): Avoid test failure on HP-UX 11.11.
5494         * tests/test-getlogin_r.c (main): Likewise.
5495
5496 2010-12-20  Bruno Haible  <bruno@clisp.org>
5497
5498         getlogin_r: Add missing declaration on HP-UX 11.
5499         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
5500         declared also when it exists as a function.
5501         * doc/posix-functions/getlogin_r.texi: Document this workaround.
5502
5503 2010-12-20  Bruno Haible  <bruno@clisp.org>
5504
5505         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
5506         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
5507         through wcrtomb.
5508
5509 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
5510
5511         ftoastr: fix comment
5512         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
5513         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
5514
5515 2010-12-19  Bruno Haible  <bruno@clisp.org>
5516
5517         isnan: Ensure it is a macro.
5518         * lib/math.in.h (isnan): Define as a macro if not already a macro.
5519         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
5520         Solaris.
5521
5522 2010-12-19  Bruno Haible  <bruno@clisp.org>
5523
5524         ldexpl test: Fix link error on OSF/1 5.1.
5525         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
5526
5527 2010-12-19  Bruno Haible  <bruno@clisp.org>
5528
5529         wctype: Make it work in C++ mode on OSF/1 5.1.
5530         * lib/wctype.in.h (iswblank): Declare but not define here.
5531         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
5532         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
5533         * modules/wctype (Files): Add lib/iswblank.c.
5534
5535 2010-12-19  Bruno Haible  <bruno@clisp.org>
5536
5537         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
5538         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
5539         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
5540
5541 2010-12-19  Bruno Haible  <bruno@clisp.org>
5542
5543         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
5544         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
5545         _POSIX_PII_SOCKET.
5546         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
5547         * doc/posix-functions/recvfrom.texi: Likewise.
5548         * doc/posix-functions/send.texi: Likewise.
5549         * doc/posix-functions/sendto.texi: Likewise.
5550
5551 2010-12-19  Bruno Haible  <bruno@clisp.org>
5552
5553         tcgetsid: Add missing declaration on OSF/1 5.1.
5554         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
5555         HAVE_TCGETSID.
5556         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
5557         Don't set HAVE_TCGETSID.
5558         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
5559         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
5560         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
5561         HAVE_TCGETSID.
5562         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
5563
5564 2010-12-19  Bruno Haible  <bruno@clisp.org>
5565
5566         stdio: Fix problem with popen() declaration on OSF/1 5.1.
5567         * lib/stdio.in.h: During the include_next statement, let recursive
5568         includes of this file include only the system header file.
5569
5570 2010-12-19  Bruno Haible  <bruno@clisp.org>
5571
5572         iconv_open: Fix regression from 2010-12-04.
5573         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
5574         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
5575
5576 2010-12-19  Bruno Haible  <bruno@clisp.org>
5577
5578         stdbool test: Avoid a gcc warning.
5579         * tests/test-stdbool.c (main): Fail if e1 is false.
5580         Reported by Jim Meyering.
5581
5582 2010-12-19  Jim Meyering  <meyering@redhat.com>
5583
5584         setenv: restore to working order
5585         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
5586         mistakenly removed.
5587         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
5588         HAVE_SETENV.
5589         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
5590         HAVE_SETENV.
5591
5592 2010-12-19  Bruno Haible  <bruno@clisp.org>
5593
5594         Document some different function declarations on OSF/1 5.1.
5595         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
5596         * doc/posix-functions/inet_ntop.texi: Likewise.
5597         * doc/posix-functions/gethostname.texi: Likewise.
5598         * lib/unistd.in.h (gethostname): Update comment.
5599
5600 2010-12-19  Bruno Haible  <bruno@clisp.org>
5601
5602         doc: Mention vasprintf-posix module.
5603         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
5604         the 'vasprintf-posix' module.
5605         * doc/glibc-functions/vasprintf.texi: Likewise.
5606
5607 2010-12-19  Bruno Haible  <bruno@clisp.org>
5608
5609         unsetenv: Add missing declaration on OSF/1 5.1.
5610         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
5611         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
5612         Don't set HAVE_UNSETENV. In the test program, set _BSD.
5613         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
5614         not HAVE_UNSETENV.
5615         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
5616         HAVE_UNSETENV.
5617         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
5618
5619 2010-12-19  Bruno Haible  <bruno@clisp.org>
5620
5621         setenv: Add missing declaration on OSF/1 5.1.
5622         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
5623         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
5624         declared. Don't set HAVE_SETENV.
5625         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
5626         not HAVE_SETENV.
5627         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
5628         HAVE_SETENV.
5629         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
5630
5631 2010-12-19  Bruno Haible  <bruno@clisp.org>
5632
5633         nl_langinfo tests: Avoid gcc warning.
5634         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
5635
5636 2010-12-19  Bruno Haible  <bruno@clisp.org>
5637
5638         mknod: Avoid error in C++ mode on OSF/1 with GCC.
5639         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
5640         _GL_CXXALIAS_SYS.
5641
5642 2010-12-19  Bruno Haible  <bruno@clisp.org>
5643
5644         stdbool: Relax test.
5645         * tests/test-stdbool.c (e): Don't require that casts from a variable's
5646         address to 'bool' work in static initializer, for compilers other than
5647         GCC.
5648
5649 2010-12-19  Bruno Haible  <bruno@clisp.org>
5650
5651         ftello: Add missing declaration on OSF/1 5.1.
5652         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
5653         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
5654         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
5655         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
5656         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
5657
5658 2010-12-19  Bruno Haible  <bruno@clisp.org>
5659
5660         fseeko: Add missing declaration on OSF/1 5.1.
5661         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
5662         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
5663         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
5664         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
5665         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
5666
5667 2010-12-19  Bruno Haible  <bruno@clisp.org>
5668
5669         fchdir: Add missing declaration on OSF/1 5.1.
5670         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
5671         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
5672         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
5673         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
5674         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
5675
5676 2010-12-19  Bruno Haible  <bruno@clisp.org>
5677
5678         relocatable-prog-wrapper: Separate from relocatable-prog.
5679         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
5680         uninstall-relocwrapper rule here.
5681         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
5682         Reported by Ian Beckwith <ianb@erislabs.net>.
5683
5684 2010-12-19  Bruno Haible  <bruno@clisp.org>
5685
5686         unistr/u8-mbsnlen: Add missing dependency.
5687         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
5688         Reported by Ian Beckwith <ianb@erislabs.net>.
5689
5690 2010-12-19  Bruno Haible  <bruno@clisp.org>
5691
5692         iconv: Make it possible again to use this module without 'iconv-h'.
5693         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
5694         if it is not defined.
5695         Reported by Ian Beckwith <ianb@erislabs.net>.
5696
5697 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
5698
5699         acl: port to Solaris 8 when copying from tmpfs to ufs
5700         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
5701         error number.  Problem observed on Solaris 8 with latest
5702         coreutils, with "mv A B", where A is on a tmpfs file system and B
5703         is on a ufs file system.  This caused coreutils' mv/part-symlink
5704         test to fail.
5705
5706         tests: set fail=0 at start
5707         * tests/init.sh (setup_): Move fail=0 initialization here ...
5708         (mktempd_): ... from here, so that tests can rely on fail being
5709         set to 0 initially.  This fixes a problem in coreutils; see:
5710         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
5711
5712 2010-12-18  Bruno Haible  <bruno@clisp.org>
5713
5714         memmem-simple: Stylistic changes.
5715         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
5716         Fix preprocessor directive indentation.
5717
5718 2010-12-15  Pádraig Brady <P@draigBrady.com>
5719
5720         memmem, memmem-simple: reorganize and expand empty needle check
5721         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
5722         functional checks to memmem-simple so that one has a fully functional
5723         memmem by using just this module.
5724         Restrict the performance only check to the memmem module.
5725         Also expand the empty needle check to ensure the correct
5726         pointer is returned, not just a non NULL pointer.
5727         * doc/glibc-functions/memmem.texi: Rearrange the portability
5728         documentation to correlate with the rearranged checks.
5729         Clarify exactly how the memmem and memmem-simple modules
5730         relate to each other.
5731
5732 2010-12-15  Pádraig Brady <P@draigBrady.com>
5733             Bruno Haible  <bruno@clisp.org>
5734
5735         Improve cross-compilation guesses for uClibc.
5736         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
5737         that uClibc does not have the glibc bug.
5738         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
5739         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
5740
5741 2010-12-14  Eric Blake  <eblake@redhat.com>
5742
5743         configmake: provide fallbacks for oldest supported autotools
5744         * m4/configmake.m4: New file.
5745         * modules/configmake (Files): Ship it.
5746         (configure.ac): Use it to guarantee fallbacks.
5747
5748 2010-12-13  Pádraig Brady <P@draigBrady.com>
5749
5750         read-file: Improve handling of large files
5751         * lib/read-file.c (fread_file): Minimize realloc()s
5752         for regular files, and better manage sizes around SIZE_MAX.
5753
5754 2010-12-13  Eric Blake  <eblake@redhat.com>
5755
5756         cloexec, fcntl: relax license
5757         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
5758         consent from all contributors.
5759         * modules/fcntl (License): Likewise.
5760
5761 2010-12-10  Bruno Haible  <bruno@clisp.org>
5762
5763         Tests for module 'pipe-posix'.
5764         * modules/pipe-posix-tests: New file.
5765         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
5766
5767 2010-12-10  Bruno Haible  <bruno@clisp.org>
5768
5769         pipe-posix: Make it work in C++ mode.
5770         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
5771         (pipe): Use common idiom, not a macro definition.
5772         * lib/pipe.c: New file.
5773         * m4/pipe.m4: New file.
5774         * modules/pipe-posix (Description): Enhance.
5775         (Files): Add lib/pipe.c, m4/pipe.m4.
5776         (configure.ac): Invoke gl_FUNC_PIPE.
5777         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
5778         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
5779         * tests/test-unistd-c++.cc: Check the signature of pipe.
5780
5781 2010-12-10  Bruno Haible  <bruno@clisp.org>
5782
5783         Rename module 'pipe' to 'spawn-pipe'.
5784         * modules/spawn-pipe: New file, renamed from modules/pipe.
5785         (Files, configure.ac, Makefile.am): Update.
5786         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
5787         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
5788         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
5789         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
5790         "spawn-pipe.h" instead of "pipe.h".
5791         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
5792         to gl_SPAWN_PIPE.
5793         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
5794         (Files, Makefile.am): Update.
5795         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
5796         Update.
5797         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
5798         Include "spawn-pipe.h" instead of "pipe.h".
5799         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
5800         * lib/javacomp.c: Likewise.
5801         * lib/javaversion.c: Likewise.
5802         * lib/pipe-filter-gi.c: Likewise.
5803         * lib/pipe-filter-ii.c: Likewise.
5804         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
5805         * modules/javacomp (Depends-on): Likewise.
5806         * modules/javaversion (Depends-on): Likewise.
5807         * modules/pipe-filter-gi (Depends-on): Likewise.
5808         * modules/pipe-filter-ii (Depends-on): Likewise.
5809         * MODULES.html.sh (Executing programs): Update.
5810         * NEWS: Mention the change.
5811
5812 2010-12-10  Eric Blake  <eblake@redhat.com>
5813
5814         pipe-posix: new module
5815         * modules/pipe-posix: New file.
5816         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
5817         (gl_UNISTD_H): Check for declaration.
5818         * modules/unistd (Makefile.am): Substitute it.
5819         * lib/unistd.in.h (pipe): Provide it for mingw.
5820         * doc/posix-functions/pipe.texi (pipe): Update documentation.
5821         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
5822
5823 2010-12-07  Bruno Haible  <bruno@clisp.org>
5824
5825         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
5826         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
5827         u8_strcmp_gnu.
5828         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
5829
5830 2010-12-06  Bruno Haible  <bruno@clisp.org>
5831
5832         Update internal documentation.
5833         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
5834
5835 2010-12-04  Bruno Haible  <bruno@clisp.org>
5836
5837         Put more information about failed tests into the test return codes.
5838         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
5839         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
5840         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
5841         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5842         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
5843         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
5844         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
5845         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
5846         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
5847         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
5848         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
5849         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
5850         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
5851         * m4/stdint.m4 (gl_STDINT_H): Likewise.
5852         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
5853         returns a bit mask.
5854         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
5855         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
5856         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
5857         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
5858         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
5859         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
5860         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
5861         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
5862         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
5863         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
5864         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
5865         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
5866         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
5867         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
5868         * m4/link.m4 (gl_FUNC_LINK): Likewise.
5869         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
5870         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
5871         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
5872         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
5873         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
5874         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
5875         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
5876         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
5877         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
5878         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
5879         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
5880         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
5881         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
5882         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
5883         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
5884         gl_PRINTF_PRECISION): Likewise.
5885         * m4/regex.m4 (gl_REGEX): Likewise.
5886         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
5887         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
5888         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
5889         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
5890         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
5891         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
5892         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
5893         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
5894         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
5895         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
5896         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
5897         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
5898         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
5899         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
5900         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
5901         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
5902         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
5903         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
5904         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
5905         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
5906         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
5907         enumerated value.
5908         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
5909
5910 2010-12-04  Bruno Haible  <bruno@clisp.org>
5911
5912         Update for Solaris 11 2010-11.
5913         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
5914         Express, released in November 2010.
5915
5916 2010-12-04  Bruno Haible  <bruno@clisp.org>
5917
5918         nproc: Relax license.
5919         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
5920         and Paul Eggert.
5921         Requested by Ludovic Courtès <ludo@gnu.org>.
5922
5923 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
5924
5925         utimecmp: fine-grained src to nearby coarse-grained dest
5926
5927         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
5928         and the source is on a file system with higher-resolution time
5929         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
5930         not work, and the time stamps are close together, the algorithm to
5931         determine the exact resolution from the read-back mtime was buggy:
5932         it had a "!=" where it should have had an "==".  This bug has been
5933         in the code ever since it was introduced to gnulib.
5934         Problem reported by Dan Jacobson in
5935         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
5936
5937 2010-11-30  Bruno Haible  <bruno@clisp.org>
5938
5939         strerror_r-posix: Fix autoconf test.
5940         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
5941
5942 2010-11-28  Bruno Haible  <bruno@clisp.org>
5943             Paul Eggert  <eggert@cs.ucla.edu>
5944
5945         Tests for module 'getdomainname'.
5946         * modules/getdomainname-tests: New file.
5947         * tests/test-getdomainname.c: New file, based on
5948         tests/test-gethostname.c.
5949
5950 2010-11-28  Bruno Haible  <bruno@clisp.org>
5951             Paul Eggert  <eggert@cs.ucla.edu>
5952
5953         getdomainname: Use the system function when possible.
5954         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
5955         (getdomainname): Replace if needed. Provide the declaration if it is
5956         missing. Don't use _GL_CXXALIAS_SYS_CAST.
5957         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
5958         (getdomainname): When the system has getdomainname, call the system
5959         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
5960         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
5961         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
5962         found in libnsl. Look for the declaration also in <netdb.h>. Replace
5963         the function if its second argument is of type 'int' or if it is found
5964         in libnsl.
5965         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
5966         <sys/systeminfo.h> and sysinfo().
5967         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
5968         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
5969         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
5970         HAVE_GETDOMAINNAME.
5971         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
5972         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
5973         * doc/glibc-functions/getdomainname.texi: Document the problems with
5974         the getdomainname declaration.
5975
5976 2010-11-28  Bruno Haible  <bruno@clisp.org>
5977
5978         sys_socket: Ensure ss_family field on AIX.
5979         * lib/sys_socket.in.h (ss_family): New macro definition.
5980         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
5981         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
5982         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
5983         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
5984         * modules/sys_socket (Makefile.am): Substitute
5985         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
5986         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
5987
5988 2010-11-27  Bruno Haible  <bruno@clisp.org>
5989
5990         readline: Improve configure output.
5991         * m4/readline.m4 (gl_FUNC_READLINE): Make the
5992         "checking for readline..." result understandable.
5993
5994 2010-11-27  Bruno Haible  <bruno@clisp.org>
5995
5996         *printf-posix: Detect a bug on Solaris 10/x86.
5997         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
5998         for floating-point output.
5999         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
6000         directive.
6001         * tests/test-snprintf-posix.h (test_function): Likewise.
6002         * tests/test-sprintf-posix.h (test_function): Likewise.
6003         * tests/test-vasprintf-posix.c (test_function): Likewise.
6004         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
6005         * doc/posix-functions/printf.texi: Likewise.
6006         * doc/posix-functions/snprintf.texi: Likewise.
6007         * doc/posix-functions/sprintf.texi: Likewise.
6008         * doc/posix-functions/vfprintf.texi: Likewise.
6009         * doc/posix-functions/vprintf.texi: Likewise.
6010         * doc/posix-functions/vsnprintf.texi: Likewise.
6011         * doc/posix-functions/vsprintf.texi: Likewise.
6012         * doc/glibc-functions/obstack_printf.texi: Likewise.
6013         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
6014
6015 2010-11-27  Bruno Haible  <bruno@clisp.org>
6016
6017         Fix link error when module libunistring-optional is in use.
6018         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
6019         * modules/striconveha-tests (Makefile.am): Likewise.
6020
6021 2010-11-27  Bruno Haible  <bruno@clisp.org>
6022
6023         regex: Mention link dependencies.
6024         * modules/regex (Link): New section.
6025         * modules/rpmatch (Link): Likewise.
6026         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
6027
6028 2010-11-27  Bruno Haible  <bruno@clisp.org>
6029
6030         ftoastr: Fix compilation error on Solaris.
6031         * lib/ftoastr.c: Include <config.h>.
6032
6033 2010-11-27  Bruno Haible  <bruno@clisp.org>
6034
6035         getloadavg: Update documentation.
6036         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
6037
6038 2010-11-27  Bruno Haible  <bruno@clisp.org>
6039
6040         sys_socket: Fix test whether the functions are declared.
6041         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
6042         not <sys/select.h>.
6043
6044 2010-11-27  Bruno Haible  <bruno@clisp.org>
6045
6046         getpass: Make sure to get system declaration on some platforms.
6047         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
6048         gl_USE_SYSTEM_EXTENSIONS.
6049         * modules/getpass (Depends-on): Add extensions.
6050
6051 2010-11-26  Bruno Haible  <bruno@clisp.org>
6052
6053         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
6054         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
6055         'iconv' module is present.
6056         (ICONV_CONST): New macro.
6057         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
6058         ICONV_CONST.
6059         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
6060         set ICONV_CONST.
6061         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
6062         here.
6063         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
6064         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
6065         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
6066         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
6067         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
6068         present.
6069
6070 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
6071
6072         ftoastr: comment fix
6073         * lib/ftoastr.c: "little" -> "little or no" in comment
6074
6075 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
6076
6077         stdint: port to GCC 4.3 + OSX + Octave
6078         On this platform, stdint.h is buggy and defines int64_t to long
6079         long int.  The replacement defined it to long int, causing
6080         problems with C++ style name mangling.  Instead, trust the system
6081         definition if INT64_MAX is defined, and likewise for the unsigned
6082         variant.   Problem reported by Jarno Rajahalme in
6083         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
6084         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
6085         and don't mess with int64_t and INT64_MAX in this case.
6086         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
6087
6088 2010-11-24  Bruno Haible  <bruno@clisp.org>
6089
6090         doc: Corrections regarding MacOS X 10.4 and 10.5.
6091         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
6092         MacOS X.
6093         Reported by Simon Josefsson.
6094
6095 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
6096
6097         Uninstall ".bin" files installed by relocwrapper.
6098         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
6099         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
6100         unless it is already there.
6101
6102 2010-11-21  Bruno Haible  <bruno@clisp.org>
6103
6104         Update for NetBSD 5.0.
6105         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
6106         NetBSD; the test fails on NetBSD 5.0.
6107         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
6108         about NetBSD.
6109
6110 2010-11-21  Bruno Haible  <bruno@clisp.org>
6111
6112         Update for HP-UX 11.23 and HP-UX 11.31.
6113         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
6114         HP-UX.
6115
6116 2010-11-21  Bruno Haible  <bruno@clisp.org>
6117
6118         Update for MacOS X 10.5.
6119         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
6120         MacOS X; the test fails on MacOS X 10.5.8.
6121         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
6122         about MacOS X.
6123
6124 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
6125
6126         bootstrap: add bootstrap_sync option.
6127         See discussion at
6128         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
6129         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
6130         * build-aux/bootstrap: Accept --bootstrap-sync to update
6131         bootstrap if it is not identical to the local gnulib's
6132         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
6133         enable this by default.  Accept --no-bootstrap-sync to disable
6134         it.
6135
6136 2010-11-20  Bruno Haible  <bruno@clisp.org>
6137
6138         Ensure that <features.h> is included before __GLIBC__ is tested.
6139         * lib/printf-parse.h: Include <features.h>.
6140         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
6141         Reported by Mike Frysinger <vapier@gentoo.org>.
6142
6143         Ensure that <features.h> is included before __GLIBC__ is tested.
6144         * lib/wchar.in.h: Include <features.h>.
6145         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
6146         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
6147         Reported by Mike Frysinger <vapier@gentoo.org>.
6148
6149         Ensure that <features.h> is included before __GLIBC__ is tested.
6150         * lib/arpa_inet.in.h: Include <features.h>.
6151         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
6152         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
6153         Reported by Mike Frysinger <vapier@gentoo.org>.
6154
6155         Ensure that <features.h> is included before __GLIBC__ is tested.
6156         * build-aux/link-warning.h: Include <features.h>.
6157         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
6158         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
6159         Reported by Mike Frysinger <vapier@gentoo.org>.
6160
6161         Ensure that <features.h> is included before __GLIBC__ is tested.
6162         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
6163         Reported by Mike Frysinger <vapier@gentoo.org>.
6164
6165 2010-11-20  Bruno Haible  <bruno@clisp.org>
6166
6167         memmem: Fix autoconf test.
6168         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
6169
6170 2010-11-20  Bruno Haible  <bruno@clisp.org>
6171
6172         Port to uClibc.
6173         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
6174         * lib/fcntl.in.h: Likewise.
6175         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
6176         * lib/mbrtowc.c (mbrtowc): Likewise.
6177         * lib/relocatable.c (find_shared_library_fullname): Likewise.
6178         * lib/strerror_r.c: Likewise.
6179         * lib/unistr/u8-strnlen.c: Likewise.
6180         * lib/vasnprintf.c (decimal_point_char): Likewise.
6181         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
6182         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
6183         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
6184         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
6185         * tests/test-sigaction.c (handler, main): Likewise.
6186         * lib/freading.h: Treat uClibc like a non-glibc platform.
6187         * lib/freading.c: Likewise.
6188         * lib/gettext.h: Likewise.
6189         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
6190         Likewise.
6191         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
6192         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
6193         * lib/propername.c (proper_name_utf8): Likewise.
6194         * lib/spawn.in.h: Likewise.
6195         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
6196         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
6197         mem_cd_iconveh_internal): Likewise.
6198         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
6199         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
6200         strstr, strcasestr): Likewise.
6201         * lib/unicodeio.c (unicode_to_mb): Likewise.
6202         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
6203         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
6204         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
6205         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
6206         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
6207         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
6208         * lib/unistr/u8-stpncpy.c: Likewise.
6209         * lib/vasnprintf.c (VASNPRINTF): Likewise.
6210         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
6211         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
6212         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
6213         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
6214         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
6215         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
6216         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
6217         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
6218         Likewise.
6219         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
6220         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
6221         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
6222         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
6223         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
6224         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
6225         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
6226         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
6227         * tests/test-getopt.h (OPTIND_MIN): Likewise.
6228         * tests/test-striconveha.c (main): Likewise.
6229         * tests/test-vasnprintf-posix.c (test_function): Likewise.
6230         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
6231         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
6232         * doc/posix-functions/getline.texi: Likewise.
6233         Reported by Mike Frysinger <vapier@gentoo.org>.
6234
6235 2010-11-20  Bruno Haible  <bruno@clisp.org>
6236
6237         nproc: Fix condition.
6238         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
6239         HAVE_PTHREAD_AFFINITY_NP.
6240
6241 2010-11-20  Bruno Haible  <bruno@clisp.org>
6242
6243         Fix a comment.
6244         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
6245
6246 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6247
6248         ftoastr: don't assume snprintf
6249         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
6250         Implement a subset of snprintf here, by using sprintf safely.
6251         * modules/ftoastr (Depends-on): Remove snprintf.
6252
6253 2010-11-19  Jim Meyering  <meyering@redhat.com>
6254
6255         test-rename.h: fix compilation failure
6256         * tests/test-rename.h (test_rename): Add omitted "}".
6257
6258 2010-11-17  Jim Meyering  <meyering@redhat.com>
6259
6260         maint.mk: add a URL discussing the no-@acronym policy
6261         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
6262
6263 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
6264
6265         ftoastr: depend on snprintf, improve comments
6266         * lib/ftoastr.c: Also mention Loitsch's draft.
6267         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
6268         needed in the current implementation, but it might simplify
6269         speeding up the code later.
6270         * modules/ftoastr: Depend on snprintf; this improves portability.
6271         Suggested by Bruno Haible in the same email.
6272
6273         ftoastr: port to hosts lacking strtof and strtold
6274         Problem reported by Bruno Haible in
6275         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
6276         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
6277         environment and strtold (and presumably strtof) are not available.
6278         * modules/ftoastr (Files): Add m4/c-strtod.m4.
6279         (configure.ac): Require gl_C99_STRTOLD.
6280
6281 2010-11-18  Bruno Haible  <bruno@clisp.org>
6282
6283         c-strtold: Avoid link error on AIX 7.
6284         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
6285         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
6286         (gl_C_STRTOLD): Test whether strtold_l exists.
6287         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
6288
6289 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
6290
6291         intprops: new macro INT_BITS_STRLEN_BOUND
6292         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
6293         ftoastr.h.  This exposes an internal of intprops.h that was formerly
6294         not exposed.  Also, it uses a slightly tighter bound than before;
6295         though this makes no practical difference, we might as well be as
6296         tight as we easily can.
6297
6298         ftoastr: new module, for lossless conversion of floats to short strings
6299         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
6300         * modules/ftoastr: New files.
6301
6302 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
6303
6304         bootstrap: port to Solaris sed
6305         * build-aux/bootstrap (get_version): Port to Solaris sed.
6306         See Ralf Wildenhues's note in
6307         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
6308
6309 2010-11-14  Jim Meyering  <meyering@redhat.com>
6310
6311         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
6312         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
6313         and move definition closer to sole use.
6314
6315 2010-11-13  Jim Meyering  <meyering@redhat.com>
6316
6317         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
6318         Now we require at least autoconf-2.59, which means the work-around
6319         is no longer needed.
6320         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
6321         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
6322         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
6323         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
6324         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
6325
6326 2010-11-13  Bruno Haible  <bruno@clisp.org>
6327
6328         rename, renameat: Avoid test failures at NFS mounted locations.
6329         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
6330         functions.
6331         (test_rename): Use assert_nonexistent.
6332         * tests/test-rename.c: Include <dirent.h>.
6333         * tests/test-renameat.c: Likewise.
6334         Reported by Gary V. Vaughan <gary@gnu.org>.
6335
6336         rename, renameat: Document Linux bug with NFS
6337         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
6338         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
6339         * doc/posix-functions/renameat.texi: Likewise.
6340         Suggested by Eric Blake.
6341
6342 2010-11-13  Bruno Haible  <bruno@clisp.org>
6343
6344         rename test: Add comments.
6345         * tests/test-rename.h (test_rename): Add structure and comments.
6346
6347 2010-11-13  Eric Blake  <eblake@redhat.com>
6348
6349         maintainer-makefile: cover a few more files
6350         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
6351         scripts generated within C files, for libvirt.
6352
6353 2010-11-13  Bruno Haible  <bruno@clisp.org>
6354
6355         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
6356         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
6357         character, return the number of bytes that belong together, not always
6358         1.
6359         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
6360         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
6361         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
6362         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
6363         number of bytes of an invalid character.
6364         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
6365         (main): Invoke it.
6366         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
6367         results.
6368         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
6369         malformed byte sequences.
6370         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
6371         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
6372         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
6373         Reported by Ben Pfaff and Paolo Bonzini.
6374
6375 2010-11-13  Bruno Haible  <bruno@clisp.org>
6376
6377         openat: Work around glibc bug with fchownat() and empty file names.
6378         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
6379         (gl_FUNC_FCHOWNAT): Invoke it.
6380         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
6381         * doc/posix-functions/fchownat.texi: Document the glibc bug.
6382         Reported by Gary V. Vaughan <gary@gnu.org>.
6383
6384 2010-11-13  Bruno Haible  <bruno@clisp.org>
6385
6386         openat: Ensure autoconf macro ordering.
6387         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
6388         gl_USE_SYSTEM_EXTENSIONS.
6389         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
6390
6391 2010-11-13  Bruno Haible  <bruno@clisp.org>
6392
6393         Update comments.
6394         * lib/unistr/u8-check.c: Update file name in comments.
6395         * lib/unistr/u8-mblen.c: Likewise.
6396         * lib/unistr/u8-prev.c: Likewise.
6397         * lib/unistr/u8-strmblen.c: Likewise.
6398         * lib/unistr/u8-strmbtouc.c: Likewise.
6399
6400 2010-11-13  Jim Meyering  <meyering@redhat.com>
6401
6402         tests: avoid test failure on Solaris 10 due to lack of PATH export
6403         * tests/test-update-copyright.sh: Don't forget to export PATH.
6404
6405         init.sh: ensure that IFS is defined, just in case...
6406         * tests/init.sh (setup_): Ensure that IFS is defined,
6407         so that saving and restoring it works as expected.  This
6408         appears to be useful at least for an old version of dash
6409         from a long time ago (RH 6).  See here for details:
6410         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
6411
6412         maint.mk: tighten "test a == b" check
6413         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
6414         test to files that contain something like #!/bin/sh.
6415         Without this, coreutils would get two false positives in
6416         the comments of C source files.
6417
6418 2010-11-12  Eric Blake  <eblake@redhat.com>
6419
6420         bootstrap: fix typo in previous attempt
6421         * build-aux/bootstrap (buildreq): Correct the grouping.
6422         Reported by Paul Eggert.
6423
6424         maintainer-makefile: prohibit test x == x
6425         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
6426         Based on a report by Matthias Bolte.
6427
6428         bootstrap: allow FreeBSD gzip
6429         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
6430         which has no '.' and goes to stderr.
6431         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
6432         Reported by Matthias Bolte.
6433
6434         maintainer-makefile: check for i18n setup
6435         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
6436         will likely work.
6437
6438 2010-11-12  Bruno Haible  <bruno@clisp.org>
6439
6440         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
6441         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
6442         * lib/nanosleep.c (nanosleep): Likewise.
6443
6444 2010-11-11  Bruno Haible  <bruno@clisp.org>
6445
6446         fcntl-h: Fix for use of C++ on glibc systems.
6447         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
6448         also on glibc systems in C++ mode.
6449         Reported by Gary V. Vaughan <gary@gnu.org>.
6450
6451 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
6452
6453         mknod: avoid false failure with dash
6454         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
6455
6456 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
6457
6458         unlink: Fix "is it should" typo in diagnostic.
6459         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
6460         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
6461
6462 2010-11-11  Bruno Haible  <bruno@clisp.org>
6463
6464         Tests for module 'strerror_r-posix'.
6465         * modules/strerror_r-posix-tests: New file.
6466         * tests/test-strerror_r.c: New file.
6467         * tests/test-string-c++.cc: Check the signature of strerror_r.
6468
6469         New module 'strerror_r-posix'.
6470         * lib/string.in.h (strerror_r): New declaration.
6471         * lib/strerror_r.c: New file.
6472         * m4/strerror_r.m4: New file.
6473         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
6474         of strerror_r.
6475         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
6476         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
6477         * modules/strerror_r-posix: New file.
6478         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
6479         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
6480         * doc/posix-functions/strerror_r.texi: Mention the new module and the
6481         portability problems.
6482
6483 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
6484
6485         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
6486         line is also considered for output. Quoted function name in shell
6487         command, so temporary files for functions like MyClass::operator()
6488         are removed correctly without errors.
6489
6490 2010-11-09  Bruno Haible  <bruno@clisp.org>
6491
6492         * doc/posix-functions/strerror.texi: List more failing platforms.
6493
6494         * doc/posix-functions/strerror.texi: Add a comment.
6495
6496 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
6497
6498         fdopendir: fix bug on MacOS X when low on file descriptors
6499
6500         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
6501         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
6502         All callers changed.
6503         (fdopendir): Invoke save_cwd at the top level, not after using
6504         multiple dup() calls to use up file descriptors.  Then retry
6505         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
6506         less than the maximum number of open file descriptors, because
6507         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
6508         on Mac OS X 10.6.4 for tar 1.24
6509         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
6510         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
6511         and for tar 1.25
6512         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
6513
6514 2010-11-07  Bruno Haible  <bruno@clisp.org>
6515
6516         vasnprintf: Support I flag on glibc systems.
6517         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
6518         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
6519         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
6520         snprintf function.
6521         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
6522         glibc systems.
6523         * tests/test-vasnprintf-posix3.c: New file.
6524         * modules/vasnprintf-posix-tests (Files): Add it.
6525         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
6526
6527 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
6528
6529         [html] Fix copy/paste bug: Use unique name for compiler warnings.
6530         * MODULES.html.sh: For compiler warnings, use name
6531         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
6532
6533 2010-11-05  Eric Blake  <eblake@redhat.com>
6534
6535         ceil, floor: avoid spurious failure with icc
6536         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
6537         [denormals-as-zero] when optimizing without -mieee-fp option.
6538         * tests/test-floorf2.c (floorf_reference): Likewise.
6539         * tests/test-ceilf1.c (dummy): New function.
6540         (main): Use it to outsmart icc's optimization.
6541         * tests/test-floorf1.c (dummy, main): Likewise.
6542
6543         tests: require working signbit
6544         * modules/ceilf-tests (Depends-on): Add signbit.
6545         * modules/ceill-tests (Depends-on): Likewise.
6546         * modules/floorf-tests (Depends-on): Likewise.
6547         * modules/floorl-tests (Depends-on): Likewise.
6548         * modules/round-tests (Depends-on): Likewise.
6549         * modules/roundf-tests (Depends-on): Likewise.
6550         * modules/roundl-tests (Depends-on): Likewise.
6551         * modules/trunc-tests (Depends-on): Likewise.
6552         * modules/truncf-tests (Depends-on): Likewise.
6553         * modules/truncl-tests (Depends-on): Likewise.
6554
6555         strtod: work around icc bug
6556         * lib/strtod.c (minus_zero): Define to working value.
6557         (strtod): Use it to avoid icc bug.
6558
6559         copysign: enhance tests
6560         * modules/copysign-tests (Files): Add minus-zero.h.
6561         * tests/test-copysign.c (main): Also test zeros.
6562
6563 2010-11-04  Eric Blake  <eblake@redhat.com>
6564
6565         ceil, floor, round, trunc: enhance tests of -0
6566         * tests/test-ceilf1.c (main): Ensure correct sign of result.
6567         * tests/test-ceill.c (main): Likewise.
6568         * tests/test-floorf1.c (main): Likewise.
6569         * tests/test-floorl.c (main): Likewise.
6570         * tests/test-round1.c (main): Likewise.
6571         * tests/test-roundf1.c (main): Likewise.
6572         * tests/test-roundl.c (main): Likewise.
6573         * tests/test-trunc1.c (main): Likewise.
6574         * tests/test-truncf1.c (main): Likewise.
6575         * tests/test-truncl.c (main): Likewise.
6576
6577 2010-11-04  Eric Blake  <eblake@redhat.com>
6578
6579         frexp, tests: work around ICC bug with -zero
6580         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
6581         works with more compilers.
6582         * tests/minus-zero.h: New file.
6583         * modules/ceilf-tests (Files): Include it.
6584         * modules/ceill-tests (Files): Likewise.
6585         * modules/floorf-tests (Files): Likewise.
6586         * modules/floorl-tests (Files): Likewise.
6587         * modules/frexp-nolibm-tests (Files): Likewise.
6588         * modules/frexp-tests (Files): Likewise.
6589         * modules/frexpl-nolibm-tests (Files): Likewise.
6590         * modules/frexpl-tests (Files): Likewise.
6591         * modules/isnan-tests (Files): Likewise.
6592         * modules/isnand-nolibm-tests (Files): Likewise.
6593         * modules/isnand-tests (Files): Likewise.
6594         * modules/isnanf-nolibm-tests (Files): Likewise.
6595         * modules/isnanf-tests (Files): Likewise.
6596         * modules/isnanl-nolibm-tests (Files): Likewise.
6597         * modules/isnanl-tests (Files): Likewise.
6598         * modules/round-tests (Files): Likewise.
6599         * modules/roundf-tests (Files): Likewise.
6600         * modules/roundl-tests (Files): Likewise.
6601         * modules/ldexpl-tests (Files): Likewise.
6602         * modules/signbit-tests (Files): Likewise.
6603         * modules/snprintf-posix-tests (Files): Likewise.
6604         * modules/sprintf-posix-tests (Files): Likewise.
6605         * modules/strtod-tests (Files): Likewise.
6606         * modules/trunc-tests (Files): Likewise.
6607         * modules/truncf-tests (Files): Likewise.
6608         * modules/truncl-tests (Files): Likewise.
6609         * modules/vsnprintf-posix-tests (Files): Likewise.
6610         * modules/vsprintf-posix-tests (Files): Likewise.
6611         * modules/vasnprintf-posix-tests (Files): Likewise.
6612         * modules/vasprintf-posix-tests (Files): Likewise.
6613         * tests/test-ceilf1.c (main): Use it.
6614         * tests/test-ceill.c (main): Likewise.
6615         * tests/test-floorf1.c (main): Likewise.
6616         * tests/test-floorl.c (main): Likewise.
6617         * tests/test-frexp.c (main): Likewise.
6618         * tests/test-frexpl.c (main): Likewise.
6619         * tests/test-isnan.c (main): Likewise.
6620         * tests/test-isnand.h (main): Likewise.
6621         * tests/test-isnanf.h (main): Likewise.
6622         * tests/test-isnanl.h (main): Likewise.
6623         * tests/test-ldexpl.c (main): Likewise.
6624         * tests/test-round.c (main): Likewise.
6625         * tests/test-roundf.c (main): Likewise.
6626         * tests/test-roundl.c (main): Likewise.
6627         * tests/test-signbit.c (test_signbitf, test_signbitd)
6628         (test_signbitl): Likewise.
6629         * tests/test-snprintf-posix.h (test_function): Likewise.
6630         * tests/test-sprintf-posix.h (test_function): Likewise.
6631         * tests/test-strtod.c (main): Likewise.
6632         * tests/test-trunc1.c (main): Likewise.
6633         * tests/test-truncf1.c (main): Likewise.
6634         * tests/test-truncl.c (main): Likewise.
6635
6636         isnanl: work around icc bug
6637         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
6638
6639 2010-11-03  Eric Blake  <eblake@redhat.com>
6640
6641         tests: fix compiler warnings
6642         * tests/test-getopt.h (test_getopt): Fix condition.
6643         * tests/test-getopt_long.h (test_getopt_long): Likewise.
6644         * tests/test-pipe2.c (main): Likewise.
6645         * tests/test-quotearg-simple.c (main): Avoid icc warning.
6646
6647         utimens: fix broken m4 test
6648         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
6649
6650 2010-10-28  Bruno Haible  <bruno@clisp.org>
6651
6652         posix_spawn*, getdtablesize: Relax license.
6653         * modules/posix_spawn (License): Change to LGPLv2+.
6654         * modules/posix_spawnp (License): Likewise.
6655         * modules/posix_spawn-internal (License): Likewise.
6656         * modules/posix_spawnattr_init (License): Likewise.
6657         * modules/posix_spawnattr_getflags (License): Likewise.
6658         * modules/posix_spawnattr_setflags (License): Likewise.
6659         * modules/posix_spawnattr_getpgroup (License): Likewise.
6660         * modules/posix_spawnattr_setpgroup (License): Likewise.
6661         * modules/posix_spawnattr_getschedparam (License): Likewise.
6662         * modules/posix_spawnattr_setschedparam (License): Likewise.
6663         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
6664         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
6665         * modules/posix_spawnattr_getsigdefault (License): Likewise.
6666         * modules/posix_spawnattr_setsigdefault (License): Likewise.
6667         * modules/posix_spawnattr_getsigmask (License): Likewise.
6668         * modules/posix_spawnattr_setsigmask (License): Likewise.
6669         * modules/posix_spawnattr_destroy (License): Likewise.
6670         * modules/posix_spawn_file_actions_init (License): Likewise.
6671         * modules/posix_spawn_file_actions_addclose (License): Likewise.
6672         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
6673         * modules/posix_spawn_file_actions_addopen (License): Likewise.
6674         * modules/posix_spawn_file_actions_destroy (License): Likewise.
6675         * modules/getdtablesize (License): Likewise.
6676         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
6677
6678 2010-10-26  Bruno Haible  <bruno@clisp.org>
6679
6680         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
6681         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
6682         Cygwin and mingw.
6683         Suggested by Eric Blake.
6684
6685 2010-10-26  Bruno Haible  <bruno@clisp.org>
6686
6687         stdio: Work around compilation error due to renameat() on Solaris 10.
6688         * lib/stdio.in.h: Include <unistd.h> on Solaris.
6689         * lib/renameat.c: Don't include <unistd.h> here.
6690         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
6691         Reported by Paul Eggert and Eric Blake.
6692
6693 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
6694
6695         renameat: port to Solaris 10, which declares renameat in unistd.h
6696
6697         * lib/renameat.c: Include unistd.h before stdio.h, because
6698         Solaris 10 declares renameat in unistd.h.  Problem encountered
6699         when building GNU tar 1.24 on Solaris 10.
6700
6701 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
6702
6703         fdopendir: fix C89 compilation
6704         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
6705         compilers.
6706
6707 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
6708
6709         inttostr: simplify by removing unnecessary redundancy
6710         * lib/anytostr.c: Don't include verify.h.
6711         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
6712         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
6713         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
6714         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
6715         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
6716         Likewise.
6717         * modules/inttostr (Depends-on): Remove 'verify'.
6718
6719 2010-10-23  Bruno Haible  <bruno@clisp.org>
6720
6721         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
6722         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
6723         Reported by Eric Blake.
6724
6725 2010-10-23  Bruno Haible  <bruno@clisp.org>
6726
6727         Tests: Fix LOCALE_JA on MirBSD 10.
6728         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
6729         to an UTF-8 locale.
6730         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
6731         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
6732         Reported by Eric Blake.
6733
6734 2010-10-21  Bruno Haible  <bruno@clisp.org>
6735
6736         nl_langinfo test: Avoid test failure on NetBSD 5.
6737         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
6738         Reported by Eric Blake.
6739
6740 2010-10-21  Eric Blake  <eblake@redhat.com>
6741
6742         c-stack: work around libsigsegv 2.8 bug
6743         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
6744         overflow on at least PowerPC64.
6745
6746 2010-10-17  Bruno Haible  <bruno@clisp.org>
6747
6748         userspec: Drop redundant file.
6749         * modules/userspec (Files): Remove lib/inttostr.h.
6750
6751 2010-10-17  Bruno Haible  <bruno@clisp.org>
6752
6753         nl_langinfo tests: Silence some warnings.
6754         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
6755         Reported by Jim Meyering.
6756
6757 2010-10-17  Bruno Haible  <bruno@clisp.org>
6758
6759         Make use of GCC's attribute __alloc_size__.
6760         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
6761         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
6762         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
6763         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
6764         __alloc_size__.
6765         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
6766         Suggested by Jim Meyering.
6767
6768 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
6769
6770         bootstrap: anchor .gitignore entries.
6771         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
6772         with...
6773         (insert_vc_ignore): ... this new function, which prepends `/' to
6774         all .gitignore entries before passing them to
6775         insert_sorted_if_absent.
6776
6777 2010-10-16  Bruno Haible  <bruno@clisp.org>
6778
6779         nextafter: Fix configure check.
6780         * modules/nextafter (configure.ac): Correct expected prototype.
6781
6782 2010-10-16  Bruno Haible  <bruno@clisp.org>
6783
6784         termios: Update documentation.
6785         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
6786
6787 2010-10-16  Bruno Haible  <bruno@clisp.org>
6788
6789         tests: Make them compile with TinyCC.
6790         * tests/test-strstr.c (main): Remove parentheses around array
6791         initializer.
6792
6793 2010-10-15  Eric Blake  <eblake@redhat.com>
6794
6795         ignore-value: make header idempotent
6796         * lib/ignore-value.h: Add double-inclusion guards.
6797         Reported by Stefan Berger.
6798
6799 2010-10-15  Jim Meyering  <meyering@redhat.com>
6800
6801         GNUmakefile: handle "stable" target, not "major"
6802         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
6803         lists in maint.mk and announce-gen.  Without this, "make stable"
6804         would fail to ensure that $(VERSION) is up to date.
6805
6806 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
6807
6808         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
6809         & co.
6810
6811 2010-10-14  Bruno Haible  <bruno@clisp.org>
6812
6813         vasnprintf: Don't set errno to 0.
6814         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
6815         block that sets it to 0.
6816         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
6817
6818 2010-10-14  Bruno Haible  <bruno@clisp.org>
6819
6820         socketlib: Fix.
6821         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
6822         gl_PREREQ_SYS_H_WINSOCK2.
6823         Reported by Ian Beckwith <ianb@erislabs.net>.
6824
6825 2010-10-13  Jim Meyering  <meyering@redhat.com>
6826
6827         test-select-stdin.c: avoid warn_unused_result warnings
6828         * tests/test-select-stdin.c: Include "macros.h".
6829         ASSERT that read and fflush succeed.
6830
6831 2010-10-13  Jim Meyering  <meyering@redhat.com>
6832
6833         git-version-gen: do require git-VC'd files in cwd
6834         * build-aux/git-version-gen: Reject a git version string
6835         if there are no commits associated with the current directory.
6836         This avoids an unlikely false-positive (unrelated dir whose parent
6837         repository also contains a tag matching v*), as pointed out
6838         by Giuseppe Scrivano in
6839         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
6840
6841 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
6842
6843         argv-iter: omit nonconforming declaration
6844         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
6845         enum arg_iter_err declaration, which doesn't conform to C99.
6846         Solaris 10 cc warns about this.
6847
6848 2010-10-13  Eric Blake  <eblake@redhat.com>
6849
6850         termios: fix compilation on mingw
6851         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
6852         (gl_TERMIOS_H): Adjust it on mingw.
6853         * modules/termios (Makefile.am): Substitute new key.
6854         * lib/termios.in.h (includes): Make include_next conditional.
6855         * doc/posix-headers/termios.texi (termios.h): Update
6856         documentation.
6857         Reported by Daniel P. Berrange.
6858
6859 2010-10-13  Jim Meyering  <meyering@redhat.com>
6860
6861         git-version-gen: don't require that .git/ be in the current dir
6862         * build-aux/git-version-gen: Adjust this script so that it works
6863         when run from any working directory beneath the top-level .git/-
6864         containing directory.  Inspired by a patch from Giuseppe Scrivano,
6865         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
6866
6867         test-select: avoid warn_unused_result warnings
6868         * tests/test-select.c: Include "macros.h".
6869         ASSERT that each call to read, write, and pipe succeeds.
6870         While not technically required, also check each "close".
6871         * modules/select-tests (Files): Add tests/macros.h.
6872
6873         test-symlinkat: remove declaration of unused local
6874         * tests/test-symlinkat.c (main): Remove unused local, "buf".
6875
6876         test-inttostr: avoid shadowing warnings
6877         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
6878         and use malloc rather than the stack for the same reason as
6879         mentioned in the comment justifying the other allocation.
6880
6881 2010-10-11  Bruno Haible  <bruno@clisp.org>
6882
6883         stdlib: Allow multiple gnulib generated replacements to coexist.
6884         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
6885         Reported by Sam Steingold <sds@gnu.org>.
6886
6887 2010-10-11  Jim Meyering  <meyering@redhat.com>
6888
6889         fix a documentation typo
6890         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
6891
6892 2010-10-11  Eric Blake  <eblake@redhat.com>
6893
6894         futimens: work around Solaris 11 bug
6895         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
6896         * tests/test-futimens.h (test_futimens): Enhance, rather than
6897         weaken test.
6898         * doc/posix-functions/futimens.texi (futimens): Document the bug.
6899
6900 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
6901
6902         Indentation.
6903         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
6904         higher-level operators more to the left.
6905
6906 2010-10-11  Jim Meyering  <meyering@redhat.com>
6907
6908         test-futimens: avoid unwarranted test failure on Solaris 5.11
6909         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
6910         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
6911         because it tries to dereference the NULL name argument.
6912
6913 2010-10-11  Bruno Haible  <bruno@clisp.org>
6914
6915         Indentation.
6916         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
6917         indentation.
6918
6919 2010-10-11  Jim Meyering  <meyering@redhat.com>
6920
6921         spawn.in.h: make indentation consistent with parentheses
6922         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
6923         Make indentation consistent with parentheses.
6924
6925 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
6926
6927         Fix mismatched parens in previous commit
6928         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
6929         parens.
6930
6931 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
6932
6933         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
6934
6935         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
6936         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
6937         * lib/malloca.c: Include "verify.h".
6938         (verify1): Remove, replacing with a verify call.
6939         * lib/relocwrapper.c (verify1): Likewise.
6940         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
6941         Likewise.
6942         * modules/malloca (Depends-on): Add 'verify'.
6943         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
6944         * modules/vasnprintf (Depends-on): Add 'verify'.
6945         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
6946         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
6947         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
6948         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
6949         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
6950         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
6951         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
6952
6953         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
6954
6955         Formerly the style was sometimes 2*X - 1, because the C standard
6956         was wrongly thought to disallow ?: in integral constant expressions.
6957         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
6958         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
6959         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
6960         * lib/stdint.in.h (_verify_intmax_size): Likewise.
6961         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
6962         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
6963         verify that time_t cannot be floating.
6964
6965 2010-10-08  Eric Blake  <eblake@redhat.com>
6966
6967         time: enforce recent POSIX ruling that time_t is integral
6968         * lib/time.in.h (__time_t_must_be_integral): Detect any
6969         problematic systems, allowing the rest of gnulib to assume POSIX.
6970
6971 2010-10-08  Jim Meyering  <meyering@redhat.com>
6972
6973         fdopendir: fix a bug on systems lacking openat and /proc support
6974         OpenBSD 4.7 is one such system.  The most noticeable effect was
6975         failure of any application making nontrivial use of fts: rm, du,
6976         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
6977           ./rm: traversal failed: `a': Bad file descriptor
6978         Debugging that, you see that even though FD 6 was closed just
6979         prior to the opendir call in fd_clone_opendir, its resulting
6980         dir->dd_fd was 8, rather than the expected value of 6:
6981
6982         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
6983         93                close (fd);
6984         (gdb) n
6985         94                dir = fd_clone_opendir (dupfd);
6986         (gdb) n
6987         95                saved_errno = errno;
6988         (gdb) p dir->dd_fd
6989         $11 = 8
6990
6991         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
6992         The problem is that on OpenBSD, fd_clone_opendir has to resort
6993         to using the old-style save/restore CWD mechanism, due to its
6994         lack of openat/proc support, and *that* would steal the FD (6)
6995         that opendir was supposed to use.
6996
6997         The fix is to squirrel away the desired FD so that save_cwd uses a
6998         different one, and then free the dest FD right before calling opendir.
6999         That guarantees opendir will use the required file descriptor.
7000
7001         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
7002
7003 2010-10-08  Bruno Haible  <bruno@clisp.org>
7004
7005         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
7006         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
7007
7008 2010-10-08  Bruno Haible  <bruno@clisp.org>
7009
7010         nanosleep: Make replacement POSIX compliant.
7011         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
7012         is out of range.
7013         Reported by Jim Meyering.
7014
7015 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
7016
7017         bootstrap: add hook for altering gnulib.mk, for Bison
7018         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
7019         the Bison bootstrapping process can rewrite file names and variables
7020         in this file before later parts of 'bootstrap' use the file.
7021         Bison wants to include lib/gnulib.mk from the top-level makefile,
7022         so it needs the file names in this file to be relative to the top
7023         level, not relative to lib; plus it needs variable names to be
7024         rewritten.
7025         (slurp): Use the new function.
7026
7027         bootstrap: reformat for readability
7028         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
7029
7030 2010-10-08  Eric Blake  <eblake@redhat.com>
7031
7032         docs: update cygwin progress
7033         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
7034         1.7.7.
7035         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
7036         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
7037         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
7038         * doc/posix-functions/carg.texi (carg): Likewise.
7039         * doc/posix-functions/cargf.texi (cargf): Likewise.
7040         * doc/posix-functions/casin.texi (casin): Likewise.
7041         * doc/posix-functions/casinf.texi (casinf): Likewise.
7042         * doc/posix-functions/casinh.texi (casinh): Likewise.
7043         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
7044         * doc/posix-functions/catan.texi (catan): Likewise.
7045         * doc/posix-functions/catanf.texi (catanf): Likewise.
7046         * doc/posix-functions/catanh.texi (catanh): Likewise.
7047         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
7048         * doc/posix-functions/ccos.texi (ccos): Likewise.
7049         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
7050         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
7051         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
7052         * doc/posix-functions/cexp.texi (cexp): Likewise.
7053         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
7054         * doc/posix-functions/cimag.texi (cimag): Likewise.
7055         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
7056         * doc/posix-functions/clog.texi (clog): Likewise.
7057         * doc/posix-functions/clogf.texi (clogf): Likewise.
7058         * doc/posix-functions/conj.texi (conj): Likewise.
7059         * doc/posix-functions/conjf.texi (conjf): Likewise.
7060         * doc/posix-functions/cpow.texi (cpow): Likewise.
7061         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
7062         * doc/posix-functions/cproj.texi (cproj): Likewise.
7063         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
7064         * doc/posix-functions/creal.texi (creal): Likewise.
7065         * doc/posix-functions/crealf.texi (crealf): Likewise.
7066         * doc/posix-functions/csin.texi (csin): Likewise.
7067         * doc/posix-functions/csinf.texi (csinf): Likewise.
7068         * doc/posix-functions/csinh.texi (csinh): Likewise.
7069         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
7070         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
7071         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
7072         * doc/posix-functions/ctan.texi (ctan): Likewise.
7073         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
7074         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
7075         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
7076         * doc/posix-headers/complex.texi (complex.h): Likewise.
7077
7078 2010-10-07  Jim Meyering  <meyering@redhat.com>
7079
7080         parse-datetime: avoid compilation failure on OpenBSD 4.7
7081         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
7082         This works around a compilation failure on OpenBSD 4.7:
7083         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
7084
7085 2010-10-07  Eric Blake  <eblake@redhat.com>
7086
7087         docs: update cygwin progress
7088         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
7089         1.7.6.
7090         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
7091         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
7092         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
7093         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
7094         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
7095         Likewise.
7096         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
7097         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
7098         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
7099         Likewise.
7100         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
7101         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
7102         Likewise.
7103         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
7104         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
7105         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
7106         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
7107         Likewise.
7108         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
7109         Likewise.
7110         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
7111
7112         docs: update parse-datetime history
7113         * doc/parse-datetime.texi (Authors of parse_datetime): Better
7114         documentation of this function's history and alternatives.
7115
7116         cygwin: use more robust version check
7117         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
7118         exclude an eventual cygwin 1.9.1.
7119         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
7120         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
7121         (gl_FUNC_STRCASESTR): Likewise.
7122         Reported by Bruno Haible.
7123
7124 2010-10-06  Bruno Haible  <bruno@clisp.org>
7125
7126         string, sys_select: Avoid #including large headers unless necessary.
7127         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
7128         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
7129         OSF/1, BeOS, Haiku.
7130         Reported by Jim Meyering.
7131
7132 2010-10-05  Eric Blake  <eblake@redhat.com>
7133
7134         memmem, strstr, strcasestr: fix bug with long periodic needle
7135         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
7136         periodic needle having false positive.
7137         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
7138         and cygwin 1.7.7.
7139         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
7140         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
7141         (gl_FUNC_STRCASESTR): Likewise.
7142         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
7143         * tests/test-memmem.c (main): Expose the bug.
7144         * tests/test-strcasestr.c (main): Likewise.
7145         * tests/test-strstr.c (main): Likewise.
7146         * tests/test-c-strcasestr.c (main): Likewise.
7147         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
7148         * doc/posix-functions/strstr.texi (strstr): Likewise.
7149         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
7150         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
7151
7152 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
7153
7154         parse-datetime: do some more renaming
7155         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
7156         parse_datetime, not get_date.  Mention the renaming.
7157         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
7158         in comments.
7159         * m4/bison.m4: Likewise.
7160
7161 2010-10-05  Eric Blake  <eblake@redhat.com>
7162
7163         parse-datetime: better name than get_date
7164         * NEWS: Reword the deprecation notice.
7165         * modules/get_date: Rename to modules/parse-datetime.
7166         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
7167         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
7168         * lib/get_date.y: Rename to lib/parse-datetime.y.
7169         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
7170         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
7171         * doc/getdate.texi: Provide fallback wrapper.
7172         * lib/getdate.h: Move guts, and wrap...
7173         * lib/parse-datetime.h: ...new file.
7174         * lib/parse-datetime.y (get_date): Rename...
7175         (parse_datetime): ...to this.
7176         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
7177         (gl_PARSE_DATETIME): ...to this.
7178         * doc/posix-functions/getdate.texi (get_date): Provide fallback
7179         documentation.
7180         * modules/getdate (Files): Provide fallback docs and header.
7181         (Notice, Depends-on): Update references.
7182         * tests/test-parse-datetime.c: Likewise.
7183         * DEPENDENCIES: Likewise.
7184         * MODULES.html.sh (Date and time <time.h>): Likewise.
7185         * doc/parse-datetime.texi (Date input formats)
7186         (Authors of parse_datetime): Likewise.
7187         * modules/parse-datetime (Files, configure.ac, Makefile.am)
7188         (Include): Likewise.
7189         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
7190         * gnulib-tool: Likewise.
7191         * m4/bison.m4 (gl_BISON): Likewise.
7192         Suggested by Bruno Haible.
7193
7194 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
7195
7196         more ports to Solaris tr, which needs [] around ranges
7197         * gnulib-tool: Solaris tr needs [] around ranges.
7198         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
7199         * tests/test-pipe-filter-gi1.c (main): Likewise.
7200         * tests/test-pipe-filter-ii1.c (main): Likewise.
7201
7202 2010-10-05  Eric Blake  <eblake@redhat.com>
7203
7204         bootstrap: fix Solaris regression
7205         * build-aux/bootstrap (check_versions): Solaris tr still needs []
7206         around ranges.
7207         Reported by Pádraig Brady.
7208
7209         bootstrap: work with pkg-config
7210         * build-aux/bootstrap (check_versions): Also transliterate - in
7211         prerequisite name.
7212         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
7213         prerequisites that were already found, to avoid confusion.
7214         Reported by Justin Clift.
7215
7216         faccessat: remove unused wrappers
7217         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
7218         presence of these wrappers dragged in -lgen on Solaris.
7219         Reported by Clemens Brogi; fix suggested by Paul Eggert.
7220
7221 2010-10-05  Jim Meyering  <meyering@redhat.com>
7222
7223         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
7224         * Makefile (sc_pragma_columns): New syntax-check rule.
7225
7226 2010-10-04  Bruno Haible  <bruno@clisp.org>
7227
7228         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
7229         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
7230         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
7231         Reported by Bruce Korb and Eric Blake.
7232
7233 2010-10-04  Bruno Haible  <bruno@clisp.org>
7234
7235         threadlib: Make option --with-libpth-prefix work.
7236         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
7237         use $LIBPTH, not just -lpth.
7238
7239 2010-10-04  Bruno Haible  <bruno@clisp.org>
7240
7241         Avoid line length limitation from HP NonStop system header files.
7242         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
7243         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
7244         * lib/ctype.in.h: Likewise.
7245         * lib/dirent.in.h: Likewise.
7246         * lib/errno.in.h: Likewise.
7247         * lib/fcntl.in.h: Likewise.
7248         * lib/float.in.h: Likewise.
7249         * lib/getopt.in.h: Likewise.
7250         * lib/iconv.in.h: Likewise.
7251         * lib/inttypes.in.h: Likewise.
7252         * lib/langinfo.in.h: Likewise.
7253         * lib/locale.in.h: Likewise.
7254         * lib/math.in.h: Likewise.
7255         * lib/netdb.in.h: Likewise.
7256         * lib/netinet_in.in.h: Likewise.
7257         * lib/poll.in.h: Likewise.
7258         * lib/pthread.in.h: Likewise.
7259         * lib/pty.in.h: Likewise.
7260         * lib/sched.in.h: Likewise.
7261         * lib/se-selinux.in.h: Likewise.
7262         * lib/search.in.h: Likewise.
7263         * lib/signal.in.h: Likewise.
7264         * lib/spawn.in.h: Likewise.
7265         * lib/stdarg.in.h: Likewise.
7266         * lib/stddef.in.h: Likewise.
7267         * lib/stdint.in.h: Likewise.
7268         * lib/stdio.in.h: Likewise.
7269         * lib/stdlib.in.h: Likewise.
7270         * lib/string.in.h: Likewise.
7271         * lib/strings.in.h: Likewise.
7272         * lib/sys_file.in.h: Likewise.
7273         * lib/sys_ioctl.in.h: Likewise.
7274         * lib/sys_select.in.h: Likewise.
7275         * lib/sys_socket.in.h: Likewise.
7276         * lib/sys_stat.in.h: Likewise.
7277         * lib/sys_time.in.h: Likewise.
7278         * lib/sys_times.in.h: Likewise.
7279         * lib/sys_utsname.in.h: Likewise.
7280         * lib/sys_wait.in.h: Likewise.
7281         * lib/sysexits.in.h: Likewise.
7282         * lib/termios.in.h: Likewise.
7283         * lib/time.in.h: Likewise.
7284         * lib/unistd.in.h: Likewise.
7285         * lib/wchar.in.h: Likewise.
7286         * lib/wctype.in.h: Likewise.
7287         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
7288         * modules/ctype (Makefile.am): Likewise.
7289         * modules/dirent (Makefile.am): Likewise.
7290         * modules/errno (Makefile.am): Likewise.
7291         * modules/fcntl-h (Makefile.am): Likewise.
7292         * modules/float (Makefile.am): Likewise.
7293         * modules/getopt-posix (Makefile.am): Likewise.
7294         * modules/iconv-h (Makefile.am): Likewise.
7295         * modules/inttypes (Makefile.am): Likewise.
7296         * modules/langinfo (Makefile.am): Likewise.
7297         * modules/locale (Makefile.am): Likewise.
7298         * modules/math (Makefile.am): Likewise.
7299         * modules/netdb (Makefile.am): Likewise.
7300         * modules/netinet_in (Makefile.am): Likewise.
7301         * modules/poll-h (Makefile.am): Likewise.
7302         * modules/pthread (Makefile.am): Likewise.
7303         * modules/pty (Makefile.am): Likewise.
7304         * modules/sched (Makefile.am): Likewise.
7305         * modules/search (Makefile.am): Likewise.
7306         * modules/selinux-h (Makefile.am): Likewise.
7307         * modules/signal (Makefile.am): Likewise.
7308         * modules/spawn (Makefile.am): Likewise.
7309         * modules/stdarg (Makefile.am): Likewise.
7310         * modules/stddef (Makefile.am): Likewise.
7311         * modules/stdint (Makefile.am): Likewise.
7312         * modules/stdio (Makefile.am): Likewise.
7313         * modules/stdlib (Makefile.am): Likewise.
7314         * modules/string (Makefile.am): Likewise.
7315         * modules/strings (Makefile.am): Likewise.
7316         * modules/sys_file (Makefile.am): Likewise.
7317         * modules/sys_ioctl (Makefile.am): Likewise.
7318         * modules/sys_select (Makefile.am): Likewise.
7319         * modules/sys_socket (Makefile.am): Likewise.
7320         * modules/sys_stat (Makefile.am): Likewise.
7321         * modules/sys_time (Makefile.am): Likewise.
7322         * modules/sys_times (Makefile.am): Likewise.
7323         * modules/sys_utsname (Makefile.am): Likewise.
7324         * modules/sys_wait (Makefile.am): Likewise.
7325         * modules/sysexits (Makefile.am): Likewise.
7326         * modules/termios (Makefile.am): Likewise.
7327         * modules/time (Makefile.am): Likewise.
7328         * modules/unistd (Makefile.am): Likewise.
7329         * modules/wchar (Makefile.am): Likewise.
7330         * modules/wctype (Makefile.am): Likewise.
7331
7332 2010-10-04  Bruno Haible  <bruno@clisp.org>
7333
7334         read-file tests: Avoid a test failure on NonStop Kernel.
7335         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
7336         a regular file.
7337         Reported by Joachim Schmitz <schmitz@hp.com>.
7338
7339 2010-10-03  Bruno Haible  <bruno@clisp.org>
7340
7341         gnulib-tool: Fixes for --create-testdir with --libtool.
7342         * gnulib-tool (func_get_automake_snippet): Don't augment
7343         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
7344         an executable.
7345         (func_create_testdir): Handle module 'alloca' like func_import.
7346         Reported by Bruce Korb <bruce.korb@gmail.com>.
7347
7348 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
7349
7350         Avoid some lines longer than 80 characters.
7351         * lib/stdint.in.h: Break long comment lines.
7352         * lib/math.in.h: Likewise.
7353         (_GL_NUM_UINT_WORDS): New macro, for readability.
7354         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
7355         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
7356         * lib/stdlib.in.h: Likewise.
7357         * lib/spawn.in.h: Likewise.
7358         * lib/sys_socket.in.h: Update an URL.
7359         * lib/sys_stat.in.h: Break long line.
7360
7361 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
7362
7363         Improve pmccabe2html.
7364         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
7365         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
7366         when the sources change. Remove the line in the HTML about "Used
7367         ranges" (which implied that there might be other unused ranges),
7368         rename "Resume" to "Summary" (easier to understand for more users).
7369         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
7370         styles, and some unnecessary blank lines.
7371
7372 2010-10-03  Bruno Haible  <bruno@clisp.org>
7373             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
7374
7375         acl: Add support for ACLs on NonStop Kernel.
7376         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
7377         Check whether the function aclsort() exists.
7378         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
7379         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
7380         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
7381         (acl_nontrivial [HAVE_ACLSORT]: New function.
7382         (file_has_acl): Implement for NonStop Kernel.
7383         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
7384         (qset_acl): Implement for NonStop Kernel.
7385         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
7386         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
7387         (main): Implement for NonStop Kernel.
7388         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
7389         Kernel. Handle this flavor.
7390         * tests/test-set-mode-acl.sh: Likewise.
7391         * tests/test-copy-acl.sh: Likewise.
7392         * tests/test-copy-file.sh: Likewise.
7393
7394 2010-10-03  Bruno Haible  <bruno@clisp.org>
7395
7396         Info about ACLs on NonStop Kernel.
7397         * doc/acl-resources.txt: Add info about NonStop Kernel.
7398         References by Joachim Schmitz <schmitz@hp.com>.
7399
7400 2010-10-02  Bruno Haible  <bruno@clisp.org>
7401
7402         Define missing EDQUOT on NonStop Kernel.
7403         * lib/errno.in.h (EDQUOT): Assign a value if missing.
7404         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
7405         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
7406         missing.
7407         * doc/posix-headers/errno.texi: Mention the NSK bug.
7408         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
7409         Reported by Joachim Schmitz <schmitz@hp.com>.
7410
7411 2010-10-02  Bruno Haible  <bruno@clisp.org>
7412
7413         Update doc for POSIX:2008.
7414         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
7415         Update URL of POSIX specification.
7416
7417 2010-10-02  Bruno Haible  <bruno@clisp.org>
7418
7419         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
7420         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
7421         from gnulib, not from Automake.
7422
7423 2010-10-02  Bruno Haible  <bruno@clisp.org>
7424
7425         New module 'system-posix'.
7426         * modules/system-posix: New file.
7427         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
7428         module is present.
7429         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
7430         GNULIB_SYSTEM_POSIX.
7431         * modules/stdlib (Depends-on): Remove sys_wait.
7432         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
7433         * doc/posix-functions/system.texi: Mention the new module.
7434         * doc/posix-headers/stdlib.texi: Likewise.
7435         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
7436         define test_sys_wait_macros to a no-op.
7437         Reported by Sam Steingold <sds@gnu.org>.
7438
7439 2010-09-30  Bruno Haible  <bruno@clisp.org>
7440
7441         More renaming from 'getdate' to 'get_date'.
7442         * doc/get_date.texi: Renamed from doc/getdate.texi.
7443         * modules/get_date (Files): Update.
7444         * MODULES.html.sh (Date and time <time.h>): Update.
7445         * DEPENDENCIES: Update.
7446         * gnulib-tool: Update comment.
7447         * m4/bison.m4 (gl_BISON): Likewise.
7448         * m4/get_date.m4 (gl_GET_DATE): Likewise.
7449
7450 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
7451
7452         bootstrap: support ACLOCAL_FLAGS during aclocal
7453         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
7454         can add additional -I dir for third-party .m4 files.
7455
7456 2010-09-30  Eric Blake  <eblake@redhat.com>
7457
7458         bootstrap: use glibtoolize on MacOS
7459         * build-aux/bootstrap (check_versions): Convert libtool into
7460         libtoolize.
7461         (tool search): Move libtool check earlier, and look for
7462         glibtoolize for MacOS.
7463         (gnulib_tool_options): Auto-add --libtool when appropriate.
7464         Reported by Justin Clift.
7465
7466         poll: fix typo that broke test on MacOS
7467         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
7468         Reported by Justin Clift.
7469
7470         getdate: rename to get_date
7471         Note: getdate.h is not renamed, to minimize client impact.
7472         * modules/getdate: Mark obsolete.  Move old contents...
7473         * modules/get_date: ...to new module name.
7474         * modules/getdate-tests: Move...
7475         * modules/get_date-tests: ...here.
7476         * m4/getdate.m4: Move...
7477         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
7478         * lib/getdate.y: Move...
7479         * lib/get_date.y: ...here.
7480         * tests/test-getdate.c: Move...
7481         * tests/test-get_date.c: ...here.
7482         * doc/posix-functions/getdate.texi (getdate): Update name.
7483         * NEWS: Mention the change.
7484
7485 2010-09-29  Bruno Haible  <bruno@clisp.org>
7486
7487         Separate the module 'waitpid' from the module 'sys_wait'.
7488         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
7489         present.
7490         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
7491         gl_MODULE_INDICATOR_FOR_TESTS.
7492         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
7493         * modules/sys_wait (Depends-on): Remove waitpid.
7494         (Makefile.am): Substitute GNULIB_WAITPID.
7495         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
7496         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
7497         signature only if the 'waitpid' module is present.
7498         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
7499         * NEWS: Mention the change.
7500         * modules/grantpt (Depends-on): Add waitpid.
7501         * modules/wait-process (Depends-on): Likewise.
7502
7503 2010-09-29  Bruno Haible  <bruno@clisp.org>
7504
7505         More tests for module 'sys_wait'.
7506         * modules/sys_wait-c++-tests: New file.
7507         * tests/test-sys_wait-c++.cc: New file.
7508         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
7509         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
7510
7511 2010-09-29  Bruno Haible  <bruno@clisp.org>
7512
7513         New module 'waitpid'.
7514         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
7515         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
7516         Don't include <process.h>.
7517         (waitpid): Declare only, using modern idiom.
7518         * m4/waitpid.m4: New file.
7519         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
7520         * modules/waitpid: New file.
7521         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
7522         (Makefile.am): Update.
7523         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
7524
7525 2010-09-28  Bruno Haible  <bruno@clisp.org>
7526
7527         poll: Assume ANSI C.
7528         * lib/poll.c (poll): Use an ANSI C declaration.
7529
7530 2010-09-28  Bruno Haible  <bruno@clisp.org>
7531
7532         poll-h: Create poll.h on all platforms.
7533         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
7534         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
7535         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
7536         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
7537         (gl_REPLACE_POLL_H): Don't set POLL_H.
7538         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
7539         * modules/poll-h (Depends-on): Add include_next.
7540         (Makefile.am): Create poll.h unconditionally. Substitute also
7541         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
7542
7543 2010-09-28  Bruno Haible  <bruno@clisp.org>
7544
7545         Tests for module 'poll-h'.
7546         * modules/poll-h-c++-tests: New file.
7547         * tests/test-poll-h-c++.cc: New file.
7548
7549         Tests for module 'poll-h'.
7550         * modules/poll-h-tests: New file.
7551         * tests/test-poll-h.c: New file.
7552
7553 2010-09-28  Bruno Haible  <bruno@clisp.org>
7554
7555         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
7556         * modules/poll-h (Depends-on): Add 'extensions'.
7557
7558 2010-09-28  Bruno Haible  <bruno@clisp.org>
7559
7560         New module 'poll-h'.
7561         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
7562         (poll): Use modern idiom.
7563         * modules/poll-h: New file.
7564         * modules/poll (Files): Remove lib/poll.in.h.
7565         (Depends-on): Add poll-h.
7566         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
7567         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
7568         * m4/poll_h.m4: New file.
7569         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
7570         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
7571         and invoke gl_REPLACE_POLL_H.
7572         * lib/poll.c: Use common idiom.
7573         * tests/test-poll.c: Likewise.
7574         * doc/posix-headers/poll.texi: Mention the poll-h module.
7575         Suggested by Eric Blake.
7576
7577 2010-09-26  Bruno Haible  <bruno@clisp.org>
7578
7579         sys_wait: Implement WSTOPSIG.
7580         * lib/sys_wait.in.h (WSTOPSIG): New macro.
7581         Reported by Simon Josefsson.
7582
7583 2010-09-26  Simon Josefsson  <simon@josefsson.org>
7584
7585         stdlib, sys_wait: Avoid compilation error on mingw.
7586         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
7587
7588 2010-09-26  Bruno Haible  <bruno@clisp.org>
7589
7590         stdlib tests: Avoid code duplication.
7591         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
7592         * modules/sys_wait-tests (Files): Likewise.
7593         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
7594         * tests/test-stdlib.c: Include test-sys_wait.h.
7595         (main): Invoke test_sys_wait_macros.
7596         * tests/test-sys_wait.c: Include test-sys_wait.h.
7597         (main): Invoke test_sys_wait_macros.
7598
7599 2010-09-25  Simon Josefsson  <simon@josefsson.org>
7600
7601         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
7602         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
7603         sure Windows sockets are working before calling getaddrinfo.
7604         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
7605         * doc/gnulib.texi (Windows sockets): Fix typo.
7606
7607 2010-09-25  Bruno Haible  <bruno@clisp.org>
7608
7609         Tests for module 'regex-quote'.
7610         * modules/regex-quote-tests: New file.
7611         * tests/test-regex-quote.c: New file.
7612
7613         New module 'regex-quote'.
7614         * lib/regex-quote.h: New file.
7615         * lib/regex-quote.c: New file.
7616         * modules/regex-quote: New file.
7617         Suggested by Reuben Thomas <rrt@sc3d.org>.
7618
7619 2010-09-24  Bruno Haible  <bruno@clisp.org>
7620
7621         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
7622         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
7623
7624 2010-09-23  Bruno Haible  <bruno@clisp.org>
7625
7626         setenv: Relax license.
7627         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
7628         Blake.
7629         Requested by Eric Blake.
7630
7631 2010-09-22  Bruno Haible  <bruno@clisp.org>
7632
7633         termios: Relax license.
7634         * modules/termios (License): Change to LGPLv2+.
7635         Requested by Eric Blake.
7636
7637 2010-09-22  Bruno Haible  <bruno@clisp.org>
7638
7639         threadlib: Allow the package to change the default to 'no'.
7640         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
7641         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
7642         Reported by Paul Eggert.
7643
7644 2010-09-22  Pádraig Brady  <P@draigbrady.com>
7645             Bruno Haible  <bruno@clisp.org>
7646
7647         Fix endless loop in mbmemcasecoll.
7648         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
7649         byte.
7650         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
7651
7652 2010-09-22  Bruno Haible  <bruno@clisp.org>
7653
7654         Tests for module 'memcoll'.
7655         * modules/memcoll-tests: New file.
7656         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
7657
7658         memcoll, xmemcoll: Clarify size vs. length.
7659         * modules/memcoll.c (memcoll0): Clarify specification.
7660         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
7661         passed to collate_error.
7662
7663 2010-09-22  Bruno Haible  <bruno@clisp.org>
7664
7665         Tests for module 'memcasecmp'.
7666         * modules/memcasecmp-tests: New file.
7667         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
7668
7669 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
7670
7671         * lib/pthread.in.h: Add split double-inclusion guard, and include
7672         system <pthread.h> if there is one.  Use @@-style as in other
7673         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
7674         pthread.h doesn't.
7675         (pthread_mutexattr_destroy, pthread_mutexattr_init):
7676         (pthread_mutexattr_settype, pthread_mutex_trylock):
7677         New static inline functions, if there's no system <pthread.h>.
7678         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
7679         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
7680         Approximate with mutexes if the system lacks spinlocks, as in
7681         MacOS.
7682         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
7683         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
7684         @@-style.  Check for spinlocks separately.
7685         (gl_PTHREAD_DEFAULTS): New macro.
7686         * modules/pthread: Redo to use a more typical style for in.h files.
7687
7688 2010-09-21  Eric Blake  <eblake@redhat.com>
7689
7690         net_if: enhance tests
7691         * tests/test-net_if.c (main): Move signature checks earlier.
7692         Print failures to stderr.
7693         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
7694         Document the bug that we do not yet fix.
7695
7696 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
7697
7698         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
7699         about gnulib, not GSS.
7700
7701 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
7702
7703         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
7704         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
7705         for Emacs.
7706         * build-aux/pmccabe2html: Make Makefile.am example code more
7707         cut-and-paste friendly.
7708
7709 2010-09-21  Simon Josefsson  <simon@josefsson.org>
7710
7711         * tests/test-net_if.c: New file.
7712         * modules/net_if-tests: New file.
7713
7714 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
7715
7716         pthread: add pthread_spin_destroy
7717         * lib/pthread.in.h (pthread_spin_destroy): New function.
7718
7719 2010-09-19  Bruno Haible  <bruno@clisp.org>
7720
7721         gnulib-tool: Fix --help output.
7722         * gnulib-tool (func_usage): Fix help message.
7723         Reported by Reuben Thomas <rrt@sc3d.org>.
7724
7725 2010-09-18  Jim Meyering  <meyering@redhat.com>
7726
7727         maint.mk: avoid unexpanded \n in two diagnostics
7728         * top/maint.mk (sc_prohibit_always_true_header_tests):
7729         Don't use a literal \n in a halt=... assignment.  It would not be
7730         expanded, and the two \n bytes would appear in the diagnostic output
7731         rather than the desired newline.  Use halt=$$(printf ... instead.
7732         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
7733
7734 2010-09-18  Bruno Haible  <bruno@clisp.org>
7735
7736         netinet_in: Doc tweak.
7737         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
7738         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
7739
7740 2010-09-18  Jim Meyering  <meyering@redhat.com>
7741
7742         init.sh: correct an outdated comment
7743         * tests/init.sh (create_exe_shims_):  s/function/alias/
7744
7745         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
7746         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
7747         a file named "*.exe" is removed between the glob expansion and the
7748         processing of that oddly named file.
7749
7750 2010-09-17  Eric Blake  <eblake@redhat.com>
7751
7752         mirbsd: add some more support
7753         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
7754         in BSD family.
7755         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
7756         devices as OpenBSD.
7757         * m4/host-os.m4 (mirbsd): Add MirBSD.
7758
7759         tests: fix unportable assumption on sys/wait.h
7760         * tests/test-sys_wait.c (main): Relax test.
7761         * tests/test-stdlib.c (main): Likewise.
7762
7763         init.sh: accomodate directory with no .exes
7764         * tests/init.sh: Accomodate directory containing only scripts.
7765
7766         tests: avoid compiler warning
7767         * tests/test-stdlib.c (main): Use the variable.
7768
7769         fdutimens, fdutimensat: update signature, again
7770         * lib/utimens.h (gl_futimens): Delete, and move signature...
7771         (fdutimens): ...here.
7772         (fdutimensat): Rearrange signature.
7773         (lutimensat): Rename variable for clarity.
7774         * lib/fdutimensat.c (fdutimensat): Update signature.
7775         * lib/utimens.c (fdutimens): Likewise.
7776         (gl_futimens): Delete.
7777         (utimens, lutimens): Update callers.
7778         * lib/futimens.c (futimens): Likewise.
7779         * tests/test-fdutimensat.c: Likewise.
7780         * tests/test-utimens.c: Likewise.
7781         * tests/test-futimens.h: Update comment.
7782         * NEWS: Mention this.
7783         Suggested by Paul Eggert.
7784
7785 2010-09-17  Bruno Haible  <bruno@clisp.org>
7786
7787         Take over the maintenance of some older macros from Autoconf.
7788         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
7789         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
7790         GNU Autoconf.
7791         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
7792         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
7793
7794 2010-09-17  Eric Blake  <eblake@redhat.com>
7795
7796         fdutimensat: drop atflag validation
7797         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
7798         with valid fd, to close a race scenario where futimens is
7799         unsupported and FILE was replaced by a symlink.
7800         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
7801         accordingly.
7802         Suggested by Paul Eggert.
7803
7804 2010-09-16  Bruno Haible  <bruno@clisp.org>
7805
7806         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
7807         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
7808
7809 2010-09-16  Bruno Haible  <bruno@clisp.org>
7810
7811         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
7812         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
7813         login_tty exists.
7814         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
7815
7816 2010-09-16  Bruno Haible  <bruno@clisp.org>
7817
7818         login_tty: Make the replacement code work on BSD systems.
7819         * lib/login_tty.c: Include <sys/ioctl.h>.
7820         (login_tty): Use ioctl TIOCSCTTY when available.
7821         * modules/login_tty (Depends-on): Add sys_ioctl.
7822         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
7823
7824 2010-09-16  Bruno Haible  <bruno@clisp.org>
7825
7826         login_tty: Stricter unit test.
7827         * modules/login_tty-tests (Depends-on): Add tcgetsid.
7828         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
7829         and tcgetsid() after login_tty.
7830         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
7831
7832 2010-09-16  Bruno Haible  <bruno@clisp.org>
7833
7834         New module 'tcgetsid'.
7835         * lib/tcgetsid.c: New file.
7836         * m4/tcgetsid.m4: New file.
7837         * modules/tcgetsid: New file.
7838         * modules/termios (Depends-on): Add c++defs, warn-on-use.
7839         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
7840         GNULIB_TCGETSID, HAVE_TCGETSID.
7841         * lib/termios.in.h: Include <sys/types.h>.
7842         (tcgetsid): New declaration.
7843         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
7844         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
7845         * doc/posix-functions/tcgetsid.texi: Mention the new module.
7846         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
7847
7848 2010-09-16  Bruno Haible  <bruno@clisp.org>
7849
7850         Tests for module 'termios'.
7851         * modules/termios-c++-tests: New file.
7852         * modules/termios-tests: New file.
7853         * tests/test-termios-c++.cc: New file.
7854         * tests/test-termios.c: New file.
7855
7856         New module 'termios'.
7857         * modules/termios: New file.
7858         * lib/termios.in.h: New file.
7859         * m4/termios_h.m4: New file.
7860         * doc/posix-headers/termios.texi: Mention the new module.
7861
7862 2010-09-16  Eric Blake  <eblake@redhat.com>
7863
7864         fdutimensat: add an atflag parameter
7865         * lib/fdutimensat.c (fdutimensat): Add new parameter.
7866         * lib/utimens.h (fdutimensat): Update prototype.
7867         * tests/test-fdutimensat.c: Adjust test to match.
7868         * NEWS: Document the change.
7869         Suggested by Paul Eggert.
7870
7871 2010-09-16  Bruno Haible  <bruno@clisp.org>
7872
7873         Fix typos in comments.
7874         * lib/striconveh.h: Fix typo in comment.
7875         * lib/login_tty.c (login_tty): Likewise.
7876
7877 2010-09-15  Bruno Haible  <bruno@clisp.org>
7878
7879         stdlib: clarify MirBSD WEXITSTATUS bug
7880         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
7881         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
7882
7883 2010-09-15  Eric Blake  <eblake@redhat.com>
7884
7885         stdlib: work around MirBSD WEXITSTATUS bug
7886         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
7887         * modules/stdlib (Depends-on): Add sys_wait.
7888         * tests/test-sys_wait.c (main): Enhance test.
7889         * tests/test-stdlib.c (main): Likewise.
7890         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
7891
7892         docs: mention MacOS issue with WEXITSTATUS(constant)
7893         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
7894         issue.
7895         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
7896
7897         strnlen: add tests
7898         * modules/strnlen-tests: New file.
7899         * tests/test-strnlen.c: Likewise.
7900
7901 2010-09-14  Bruno Haible  <bruno@clisp.org>
7902
7903         unistr/base: Avoid link errors when module 'libunistring' is also used.
7904         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
7905         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
7906         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
7907         Declare also when HAVE_LIBUNISTRING is set.
7908         Reported by Pádraig Brady <P@draigbrady.com>.
7909
7910 2010-09-14  Eric Blake  <eblake@redhat.com>
7911
7912         test-rawmemchr: make more robust
7913         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
7914         (Depends-on, configure.ac): Add needed prerequisites to use it.
7915         * modules/memchr-tests (Files, Depends-on, configure.ac):
7916         Likewise, to avoid implicit reliance on memchr module prereqs.
7917         * tests/test-memchr.c (main): Ensure proper masking.
7918         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
7919         reads.
7920
7921         memchr: detect glibc Alpha bug
7922         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
7923         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
7924         Alpha.
7925         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
7926         * tests/test-memchr.c (main): Enhance test.
7927         Reported by Nelson H. F. Beebe.
7928
7929 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
7930
7931         fts, getcwd, glob: audit for dirfd returning -1
7932         * lib/fts.c (opendir): Remove #define; no longer used.
7933         (opendirat): New arg PDIR_FD.  All callers changed.
7934         (fts_build, _opendir2): Use new opendirat to avoid the need for
7935         dirfd, or for checking whether dirfd returns a negative value.
7936         Don't use opendir; always use openat followed by fdopendir.
7937         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
7938         it.
7939         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
7940         returns -1 here.
7941         * modules/fts (Depends-on): Remove dirfd.
7942         * modules/getcwd (Depends-on): Likewise.
7943
7944 2010-09-13  Eric Blake  <eblake@redhat.com>
7945
7946         float: fix broken MirBSD header
7947         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
7948         * doc/posix-headers/float.texi (float.h): Document it.
7949
7950 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
7951
7952         fts: use O_NOFOLLOW to avoid race condition when opening a directory
7953         * lib/fts.c (opendirat): New arg extra_flags.
7954         (__opendir2): Use it to avoid following symlinks when opening
7955         a directory, if symlinks are not supposed to be followed.  See
7956         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
7957
7958         fdopendir: preserve argument fd before returning
7959         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
7960         (fdopendir_with_dup, fd_clone_opendir): New static functions.
7961         (fdopendir): Use them, arranging for FD to be open to the same
7962         directory that it was when it started.  (It might be temporarily
7963         closed while fdopendir is running, so this not thread- or
7964         signal-safe.)  Be careful to do the right thing even when file
7965         descriptors are scarce and dup fails with errno == EMFILE.  See
7966         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
7967
7968 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
7969
7970         regex: Pass the system regex if its only problem is 32-bit regoff_t.
7971         * NEWS: Document change.
7972         * m4/regex.m4: Disable test for regoff_t size.
7973
7974 2010-09-13  Jim Meyering  <meyering@redhat.com>
7975
7976         fts: don't operate on an invalid file descriptor after failed dup
7977         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
7978         negative file descriptor.
7979
7980 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
7981
7982         savedir: add streamsavedir, deprecate fdsavedir
7983         * NEWS: Mention deprecation of fdsavedir.
7984         * lib/savedir.c (streamsavedir): New extern function, whose name
7985         ends in "savedir" to be consistent with the others.  This differs
7986         from savedirstream in that it doesn't close its argument.  The
7987         next version of GNU tar will use this instead of fdsavedir, to
7988         avoid some race conditions and conserve file descriptors.
7989         (savedirstream): Reimplement as a wrapper around streamsavedir.
7990         (fdsavedir): Add a comment deprecating this function.  As far as
7991         I know, only GNU tar used it, and GNU tar doesn't need it any more.
7992         * lib/savedir.h (streamsavedir): New decl.
7993         (fdsavedir): Add a comment deprecating this.
7994
7995 2010-09-10  Bruno Haible  <bruno@clisp.org>
7996
7997         langinfo: Fix last commit.
7998         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
7999         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
8000         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8001
8002 2010-09-10  Bruno Haible  <bruno@clisp.org>
8003
8004         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
8005         * lib/progreloc.c (O_EXEC): Define fallback.
8006
8007 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
8008
8009         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
8010         * NEWS: Document recent changes to fcntl-h.
8011         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
8012         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
8013         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
8014         Similarly for O_SEARCH; this last was already true, but not documented.
8015         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
8016         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
8017         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
8018         Likewise.
8019         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
8020         is zero, not whether it is defined.
8021         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
8022         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
8023         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
8024
8025 2010-09-10  Bruno Haible  <bruno@clisp.org>
8026
8027         langinfo, nl_langinfo: Fix for IRIX 5.3.
8028         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
8029         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
8030         HAVE_LANGINFO_YESEXPR.
8031         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
8032         HAVE_LANGINFO_YESEXPR.
8033         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
8034         HAVE_LANGINFO_T_FMT_AMPM is 0.
8035         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
8036         HAVE_LANGINFO_YESEXPR is 0.
8037         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
8038         NOEXPR.
8039         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
8040         * doc/posix-functions/nl_langinfo.texi: Likewise.
8041         Reported by Eric Blake.
8042
8043 2010-09-10  Bruno Haible  <bruno@clisp.org>
8044
8045         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
8046         * doc/glibc-functions/login_tty.texi: Mention the include file problem
8047         on FreeBSD 8.0 and OpenBSD 4.6.
8048         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
8049         * m4/pty_h.m4 (gl_PTY_H): Likewise.
8050         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
8051         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
8052         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
8053         ac_includes_default.
8054         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
8055
8056 2010-09-09  Eric Blake  <eblake@redhat.com>
8057
8058         strsignal: work around NetBSD bug
8059         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
8060         * lib/string.in.h (includes): Likewise.
8061         * doc/posix-functions/strsignal.texi (strsignal): Document the
8062         bug.
8063         Reported by Nelson H. F. Beebe.
8064
8065         gnulib-tool: work with NetBSD /bin/sh
8066         * gnulib-tool (func_cache_var, func_cache_lookup_module)
8067         (func_get_description, func_get_comment, func_get_status)
8068         (func_get_notice, func_get_applicability, func_get_filelist)
8069         (func_get_dependencies, func_get_autoconf_early_snippet)
8070         (func_get_autoconf_snippet, func_get_automake_snippet)
8071         (func_get_include_directive, func_get_link_directive)
8072         (func_get_license, func_get_maintainer, func_import): Avoid
8073         shell syntax errors from parsing syntax extensions.
8074
8075 2010-09-09  Bruno Haible  <bruno@clisp.org>
8076
8077         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
8078         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
8079         a reliable way to determine whether the 'alias' command works.
8080
8081 2010-09-08  Jim Meyering  <meyering@redhat.com>
8082
8083         init.sh: penalize a set-x-impaired shell; don't disqualify it
8084         * tests/init.sh: Too many shells corrupt application stderr when
8085         you set -x, so we can't afford to disqualify them, since at least
8086         on Irix-6.5, that would disqualify all bourne shells.
8087         Instead, use a two-pass approach.
8088         On the first pass, try to find a shell that meets the stricter
8089         condition that set -x does not corrupt stderr.
8090         If no shell meets the stricter condition, retest each candidate
8091         shell, but without that extra condition.  Finally, when
8092         VERBOSE=yes is requested and set -x might cause trouble, simply
8093         issue a warning and refrain from enabling debug output.
8094
8095 2010-09-08  Eric Blake  <eblake@redhat.com>
8096
8097         unsetenv: fix OpenBSD bug
8098         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
8099         * doc/posix-functions/unsetenv.texi (unsetenv): Update
8100         documentation.
8101         Reported by Jim Meyering.
8102
8103         strtod: work around IRIX 6.5 bug
8104         * lib/strtod.c (strtod): Reparse number on shorter string if
8105         exponent parse was invalid.
8106         * tests/test-strtod.c (main): Add check for "0x1p 2".
8107         Reported by Tom G. Christensen.
8108
8109         getopt: optimize previous patch
8110         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
8111         empty variable.  Speed up awk script.
8112         Reported by Paolo Bonzini.
8113
8114 2010-09-08  Jim Meyering  <meyering@redhat.com>
8115
8116         test.sh: disqualify shells for which set -x corrupts stderr
8117         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
8118         and OpenBSD 4.7.  They make it so with "set -x", environment settings
8119         appear in stderr output.  For example, this command:
8120             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
8121         prints "P=1" on those two systems:
8122
8123 2010-09-08  Bruno Haible  <bruno@clisp.org>
8124
8125         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
8126         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
8127         commands, because some shells ignore redirections when there is an
8128         error in the command lookup.
8129         Reported by Eric Blake.
8130
8131 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
8132
8133         * lib/regex.h: Fix a mention of `regex_compile' (should be
8134         `re_compile_pattern').
8135         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
8136         (re_set_registers): Correct name of parameter in comment.
8137
8138         * doc/regex.texi: Add documentation for missing syntax flags.
8139         Remove commented-out documentation of defunct syntax option
8140         RE_NO_EMPTY_ALTS.
8141         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
8142         Add documentation of re_set_registers.
8143         Document trick to re-use a pattern buffer by setting fastmap manually.
8144         Update documentation of struct re_pattern_buffer per public members.
8145         Uncomment documentation of equivalence class operators and
8146         collating symbol operators, since they are now implemented,
8147         Explain leftmost-longest matching in relation to alternatives.
8148         Tidy documentation of substring matching.
8149         Remove POSIX documentation, which is done better in
8150         glibc, and refer the reader there. Keep BSD API documentation, as
8151         that is not readily available elsewhere.
8152
8153 2010-09-07  Eric Blake  <eblake@redhat.com>
8154
8155         getopt: handle POSIXLY_CORRECT set but not exported
8156         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
8157         export state of POSIXLY_CORRECT, due to bash set -o posix.
8158         Reported by Dustin J. Mitchell.
8159
8160 2010-09-05  Bruno Haible  <bruno@clisp.org>
8161
8162         gnulib-tool: Highlight the changed options.
8163         * gnulib-tool (func_usage): Display the --import, --add-import,
8164         --remove-import explanations in bold font.
8165
8166 2010-09-06  Karl Berry  <karl@gnu.org>
8167
8168         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
8169
8170 2010-09-05  Bruno Haible  <bruno@clisp.org>
8171
8172         uniwidth/width: Update comment.
8173         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
8174         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
8175
8176 2010-09-05  Bruno Haible  <bruno@clisp.org>
8177
8178         isinf, isnan: Relax license.
8179         * modules/isinf (License): Change from GPL to LGPL, with consent from
8180         Ben Pfaff.
8181         * modules/isnan (License): Likewise.
8182         Requested by Ludovic Courtès.
8183
8184 2010-09-04  Bruno Haible  <bruno@clisp.org>
8185
8186         gnulib-tool: Help migration from --import to --add-import or --update.
8187         * gnulib-tool: Emit a verbose error message when --import is used
8188         without any module name.
8189
8190 2010-09-04  Bruno Haible  <bruno@clisp.org>
8191
8192         Update doc about gnulib-tool.
8193         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
8194         'gnulib-tool --update' in more detail.
8195         Reported by Eric Blake.
8196
8197 2010-09-04  Bruno Haible  <bruno@clisp.org>
8198
8199         gnulib-tool: Change --import. New options --add/remove-import.
8200         * gnulib-tool: New options --add-import, --remove-import.
8201         (func_usage): Document them.
8202         (have_associative): Define always.
8203         (func_import): In import mode, don't merge the specified settings with
8204         the cached settings. Implement remove-import mode.
8205         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
8206         Explain when to use them versus --import.
8207         (Simple update): Use --add-import instead of --import.
8208         * NEWS: Mention the change.
8209
8210 2010-09-04  Bruno Haible  <bruno@clisp.org>
8211
8212         * doc/gnulib-tool.texi (Initial import): Update paragraph about
8213         separate gnulib.mk.
8214
8215 2010-09-04  Bruno Haible  <bruno@clisp.org>
8216
8217         gnulib-tool: Don't talk about CVS any more.
8218         * gnulib-tool (func_usage, func_import): Write "version control"
8219         instead of CVS.
8220
8221 2010-09-04  Jim Meyering  <meyering@redhat.com>
8222
8223         maint.mk: avoid obscure sc_copyright_check failure in coreutils
8224         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
8225         false positives (whose names may be ill-chosen) when searching
8226         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
8227         would cause a false-positive.
8228
8229         avoid coreutils "make distcheck" failure
8230         Coreutils tests with an absolute build directory name that contains
8231         a space.  Not quoting this directory name caused a failure.
8232         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
8233         * tests/test-vc-list-files-cvs.sh: Likewise.
8234
8235 2010-09-04  Bruno Haible  <bruno@clisp.org>
8236
8237         gnulib-tool: Avoid error when run in a package without Makefile.am.
8238         * gnulib-tool: When collecting the m4dirs in a package that does not
8239         have a Makefile.am, eliminate those directories that contain no
8240         gnulib-cache.m4. Fix expression that counts these directories.
8241
8242 2010-09-04  Bruno Haible  <bruno@clisp.org>
8243
8244         update-copyright test: Improve output when perl is missing or too old.
8245         * tests/test-update-copyright.sh: Move test of Perl version down after
8246         the test whether Perl exists. Provide an explanation relating Perl's
8247         error message to Automake's SKIP: message.
8248
8249 2010-09-04  Bruno Haible  <bruno@clisp.org>
8250
8251         Don't augment PATH in TESTS_ENVIRONMENT.
8252         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
8253         set abs_aux_dir instead of augmenting PATH.
8254         * modules/vc-list-files-tests (Makefile.am): Likewise.
8255         * tests/test-update-copyright.sh: Augment PATH here.
8256         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
8257         path_prepend_.
8258         * tests/test-vc-list-files-git.sh: Likewise.
8259
8260 2010-09-04  Jim Meyering  <meyering@redhat.com>
8261
8262         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
8263         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
8264
8265 2010-09-04  Bruno Haible  <bruno@clisp.org>
8266
8267         strdup: Fix compilation error in C++ mode.
8268         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
8269         the macro.
8270
8271 2010-09-04  Bruno Haible  <bruno@clisp.org>
8272
8273         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
8274         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
8275         macro into a function.
8276         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
8277
8278 2010-09-04  Bruno Haible  <bruno@clisp.org>
8279
8280         Set PATH_SEPARATOR the same way autoconf does.
8281         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
8282         the value of PATH_SEPARATOR the same way autoconf-generated configure
8283         scripts do.
8284         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
8285         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
8286
8287 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
8288
8289         Set PATH_SEPARATOR the same way autoconf does.
8290         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
8291         the same way autoconf-generated configure scripts do.
8292         * posix-modules: Likewise.
8293
8294 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
8295
8296         hash: fix safe_hasher const typo
8297         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
8298         const; otherwise, there is a type error later.
8299
8300 2010-09-02  Jim Meyering  <meyering@redhat.com>
8301
8302         test-update-copyright.sh: require perl 5.8.0
8303         * tests/test-update-copyright.sh: Require 5.8.0,
8304         which Tom G. Christensen has confirmed is adequate,
8305         while 5.6.1 is not.
8306
8307 2010-09-02  Eric Blake  <eblake@redhat.com>
8308
8309         tests: init.sh improvements for re-exec'ing with zsh
8310         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
8311         -vx through shell re-exec.
8312         Reported by Tom G. Christensen.
8313
8314         wctype: fix typo in previous commit
8315         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
8316         Reported by Ludovic Courtès.
8317
8318 2010-09-02  Jim Meyering  <meyering@redhat.com>
8319
8320         test-update-copyright.sh: skip test if Perl is too old
8321         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
8322         Reported by Tom G. Christensen.
8323
8324 2010-09-02  Bruno Haible  <bruno@clisp.org>
8325
8326         wctype: Avoid compilation error on IRIX 6.5.30.
8327         * lib/wctype.in.h (iswblank): Declare with a replacement if
8328         REPLACE_ISWBLANK is set.
8329         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
8330         declared. Set REPLACE_ISWBLANK.
8331         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
8332         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
8333         * doc/posix-headers/wctype.texi: Likewise.
8334         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8335
8336 2010-09-01  Bruno Haible  <bruno@clisp.org>
8337
8338         New module 'socketlib'.
8339         * modules/socketlib: New file.
8340         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
8341         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
8342         * modules/sockets (Depends-on): Add socketlib.
8343         Suggested by Sam Steingold <sds@gnu.org>.
8344
8345 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
8346
8347         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
8348
8349         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
8350         when one needs search access to a directory but not read access.
8351         On systems where it is available, it works in some cases where
8352         O_RDONLY does not, namely on directories that are searchable but
8353         not readable, and which need only to be searchable.  If O_SEARCH
8354         is not available, fall back to the traditional method of using
8355         O_RDONLY.
8356
8357         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
8358         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
8359         when opening a directory that needs only to be searchable.
8360         * lib/chdir-safer.c (chdir_no_follow): Likewise.
8361         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
8362         * lib/openat-proc.c (openat_proc_name): Likewise.
8363         * lib/openat.c (openat_needs_fchdir): Likewise.
8364         * lib/save-cwd.c (save_cwd): Likewise.
8365         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
8366
8367 2010-08-28  Bruno Haible  <bruno@clisp.org>
8368
8369         New module 'host-cpu-c-abi'.
8370         * modules/host-cpu-c-abi: New file.
8371         * m4/host-cpu-c-abi.m4: New file, based on part of
8372         clisp/src/m4/general.m4.
8373         Requested by Sam Steingold <sds@gnu.org>.
8374
8375 2010-08-31  Eric Blake  <eblake@redhat.com>
8376         and Jim Meyering  <meyering@redhat.com>
8377
8378         hash: factor, and guard against misbehaving hasher function
8379         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
8380         of table->hasher's return value.  Also protect against a hash value
8381         so large that adding it to table->bucket results in a NULL pointer.
8382         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
8383         Use it in place of open-coded check-and-abort.
8384
8385 2010-08-30  Bruno Haible  <bruno@clisp.org>
8386
8387         hash: silence spurious clang warning
8388         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
8389         Reported by Eric Blake.
8390
8391 2010-08-30  Eric Blake  <eblake@redhat.com>
8392
8393         strstr, memmem, strcasestr: avoid leaked shell message
8394         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
8395         FreeBSD.
8396         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
8397         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
8398
8399         tests: silence clang warning
8400         * tests/test-malloca.c (do_allocation): Avoid dead store.
8401
8402 2010-08-29  Bruno Haible  <bruno@clisp.org>
8403
8404         gettext: Fix recent mistake.
8405         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
8406
8407 2010-08-29  Bruno Haible  <bruno@clisp.org>
8408
8409         selinux-h: Offer a --without-selinux option.
8410         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
8411         --without-selinux was specified, skip all tests and define
8412         HAVE_SELINUX_SELINUX_H to 0.
8413         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
8414         set LIB_SELINUX to empty.
8415         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
8416         gl_LIBSELINUX. If --without-selinux was specified, replace
8417         selinux/context.h.
8418         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
8419
8420 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8421             Bruno Haible  <bruno@clisp.org>
8422
8423         Make the module 'realloc-gnu' work again on AIX and OSF/1.
8424         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
8425         of HAVE_REALLOC.
8426         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
8427         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
8428         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
8429         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
8430
8431 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8432             Bruno Haible  <bruno@clisp.org>
8433
8434         Make the module 'calloc-gnu' work again on AIX and OSF/1.
8435         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
8436         HAVE_CALLOC.
8437         * lib/xmalloc.c: Update accordingly.
8438         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
8439         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
8440         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
8441
8442 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8443             Bruno Haible  <bruno@clisp.org>
8444
8445         Make the module 'malloc-gnu' work again on AIX and OSF/1.
8446         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
8447         HAVE_MALLOC.
8448         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
8449         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
8450         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
8451
8452 2010-08-29  Bruno Haible  <bruno@clisp.org>
8453
8454         Update modules list.
8455         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
8456         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
8457         (String handling <string.h>): Add astrxfrm.
8458         (File system functions): Add readlinkat.
8459
8460 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8461
8462         Tests for module 'realloc-gnu'.
8463         * modules/realloc-gnu-tests: New file.
8464         * tests/test-realloc-gnu.c: New file.
8465
8466         Tests for module 'calloc-gnu'.
8467         * modules/calloc-gnu-tests: New file.
8468         * tests/test-calloc-gnu.c: New file.
8469
8470         Tests for module 'malloc-gnu'.
8471         * modules/malloc-gnu-tests: New file.
8472         * tests/test-malloc-gnu.c: New file.
8473
8474 2010-08-28  Bruno Haible  <bruno@clisp.org>
8475
8476         Rename module 'realloc' -> 'realloc-gnu'.
8477         * modules/realloc-gnu: New file, copied from modules/realloc.
8478         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
8479         obsolete.
8480         * modules/mgetgroups (Depends-on): Update.
8481         * doc/posix-functions/realloc.texi: Update.
8482         * NEWS: Mention the change.
8483
8484         Rename module 'calloc' -> 'calloc-gnu'.
8485         * modules/calloc-gnu: New file, copied from modules/calloc.
8486         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
8487         obsolete.
8488         * doc/posix-functions/calloc.texi: Update.
8489         * NEWS: Mention the change.
8490
8491         Rename module 'malloc' -> 'malloc-gnu'.
8492         * modules/malloc-gnu: New file, copied from modules/malloc.
8493         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
8494         obsolete.
8495         * modules/argp (Depends-on): Update.
8496         * modules/regex (Depends-on): Update.
8497         * doc/posix-functions/malloc.texi: Update.
8498         * NEWS: Mention the change.
8499
8500 2010-08-28  Eric Blake  <eblake@redhat.com>
8501
8502         pread, pwrite: add missing dependency
8503         * modules/pread (Depends-on): Add extensions.
8504         * modules/pwrite (Depends-on): Likewise.
8505
8506 2010-08-28  Bruno Haible  <bruno@clisp.org>
8507
8508         unistr/u*-strchr: Fix tests dependencies.
8509         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
8510         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
8511         Reported by Ian Beckwith <ianb@erislabs.net>.
8512
8513 2010-08-28  Bruno Haible  <bruno@clisp.org>
8514
8515         read-file: Don't occupy too much unused memory.
8516         * lib/read-file.c (fread_file): Shrink the buffer at the end.
8517
8518 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
8519             Eric Blake  <eblake@redhat.com>
8520             Bruno Haible  <bruno@clisp.org>
8521
8522         read-file: Avoid memory reallocations with regular files.
8523         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
8524         (fread_file): With regular files, use the remaining length as the
8525         initial buffer size.  Check against overflow.
8526         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
8527         sys_stat.
8528
8529 2010-08-28  Bruno Haible  <bruno@clisp.org>
8530
8531         ftello: Relax license.
8532         * modules/ftello (License): Relax to LGPLv2+.
8533         Reported by Eric Blake.
8534
8535 2010-08-28  Bruno Haible  <bruno@clisp.org>
8536
8537         Avoid relocwrapper link errors due to gnulib replacement functions.
8538         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
8539         function.
8540         Reported by Ben Pfaff <blp@cs.stanford.edu>.
8541
8542 2010-08-28  Bruno Haible  <bruno@clisp.org>
8543
8544         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
8545         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
8546         defined.
8547         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
8548         Suggested by Eric Blake.
8549
8550 2010-08-28  Bruno Haible  <bruno@clisp.org>
8551
8552         sys_socket, netdb: Ensure socklen_t gets defined.
8553         * modules/sys_socket (Depends-on): Add socklen.
8554         * modules/netdb (Depends-on): Likewise.
8555         * modules/getaddrinfo (Depends-on): Remove socklen.
8556         * modules/getsockopt (Depends-on): Likewise.
8557         * modules/setsockopt (Depends-on): Likewise.
8558         * tests/test-sys_socket.c: Check that socklen_t is defined.
8559         * tests/test-netdb.c: Likewise.
8560         * m4/socklen.m4: Update comments.
8561         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8562
8563 2010-08-27  Eric Blake  <eblake@redhat.com>
8564
8565         login_tty: add missing dependency
8566         * modules/login_tty (Depends-on): Add pty.
8567
8568 2010-08-26  Eric Blake  <eblake@redhat.com>
8569
8570         lib-symbol-versions: fix m4 quoting
8571         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
8572         format for AC_LINK_IFELSE.
8573
8574         glob: fix compile test
8575         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
8576
8577         btowc: fix missing file
8578         * modules/btowc (Files): Also ship locale-fr.m4.
8579
8580         lseek: fix link test
8581         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
8582         AC_LINK_IFELSE.
8583
8584         include_next: silence autoconf 2.68 warning
8585         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
8586         AC_COMPILE_IFELSE as special.
8587         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
8588         autoconf < 2.68.
8589
8590         acl: fix compilation test
8591         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
8592         AC_COMPILE_IFELSE.
8593
8594 2010-08-26  Bruno Haible  <bruno@clisp.org>
8595
8596         Modernize AC_TRY_RUN invocations.
8597         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
8598         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
8599         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
8600         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
8601         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
8602         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
8603         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
8604         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
8605         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
8606         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
8607         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
8608         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
8609         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
8610         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
8611         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
8612         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
8613         gl_MBRLEN_NUL_RETVAL): Likewise.
8614         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
8615         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
8616         Likewise.
8617         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
8618         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
8619         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
8620         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
8621         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
8622         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
8623         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
8624         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
8625         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
8626         Likewise.
8627         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
8628         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
8629         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
8630         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
8631         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
8632         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
8633         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
8634         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
8635         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
8636         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
8637
8638 2010-08-26  Bruno Haible  <bruno@clisp.org>
8639
8640         Modernize AC_TRY_LINK invocations.
8641         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
8642         AC_TRY_LINK.
8643         * m4/argp.m4 (gl_ARGP): Likewise.
8644         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
8645         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
8646         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
8647         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
8648         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
8649         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
8650         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
8651         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
8652         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
8653         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
8654         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
8655         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
8656         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
8657         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
8658         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
8659         * m4/hostent.m4 (gl_HOSTENT): Likewise.
8660         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
8661         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
8662         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
8663         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
8664         Likewise.
8665         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
8666         Likewise.
8667         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
8668         Likewise.
8669         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
8670         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
8671         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
8672         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
8673         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
8674         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
8675         * m4/servent.m4 (gl_SERVENT): Likewise.
8676         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
8677         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
8678         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
8679         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
8680         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
8681         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
8682         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
8683         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
8684         * modules/tsearch-tests (configure.ac): Likewise.
8685
8686 2010-08-26  Bruno Haible  <bruno@clisp.org>
8687
8688         Modernize AC_TRY_COMPILE invocations.
8689         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
8690         AC_TRY_COMPILE.
8691         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
8692         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
8693         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
8694         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
8695         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
8696         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
8697         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
8698         * m4/lock.m4 (gl_LOCK): Likewise.
8699         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
8700         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
8701         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
8702         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
8703         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
8704         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
8705         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
8706         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
8707         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
8708         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
8709         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
8710         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
8711         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
8712         extraneous semicolon.
8713
8714 2010-08-26  Jim Meyering  <meyering@redhat.com>
8715
8716         stat-time: relax license LGPL
8717         * modules/stat-time (License): Change from GPL to LGPL,
8718         with consent from all contributors, for use in libguile.
8719         Requested by Ludovic Courtès.
8720
8721 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
8722
8723         poll: return immediately on POLLHUP.
8724         * lib/poll.c (poll): Always set timeout before wait_timeout is
8725         computed.
8726
8727 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8728
8729         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
8730         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
8731         rmdir ("dir/.//"), unlinkat.
8732
8733 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
8734
8735         stdbool: avoid spurious failure with modern xlc
8736         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
8737
8738 2010-08-24  Bruno Haible  <bruno@clisp.org>
8739
8740         getloadavg: simplify code
8741         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
8742         gl_have_func. Update comments.
8743
8744 2010-08-24  Eric Blake  <eblake@redhat.com>
8745
8746         getloadavg: don't define SVR4 on cygwin
8747         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
8748         only define SVR4 when -lkvm is required.
8749         Reported by Yaakov Selkowitz.
8750
8751 2010-08-24  Bruno Haible  <bruno@clisp.org>
8752
8753         priv-set: fix comment
8754         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
8755
8756 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
8757
8758         priv-set: fix comments
8759         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
8760         to match code, as suggested by David Bartley in:
8761         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
8762
8763 2010-08-23  Eric Blake  <eblake@redhat.com>
8764
8765         stdbool: avoid rejecting clang
8766         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
8767         * tests/test-stdbool.c: Enable more tests if using the system
8768         <stdbool.h> instead of the gnulib replacement.
8769         (main): Move xlc bug test to a runtime test for all compilers.
8770         Reported by Anders Kaseorg.
8771
8772         argz: fix shell quoting issue
8773         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
8774         Reported by Charles Wilson.
8775
8776 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
8777             Erik Faye-Lund <kusmabite@gmail.com>
8778
8779         poll, select: handle ERROR_BROKEN_PIPE.
8780         * lib/poll.c (win32_compute_revents): Return POLLHUP when
8781         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
8782         * lib/select.c (win32_compute_revents): Do not mark a pipe
8783         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
8784
8785 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
8786
8787         fts: allow compilation with C++
8788         * lib/fts_.h: Specify extern "C" linkage with C++.
8789
8790 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8791
8792         Fix gnulib-tool sed script de-commentation for AIX sed.
8793         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
8794         sed.
8795
8796 2010-08-17  Eric Blake  <eblake@redhat.com>
8797
8798         test-stddef: test for (some) offsetof bugs
8799         * tests/test-stddef.c: Enhance test to ensure correct type of
8800         offsetof.
8801         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
8802         that we are not fixing at this time.
8803
8804 2010-08-15  Bruno Haible  <bruno@clisp.org>
8805
8806         stpncpy: Allow stpncpy to be defined as a macro.
8807         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
8808         if it's already correctly declared.
8809         * lib/string.in.h (stpncpy): Undefine before redefining.
8810         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
8811
8812 2010-08-14  Bruno Haible  <bruno@clisp.org>
8813
8814         Rename module 'memxfrm' to 'amemxfrm'.
8815         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
8816         (amemxfrm): Renamed from memxfrm.
8817         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
8818         (amemxfrm): Renamed from memxfrm.
8819         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
8820         * NEWS: Mention the change.
8821         * MODULES.html.sh (String handling <string.h>): Update.
8822         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
8823         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
8824         * lib/unicase/u16-casexfrm.c: Likewise.
8825         * lib/unicase/u32-casexfrm.c: Likewise.
8826         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
8827         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
8828         * lib/uninorm/u16-normxfrm.c: Likewise.
8829         * lib/uninorm/u32-normxfrm.c: Likewise.
8830         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
8831         memxfrm.
8832         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
8833         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
8834         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
8835         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
8836         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
8837         Suggested by Paul Eggert.
8838
8839 2010-08-14  Bruno Haible  <bruno@clisp.org>
8840
8841         Tests for module 'astrxfrm'.
8842         * modules/astrxfrm-tests: New file.
8843         * tests/test-astrxfrm.c: New file.
8844
8845         New module 'astrxfrm'.
8846         * lib/astrxfrm.h: New file.
8847         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
8848         * modules/astrxfrm: New file.
8849
8850 2010-08-14  Reuben Thomas <rrt@sc3d.org>
8851
8852         regex: Tweak doc.
8853         * doc/regex.texi (Overview): Don't mention regex.c.
8854         (GNU Regular Expression Compiling): Likewise.
8855         (Match-end-of-line Operator): Mention 'not_eol'.
8856
8857 2010-08-14  Brian Gough  <bjg@gnu.org>
8858             Bruno Haible  <bruno@clisp.org>
8859
8860         git-merge-changelog: add doc relating to use with bzr and hg.
8861         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
8862
8863 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
8864
8865         pthread: fix pthread.h creation for srcdir != builddir
8866         * modules/pthread (Makefile.am): Fix the rule to work also in a
8867         non-srcdir build.
8868
8869 2010-08-13  Karl Berry  <karl@gnu.org>
8870
8871         * doc/regex.texi (Predefined Syntaxes): @smallexample.
8872         * doc/posix-*/*: force line break before @url of POSIX
8873         specifications.
8874         Suggested by Werner Lemberg.
8875
8876 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
8877
8878         strtod: fix const diagnostic
8879         * lib/strtod.c (strtod): Don't assign const char * to char *,
8880         as this elicits a warning from GCC when warnings are enabled.
8881
8882 2010-08-10  Pádraig Brady <P@draigbrady.com>
8883         and Eric Blake  <eblake@redhat.com>
8884
8885         copy-acl: ignore ENOTSUP on HP-UX
8886         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
8887         so that it is available for HP-UX.
8888         * lib/copy-acl.c (qcopy_acl): Use it.
8889         Reported by Patrick M. Callahan.
8890
8891 2010-08-10  Eric Blake  <eblake@redhat.com>
8892
8893         open, chown: relax license
8894         * modules/open (License): Change to LGPLv2+, with consent by all
8895         authors, for use in augeas.
8896         * modules/chown (License): Likewise.
8897         * modules/lchown (Likewise): Likewise.
8898         Requested by Adam Stokes.
8899
8900 2010-08-09  Karl Berry  <karl@gnu.org>
8901
8902         * build-aux/ar-lib: new file, import from Automake.
8903         * config/srclist.txt: autocheck for updates.
8904
8905 2010-08-09  Eric Blake  <eblake@redhat.com>
8906
8907         readlinkat: adjust client modules
8908         * modules/areadlinkat (Depends-on): Use readlinkat, not
8909         symlinkat.
8910         * modules/areadlinkat-with-size (Depends-on): Likewise.
8911
8912         mknod: be more vocal about danger of running tests as root
8913         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
8914         root, since that is just asking for problems.
8915         Suggested by Bruno Haible, based on a report by Rainer Tammer.
8916
8917         readlinkat: split into its own module
8918         * modules/symlinkat: Split readlinkat...
8919         * modules/readlinkat: ...into separate module.
8920         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
8921         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
8922         * lib/symlinkat.c (readlinkat): Move...
8923         * lib/readlinkat.c: ...into new file.
8924         * modules/symlinkat-tests: Split readlinkat test...
8925         * modules/readlinkat-tests: ...into separate module.
8926         * tests/test-symlinkat.c: Split...
8927         * tests/test-readlinkat.c: ...into new file.
8928         * NEWS: Document the split.
8929         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
8930         * lib/unistd.in.h (readlinkat): Likewise.
8931         Suggested by Bruno Haible.
8932
8933 2010-08-08  Bruno Haible  <bruno@clisp.org>
8934
8935         memxfrm: Speed up.
8936         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
8937         that usually only one call to strxfrm is necessary for each string
8938         part.
8939         Reported by Paul Eggert <eggert@cs.ucla.edu>.
8940
8941 2010-08-07  Karl Berry  <karl@gnu.org>
8942
8943         * doc/posix-headers/limits.texi,
8944         * doc/posix-functions/malloc.texi,
8945         * doc/posix-functions/strsignal.texi: missing @item.
8946         * doc/ld-version-script.texi: spurious leading i.
8947         * doc/regex.texi (Interval Operators): no commas inside @var.
8948
8949 2010-08-01  Bruno Haible  <bruno@clisp.org>
8950
8951         Integrate the regex documentation.
8952         * doc/gnulib.texi: Define 'cn' index.
8953         (Regular expressions): New a chapter that includes regex.texi and
8954         regexprops-generic.texi.
8955         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
8956         syntax.
8957
8958         Whitespace cleanup.
8959         * doc/regex.texi: Remove trailing spaces.
8960
8961         Add regex documentation.
8962         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
8963         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
8964         Written by Kathy A. Hargreaves and Karl Berry.
8965
8966 2010-08-01  Bruno Haible  <bruno@clisp.org>
8967
8968         link: Update documentation.
8969         * doc/posix-functions/link.texi: Update regarding Solaris.
8970
8971 2010-07-31  Bruno Haible  <bruno@clisp.org>
8972
8973         Update modules list.
8974         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
8975         (String handling <string.h>): Add memcmp2, memxfrm.
8976         (Container data structures): Add xlist, xsublist, xoset.
8977         (Core language properties): Add alignof, unused-parameter.
8978         (Process control, Numeric conversion functions <stdlib.h>): Renamed
8979         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
8980         (Unibyte characters <ctype.h>): New section.
8981         (String handling <string.h>): New section.
8982         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
8983         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
8984         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
8985         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
8986         tan, tanh, tanl, y0, y1, yn.
8987         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
8988         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
8989         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
8990         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
8991         unlockpt, vdprintf, vdprintf-posix.
8992         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
8993         (File system functions): Add concat-filename, sys_file, sys_ioctl,
8994         xconcat-filename.
8995         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
8996         getdtablesize, pipe2, pipe2-safer.
8997         (Security): New section.
8998         (Networking functions): Add accept4.
8999         (Signal handling): Add sigpipe.
9000         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
9001         mbmemcasecoll.
9002         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
9003         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
9004         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
9005         pipe-filter-ii.
9006         (Misc): Add argp-version-etc, login_tty, parse-duration.
9007
9008 2010-07-31  Bruno Haible  <bruno@clisp.org>
9009
9010         Improve doc in MODULES.html.
9011         * modules/linkat (Description): Add the word "function".
9012         * modules/mkfifo (Description): Likewise.
9013         * modules/mknod (Description): Likewise.
9014         * modules/remove (Description): Likewise.
9015         * modules/renameat (Description): Likewise.
9016         * modules/stat (Description): Likewise.
9017         * modules/symlink (Description): Likewise.
9018         * modules/unlink (Description): Likewise.
9019
9020 2010-07-31  Bruno Haible  <bruno@clisp.org>
9021
9022         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
9023         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
9024         option --enable/disable-c++ instead of --enable/disable-cxx.
9025         * NEWS: Mention the change.
9026
9027 2010-07-31  Bruno Haible  <bruno@clisp.org>
9028
9029         readlink, areadlink: Relax test a bit.
9030         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
9031         alternative to ENOTDIR.
9032         * tests/test-areadlink.h (test_areadlink): Likewise.
9033         Reported by Rainer Tammer.
9034
9035 2010-07-31  Bruno Haible  <bruno@clisp.org>
9036
9037         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
9038         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
9039         character, perform the search using U_STRCHR.
9040         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
9041         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
9042         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
9043         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
9044         Suggested by Paolo Bonzini.
9045
9046 2010-07-31  Bruno Haible  <bruno@clisp.org>
9047
9048         unistr/u*-strstr: Fix dependencies.
9049         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
9050         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
9051         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
9052
9053 2010-07-31  Bruno Haible  <bruno@clisp.org>
9054
9055         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
9056         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
9057         the beginning of the loop.
9058         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
9059         cases in 'switch' statement.
9060
9061         unistr/u8-strchr: Fix several bugs.
9062         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
9063         the string. When not found, return NULL, not a pointer near the end.
9064
9065         More tests for unistr/u8-strchr.
9066         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
9067         that the function does not read past the first occurrence of the byte
9068         being searched.
9069         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
9070         * tests/unistr/test-u16-strchr.c (main): New function.
9071         * tests/unistr/test-u32-strchr.c (main): New function.
9072
9073 2010-07-31  Bruno Haible  <bruno@clisp.org>
9074
9075         posix-modules: Ignore backup files of documentation files.
9076         * posix-modules: grep only through files named *.texi.
9077
9078 2010-07-31  Bruno Haible  <bruno@clisp.org>
9079
9080         symlinkat: Fix documentation.
9081         * doc/posix-functions/readlinkat.texi: Fix module name.
9082
9083 2010-07-31  Bruno Haible  <bruno@clisp.org>
9084
9085         fchownat: Replace also when chown has the trailing slash bug.
9086         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
9087         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
9088         introduced on 2010-04-10.
9089         Reported by Rainer Tammer.
9090
9091 2010-07-31  Bruno Haible  <bruno@clisp.org>
9092
9093         linkat: Work around AIX 7.1 bug.
9094         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
9095         whether linkat handles trailing slash correctly. If not, replace linkat
9096         and define LINKAT_TRAILING_SLASH_BUG.
9097         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
9098         check whether (fd1,file1) points to a directory if file1 or file2 ends
9099         in a slash. Code taken from lib/link.c.
9100         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
9101         Reported by Rainer Tammer.
9102
9103 2010-07-31  Bruno Haible  <bruno@clisp.org>
9104
9105         Correctly determine whether pow is available in libc on AIX 7 with xlc.
9106         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
9107         This disables an xlc optimization that was causing wrong test results.
9108         Reported by Rainer Tammer.
9109
9110 2010-07-31  Bruno Haible  <bruno@clisp.org>
9111
9112         iconv: Work around AIX 6.1..7.1 bug.
9113         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
9114         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
9115         cross-compiling, guess no on all versions of AIX.
9116         Reported by Rainer Tammer.
9117
9118 2010-07-31  Bruno Haible  <bruno@clisp.org>
9119
9120         readlink: Relax test a bit.
9121         * tests/test-readlink.h (test_readlink): Allow different errno value
9122         when readlink is called with a file name that ends in / and refers to
9123         a file.
9124         Suggested by Eric Blake.
9125         Reported by Rainer Tammer.
9126
9127 2010-07-31  Bruno Haible  <bruno@clisp.org>
9128
9129         copysign: Does not require -lm on glibc systems.
9130         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
9131         gl_COMMON_DOUBLE_MATHFUNC.
9132         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
9133
9134 2010-07-31  Bruno Haible  <bruno@clisp.org>
9135
9136         duplocale: Work around AIX 7.1 bug.
9137         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
9138         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
9139         * lib/duplocale.c (rpl_duplocale): Update comment.
9140         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
9141         Reported by Rainer Tammer.
9142
9143 2010-07-30  Bruno Haible  <bruno@clisp.org>
9144
9145         dirfd: Avoid link error on AIX 7.1.
9146         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
9147         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
9148         exist, set REPLACE_DIRFD.
9149         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
9150         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
9151         * doc/posix-functions/dirfd.texi: Update.
9152         Reported by Rainer Tammer.
9153
9154 2010-07-30  Eric Blake  <eblake@redhat.com>
9155
9156         strtod: next round of AIX fixes
9157         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
9158         exponent.
9159         * tests/test-strtod.c (main): Enhance tests.
9160         * doc/posix-functions/strtod.texi (strtod): Document next bug.
9161         Reported by Rainer Tammer.
9162
9163         futimens: fix configure check
9164         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
9165         Reported by Bruno Haible.
9166
9167 2010-07-30  Bruno Haible  <bruno@clisp.org>
9168
9169         getline: Update regarding AIX.
9170         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
9171         Reported by Rainer Tammer.
9172
9173 2010-07-30  Bruno Haible  <bruno@clisp.org>
9174
9175         wcwidth: Drop replacement on AIX 7.
9176         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
9177         AIX 7.
9178         Reported by Rainer Tammer.
9179
9180 2010-07-30  Bruno Haible  <bruno@clisp.org>
9181
9182         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
9183         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
9184         a 'char *'.
9185         Reported by Rainer Tammer.
9186
9187 2010-07-30  Bruno Haible  <bruno@clisp.org>
9188
9189         unlink: Update regarding AIX.
9190         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
9191         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
9192         Reported by Rainer Tammer.
9193
9194 2010-07-30  Bruno Haible  <bruno@clisp.org>
9195
9196         symlink: Update regarding AIX.
9197         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
9198         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
9199         Reported by Rainer Tammer.
9200
9201 2010-07-30  Bruno Haible  <bruno@clisp.org>
9202
9203         strndup: Update regarding AIX.
9204         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
9205         AIX 7.
9206         Reported by Rainer Tammer.
9207
9208 2010-07-30  Bruno Haible  <bruno@clisp.org>
9209
9210         stat: Update regarding AIX.
9211         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
9212         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
9213         Reported by Rainer Tammer.
9214
9215 2010-07-30  Bruno Haible  <bruno@clisp.org>
9216
9217         truncl: Fix autoconf test.
9218         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
9219         whether truncl works.
9220         Reported by Rainer Tammer.
9221
9222 2010-07-30  Bruno Haible  <bruno@clisp.org>
9223
9224         round: Update regarding AIX.
9225         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
9226         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
9227         Reported by Rainer Tammer.
9228
9229 2010-07-30  Bruno Haible  <bruno@clisp.org>
9230
9231         rename: Update regarding AIX.
9232         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
9233         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
9234         Reported by Rainer Tammer.
9235
9236 2010-07-30  Bruno Haible  <bruno@clisp.org>
9237
9238         printf.m4: Update regarding AIX.
9239         * m4/printf.m4: Update comments regarding AIX.
9240         Reported by Rainer Tammer.
9241
9242 2010-07-30  Bruno Haible  <bruno@clisp.org>
9243
9244         iconv: Update regarding AIX.
9245         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
9246         AIX 7.
9247         Reported by Rainer Tammer.
9248
9249 2010-07-30  Bruno Haible  <bruno@clisp.org>
9250
9251         getopt: Update regarding AIX.
9252         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
9253         no on AIX.
9254         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
9255         Reported by Rainer Tammer.
9256
9257 2010-07-30  Bruno Haible  <bruno@clisp.org>
9258
9259         ldexpl; Update regarding AIX.
9260         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
9261         on AIX 7.
9262         Reported by Rainer Tammer.
9263
9264 2010-07-30  Bruno Haible  <bruno@clisp.org>
9265
9266         frexpl: Update regarding AIX.
9267         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
9268         on AIX 7.
9269         Reported by Rainer Tammer.
9270
9271 2010-07-30  Bruno Haible  <bruno@clisp.org>
9272
9273         open, fopen: Update regarding AIX.
9274         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
9275         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
9276         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
9277         * doc/posix-functions/fopen.texi: Likewise.
9278         Reported by Rainer Tammer.
9279
9280 2010-07-30  Bruno Haible  <bruno@clisp.org>
9281
9282         chown: Update doc regarding AIX.
9283         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
9284         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
9285         Reported by Rainer Tammer.
9286
9287 2010-07-30  Eric Blake  <eblake@redhat.com>
9288
9289         strtod: fix bug in replacement function on AIX
9290         * lib/strtod.c (strtod): Special case broken "0x" parse in
9291         underlying strtod.
9292         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
9293         * doc/posix-functions/strtod.texi (strtod): Likewise.
9294         Reported by Rainer Tammer.
9295
9296 2010-07-30  Bruno Haible  <bruno@clisp.org>
9297
9298         mbrlen: Fix cross-compilation guess for AIX.
9299         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
9300         guess. Leftover from 2008-12-22.
9301
9302 2010-07-30  Bruno Haible  <bruno@clisp.org>
9303
9304         mbrtowc: Fix cross-compilation guess for AIX.
9305         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
9306         guess. Leftover from 2008-12-21.
9307
9308 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
9309
9310         init.sh: work around trap limitation of some shells
9311         * tests/init.sh (setup_): Move exit trap outside of shell function.
9312
9313 2010-07-29  Eric Blake  <eblake@redhat.com>
9314
9315         strtod: aid debugging
9316         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
9317         understanding why strtod is rejected.
9318
9319 2010-07-28  Bruno Haible  <bruno@clisp.org>
9320
9321         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
9322         * lib/unistr/u8-chr.c: Include <string.h>.
9323         * tests/unistr/test-u8-chr.c: Likewise.
9324         * tests/unistr/test-u16-chr.c: Likewise.
9325         * tests/unistr/test-u32-chr.c: Likewise.
9326         * tests/unistr/test-u8-strchr.c: Likewise.
9327         * tests/unistr/test-u16-strchr.c: Likewise.
9328         * tests/unistr/test-u32-strchr.c: Likewise.
9329         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
9330         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
9331         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
9332         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
9333
9334 2010-07-28  Bruno Haible  <bruno@clisp.org>
9335
9336         Use spaces for indentation, not tabs.
9337         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
9338
9339 2010-07-27  Bruno Haible  <bruno@clisp.org>
9340
9341         mbspcasecmp: Fix function specification.
9342         * lib/string.in.h (mbspcasecmp): Fix specification comment.
9343         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
9344         Reported by Eric Blake <eblake@redhat.com>.
9345
9346 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
9347
9348         timespec: use cast and not conditional, as truncation isn't possible
9349         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
9350         instead of a conditional.  Comment about the situation in more detail.
9351         This undoes most of the 2009-10-29 patch.
9352
9353 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
9354
9355         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
9356         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
9357         * lib/unistr/u8-strchr.c: Likewise.
9358         * modules/unistr/u8-chr: Depend on memchr.
9359
9360         unistr/u*-strchr: add tests
9361         * modules/unistr/u8-strchr-tests: New file.
9362         * modules/unistr/u16-strchr-tests: New file.
9363         * modules/unistr/u32-strchr-tests: New file.
9364         * tests/unistr/test-strchr.h: New file.
9365         * tests/unistr/test-u8-strchr.c: New file.
9366         * tests/unistr/test-u16-strchr.c: New file.
9367         * tests/unistr/test-u32-strchr.c: New file.
9368
9369         unistr/u*-chr: test multibyte sequences more
9370         * tests/unistr/test-chr.h: Do complete testing of the characters in the
9371         test vector.
9372         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
9373         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
9374         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
9375
9376         unistr/u*-chr: test multibyte sequences
9377         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
9378
9379         unistr/u*-chr: prepare for multibyte tests
9380         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
9381         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
9382         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
9383         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
9384         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
9385         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
9386
9387 2010-07-18  Bruno Haible  <bruno@clisp.org>
9388
9389         unistr/u8-strchr: Optimize non-ASCII argument case.
9390         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
9391         because the first byte often matches anyway.
9392         Reported by Pádraig Brady <P@draigbrady.com>.
9393
9394 2010-07-15  Karl Berry  <karl@gnu.org>
9395
9396         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
9397
9398 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
9399
9400         getcwd: on Solaris, work better if ancestors are inaccessible
9401         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
9402         buffer and size, try again with a large buffer.  This works better
9403         on Solaris, since its getcwd succeeds even if the path to the root
9404         is inaccessible, and this is helpful in common cases such as .zfs
9405         hidden directories.  Problem reported by J Chapman Flack in
9406         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
9407         Use system getcwd if it's declared, not merely if it's partly
9408         working; use the partly-working test only to avoid needless effort
9409         if the system getcwd fails.
9410         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
9411         comment that was already obsolete and is now even more obsolete.
9412         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
9413         now might call strdup.
9414
9415 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
9416
9417         pthread: Add enough so that coreutils/src/sort.c compiles.
9418         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
9419         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
9420         gnulib. Include <sched.h> and <time.h>, as per POSIX.
9421         Include <sys/types.h>, in case it defines pthread_t.
9422         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
9423         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
9424         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
9425         (pthread_rwlockattr_t, pthread_spinlock_t):
9426         New typedefs, if HAVE_PTHREAD_T is not defined.
9427         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
9428         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
9429         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
9430         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
9431         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
9432         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
9433         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
9434         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
9435         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
9436         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
9437         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
9438         New macros.
9439         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
9440         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
9441         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
9442         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
9443         (pthread_spin_unlock): New dummy functions.
9444         (pthread_create): Return EAGAIN; don't set errno.
9445         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
9446         require AC_C_INLINE.
9447         * modules/pthread (Depends-on): Add sched, time.
9448         (pthread.h): Use AM_V_GEN.
9449
9450 2010-07-13  Bruno Haible  <bruno@clisp.org>
9451
9452         striconveh: Don't malloc memory if the result buffer is sufficient.
9453         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
9454         buffer if its size is sufficient.
9455         Reported by Ludovic Courtès <ludo@gnu.org>.
9456
9457 2010-07-13  Bruno Haible  <bruno@clisp.org>
9458
9459         strtod: Add safety check.
9460         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
9461
9462 2010-07-12  Bruno Haible  <bruno@clisp.org>
9463
9464         Unify tests that set gl_cv_func_ldexpl_no_libm.
9465         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
9466         gl_FUNC_LDEXPL.
9467         (gl_FUNC_LDEXPL): Invoke it.
9468         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
9469
9470 2010-07-12  Bruno Haible  <bruno@clisp.org>
9471
9472         Unify tests that set gl_cv_func_ldexp_no_libm.
9473         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
9474         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
9475         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
9476         (configure.ac): Simply invoke gl_FUNC_LDEXP.
9477         * modules/strtod (Files): Add m4/ldexp.m4.
9478
9479 2010-07-12  Bruno Haible  <bruno@clisp.org>
9480
9481         Unify tests that set gl_cv_func_frexpl_no_libm.
9482         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
9483         gl_FUNC_FREXPL_NO_LIBM.
9484         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
9485         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
9486
9487 2010-07-12  Bruno Haible  <bruno@clisp.org>
9488
9489         Unify tests that set gl_cv_func_frexp_no_libm.
9490         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
9491         gl_FUNC_FREXP_NO_LIBM.
9492         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
9493         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
9494
9495 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
9496
9497         memcoll: clarify sizes versus lengths, document better, and tweak perf
9498         * lib/memcoll.c (strcoll_loop, memcoll0):
9499         Improve quality of descriptive comments.  Name variables
9500         consistently as to whether they are lengths (which do not include
9501         terminating null) versus sizes (which do).
9502         * lib/xmemcoll.c (xmemcoll0): Likewise.
9503         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
9504         returned when s1size == 0; this is easier to compile and saves
9505         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
9506
9507 2010-07-12  Bruno Haible  <bruno@clisp.org>
9508
9509         Tests for module '_Exit'.
9510         * modules/_Exit-tests: New file.
9511         * tests/test-_Exit.sh: New file.
9512         * tests/test-_Exit.c: New file.
9513
9514         New module '_Exit'.
9515         * lib/stdlib.in.h (__attribute__): New macro.
9516         (_Exit): New declaration.
9517         * lib/_Exit.c: New file.
9518         * m4/_Exit.m4: New file.
9519         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
9520         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
9521         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
9522         * modules/_Exit: New file.
9523         * tests/test-stdlib-c++.cc (_Exit): Check signature.
9524         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
9525
9526 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
9527
9528         strtod: make it more-accurate typically, and don't require libm
9529         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
9530         Include limits.h.  Don't include string.h.
9531         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
9532         (locale_isspace): New function, so that no casts are needed to
9533         check whether *s is a space.
9534         (ldexp): Provide an unused dummy if not available.
9535         (scale_radix_exp, parse_number, underlying_strtod): New functions.
9536         (strtod): Use them.  This implementation prefers to use the
9537         underlying strtod if available, falling back on our own code
9538         only to fix known bugs.  This is more likely to produce an
9539         accurate result.  Also, it avoids the use of libm functions.
9540         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
9541         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
9542         was absent, but it caused a test failure with coreutils.
9543         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
9544         with libm.
9545         * modules/strtod (Makefile.am, Link): libm is no longer needed.
9546         * modules/strtod-tests (Makefile.am): Likewise.
9547
9548 2010-07-11  Pádraig Brady  <P@draigBrady.com>
9549             Bruno Haible  <bruno@clisp.org>
9550
9551         unistr/u8-strchr: Optimize ASCII argument case.
9552         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
9553
9554 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
9555
9556         (x)memcoll: minor tweaks
9557         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
9558         is after the type that it qualifies.
9559         (memcoll0): Likewise.
9560         * lib/memcoll.h (memcoll0): Likewise.
9561         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
9562         * lib/xmemcoll.h (xmemcoll0): Likewise.
9563         * lib/memcoll.c (memcoll0): Correct the comment.  This function
9564         differs from memcoll in that the NUL byte is part of the argument.
9565         Omit the abort-checks, as performance is a real issue here.  Plus,
9566         the checks were wrong anyway (an off-by-one error).  Omit local
9567         variable 'diff', as it's a bit clearer that way.
9568         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
9569         no longer needed.
9570
9571 2010-07-08  Chen Guo <chenguo4@yahoo.com>
9572
9573         (x)memcoll: speedup when input is known to be NUL delimited
9574         * lib/memcoll.c: Include stdlib.
9575         (memcoll0) New function.
9576         (strcoll_loop) New function, refactored for use in both memcoll
9577         and memcoll0.
9578         * lib/memcoll.h: Add prototype for memcoll0.
9579         * lib/xmemcoll.c: (xmemcoll0) New function.
9580         (collate_error) New function, refactored for use in both xmemcoll
9581         and xmemcoll0.
9582         * lib/xmemcoll.h: Add prototype for xmemcoll0.
9583         * m4/memcoll.m4: add inline invocation.
9584
9585 2010-07-06  Pádraig Brady  <P@draigBrady.com>
9586
9587         * build-aux/bootstrap: Remove any local translations
9588         from the translation project synchronization directory,
9589         so that local only translations are not distributed.
9590
9591 2010-07-04  Bruno Haible  <bruno@clisp.org>
9592
9593         fsusage: Clarify which code applies to which platforms.
9594         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
9595         platform.
9596         * lib/fsusage.c (get_fs_usage): Likewise.
9597
9598 2010-07-04  Bruno Haible  <bruno@clisp.org>
9599
9600         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
9601         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
9602         Reported by Martin Lambers <marlam@marlam.de>.
9603
9604 2010-07-04  Jim Meyering  <meyering@redhat.com>
9605
9606         hash: once again explicitly disallow insertion of NULL
9607         * lib/hash.c (hash_insert0): Reinstate just-removed test:
9608         inserting a NULL pointer cannot work with these functions.
9609         Add a comment with details.
9610         This reverts part of the 2010-07-01 commit, 5bef1a35
9611         "hash: extend module to deal with non-pointer keys".
9612
9613 2010-07-01  Bruno Haible  <bruno@clisp.org>
9614
9615         stdbool: Update doc.
9616         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
9617         Info from Christian Weisgerber <naddy@mips.inka.de>.
9618
9619 2010-07-01  Jim Meyering  <meyering@redhat.com>
9620
9621         hash: extend module to deal with non-pointer keys
9622         * lib/hash.c (hash_insert0): New interface, much like hash_insert
9623         but that allows insertion of non-pointer entries.
9624         Do not disallow an ENTRY value of NULL.
9625         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
9626         * lib/hash.h (hash_insert0): Declare.
9627
9628 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
9629
9630         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
9631         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
9632         not present (i.e. with autoconf 2.59 and when using gettextize, not
9633         gnulib), require AC_GNU_SOURCE instead.
9634
9635 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
9636
9637         idpriv-drop: Fix tests.
9638         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
9639         not to the test-idpriv-droptemp program.
9640
9641 2010-06-29  Bruno Haible  <bruno@clisp.org>
9642
9643         string: Fix syntax error with g++ 2.96.
9644         * lib/string.in.h (__pure__): Remove definition.
9645         (_GL_ATTRIBUTE_PURE): New macro.
9646         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
9647         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
9648         Reported by Christian Weisgerber <naddy@mips.inka.de>.
9649
9650 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
9651
9652         unitypes: Fix bug introduced on 2010-05-18.
9653         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
9654
9655 2010-06-22  Eric Blake  <eblake@redhat.com>
9656
9657         memmem: slight optimization
9658         * lib/str-two-way.h (critical_factorization): Update comments.
9659         Reduce work during factorization phase.
9660         Reported by Carlos Bueno <carlos@bueno.org>.
9661
9662 2010-06-21  Bruno Haible  <bruno@clisp.org>
9663
9664         Fix HAVE_CALLOC_POSIX misnomer.
9665         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
9666         !HAVE_CALLOC_POSIX.
9667         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
9668         HAVE_CALLOC_POSIX.
9669         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
9670         instead of HAVE_CALLOC_POSIX.
9671         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
9672         HAVE_CALLOC_POSIX.
9673
9674         Use modern idiom for calloc() replacement.
9675         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
9676         AC_FUNC_CALLOC.
9677         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
9678         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
9679         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
9680         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
9681         (gl_REPLACE_CALLOC): New macro.
9682
9683 2010-06-21  Bruno Haible  <bruno@clisp.org>
9684
9685         Fix HAVE_REALLOC_POSIX misnomer.
9686         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
9687         !HAVE_REALLOC_POSIX.
9688         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
9689         HAVE_REALLOC_POSIX.
9690         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
9691         instead of HAVE_REALLOC_POSIX.
9692         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
9693         HAVE_REALLOC_POSIX.
9694
9695         Use modern idiom for realloc() replacement.
9696         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
9697         AC_FUNC_REALLOC.
9698         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
9699         Autoconf's AC_FUNC_REALLOC.
9700         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
9701         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
9702         (gl_REPLACE_REALLOC): New macro.
9703         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
9704
9705 2010-06-21  Bruno Haible  <bruno@clisp.org>
9706
9707         Fix HAVE_MALLOC_POSIX misnomer.
9708         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
9709         !HAVE_MALLOC_POSIX.
9710         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
9711         HAVE_MALLOC_POSIX.
9712         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
9713         instead of HAVE_MALLOC_POSIX.
9714         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
9715         HAVE_MALLOC_POSIX.
9716
9717         Use modern idiom for malloc() replacement.
9718         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
9719         AC_FUNC_MALLOC.
9720         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
9721         Autoconf's AC_FUNC_MALLOC.
9722         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
9723         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
9724         (gl_REPLACE_MALLOC): New macro.
9725         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
9726
9727 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
9728
9729         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
9730         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
9731         This macro takes 3 arguments, not 4.
9732
9733 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
9734
9735         ipv6: fix detection under mingw
9736         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
9737         in6_addr.
9738
9739 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
9740
9741         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
9742         that strtod() works when cross-compiling to a glibc version known
9743         to work.
9744
9745 2010-06-15  Bruno Haible  <bruno@clisp.org>
9746
9747         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
9748
9749 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
9750
9751         select: Correct timeout.
9752         * lib/select.c (rpl_select): Compute wait_timeout correctly.
9753
9754 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
9755
9756         git-version-gen: init shell var to avoid env var influence
9757         * build-aux/git-version-gen (v): Init shell var to empty.
9758
9759 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
9760
9761         priv-set: Don't assume that priv.h exists merely because getppriv does.
9762         See Jan Andersen's bug report about AIX 5L in
9763         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
9764         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
9765         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
9766         * lib/priv-set.h: Likewise.
9767         * tests/test-priv-set.c: Likewise.
9768
9769 2010-06-13  Bruno Haible  <bruno@clisp.org>
9770
9771         relocatable: Make it easier to test whether to install wrappers.
9772         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
9773         RELOCATABLE_VIA_WRAPPER.
9774
9775 2010-06-13  Bruno Haible  <bruno@clisp.org>
9776
9777         gnulib-tool: Display specified modules and dependencies differently.
9778         * gnulib-tool (func_show_module_list): New function.
9779         (func_import, func_create_testdir): Invoke it.
9780         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
9781
9782 2010-06-13  Bruno Haible  <bruno@clisp.org>
9783
9784         gnulib-tool: Align code of func_import and func_create_testdir.
9785         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
9786         specified_modules.
9787
9788 2010-06-12  Jim Meyering  <meyering@redhat.com>
9789
9790         test-inttostr: avoid spurious failure on Solaris 9
9791         * tests/test-inttostr.c (main): Skip the test when snprintf fails
9792         to accept "%ju".  Reported by Bruno Haible.
9793
9794 2010-06-11  Jim Meyering  <meyering@redhat.com>
9795
9796         test-sys_socket: mark variables as used more readably
9797         * tests/test-sys_socket.c (main): Mark otherwise unused variables
9798         as "used" explicitly via (void) statement casts.  This is more
9799         readable than using them in an artificial return expression.
9800         Suggestion from Bruno Haible.
9801
9802 2010-06-11  Bruno Haible  <bruno@clisp.org>
9803
9804         Avoid some more warnings from "gcc -Wwrite-strings".
9805         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
9806         to 'const char *'.
9807         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
9808         * tests/test-c-strcasestr.c (main): Likewise.
9809         * tests/test-mbscasestr1.c (main): Likewise.
9810         * tests/test-mbscasestr2.c (main): Likewise.
9811         * tests/test-memmem.c (main): Likewise.
9812         * tests/test-strstr.c (main): Likewise.
9813         * tests/test-strcasestr.c (main): Likewise.
9814
9815 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9816
9817         init.sh: change framework_failure_ to fail with status 99, not 1
9818         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
9819         automake's parallel-tests rule that this is an unexpected failure,
9820         even if the test is listed in XFAIL_TESTS.
9821
9822 2010-06-11  Jim Meyering  <meyering@redhat.com>
9823
9824         test-inttostr: avoid warnings about 4-6KB literal strings
9825         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
9826         Include "macros.h", for its definition of ASSERT.
9827         (CK): s/assert/ASSERT/
9828         * modules/inttostr-tests (Files): Add macros.h.
9829
9830         init.sh: don't use $ME_ or skip_ before they are defined
9831         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
9832         their first uses.  Also hoist their companions: warn_, fail_,
9833         framework_failure_, $stderr_fileno.  Prompted by a patch from
9834         Stefano Lattarini.
9835
9836         test-sys_socket: avoid set-but-not-used warnings from gcc
9837         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
9838         avoid warning about set-but-not-used variables.
9839
9840         test-xvasprintf: avoid 'const' discard warnings
9841         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
9842         "const" when assigning from literal strings.
9843         (test_xasprintf): Add "void" in function argument list to placate
9844         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
9845
9846         tests: avoid compilation warnings in argmatch and exclude tests...
9847         in packages that define ARGMATCH_DIE_DECL, like coreutils.
9848         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
9849         Since it always exits, declare with the "noreturn" attribute.
9850         * tests/test-argmatch.c: Likewise.
9851
9852         tests: avoid 'const' discard warnings in mbsstr tests
9853         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
9854         * tests/test-mbsstr2.c (main): Likewise.
9855
9856         test-verify: avoid warning from gcc's -Wmissing-declarations
9857         * tests/test-verify.c (function): Declare to be static.
9858
9859         test-inttostr.c: include <string.h> for use of strcmp
9860         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
9861
9862         test-linkat: avoid failed assertion on "other" architectures
9863         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
9864         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
9865         sparc: https://bugs.launchpad.net/bugs/591968
9866
9867 2010-06-11  Jim Meyering  <meyering@redhat.com>
9868
9869         printf.m4: avoid autoconf's "Expanded Before Required" warning
9870         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
9871         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
9872         autoconf warning.
9873
9874 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
9875
9876         Replacement header templates are now named with ".in", not "_".
9877         * doc/gnulib-intro.texi: Correct.
9878
9879 2010-06-10  Jim Meyering  <meyering@redhat.com>
9880
9881         inttostr-tests: depend on snprintf, not snprintf-posix
9882         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
9883         snprintf-posix, to avoid this aclocal failure:
9884           missing file gnulib-tests/vasnprintf.c
9885           configure.ac:45: error: expected source file, required through \
9886           AC_LIBSOURCES, not found
9887
9888 2010-06-10  Jim Meyering  <meyering@redhat.com>
9889
9890         inttostr: add a new function, inttostr, and tests
9891         The namesake function was not available.  The existence of the
9892         template file, inttostr.c makes its addition nontrivial.
9893         * lib/anytostr.c: Rename from inttostr.c.
9894         (anytostr): Rename from inttostr.
9895         * lib/inttostr.c: New file.
9896         * modules/inttostr (Files): Add anytostr.c.
9897         (Makefile.am): Set lib_SOURCES instead of ...
9898         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
9899         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
9900         * lib/offtostr.c: Likewise.
9901         * lib/uinttostr.c: Likewise.
9902         * lib/umaxtostr.c: Likewise.
9903         * modules/inttostr-tests: New file.
9904         * tests/test-inttostr.c: New file.  Test these functions.
9905
9906 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
9907             Bruno Haible  <bruno@clisp.org>
9908
9909         Add "Extending Gnulib" chapter to manual.
9910         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
9911         chapter.
9912         (Extending Gnulib): New chapter.
9913         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
9914         chapter.
9915
9916 2010-06-09  Bruno Haible  <bruno@clisp.org>
9917
9918         Avoid relocwrapper link errors due to gnulib replacement functions.
9919         * lib/areadlink.c: Use the system's malloc, realloc functions.
9920         (areadlink): Set errno to ENOMEM explicitly.
9921         * modules/areadlink (Depends-on): Remove malloc-posix.
9922         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9923
9924 2010-06-09  Bruno Haible  <bruno@clisp.org>
9925
9926         Avoid relocwrapper link errors due to gnulib replacement functions.
9927         * lib/canonicalize-lgpl.c: Use the system's malloc function.
9928         * lib/malloca.c: Likewise.
9929         * lib/relocatable.c: Likewise.
9930         * lib/progreloc.c: Use the system's malloc, sprintf functions.
9931         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
9932         * lib/setenv.c: Use the system's malloc, realloc functions.
9933         * lib/strerror.c: Use the system's sprintf function.
9934         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9935
9936 2010-06-04  Bruno Haible  <bruno@clisp.org>
9937
9938         Prefer documented low-level autoconf macro names.
9939         * m4/lib-link.m4: Use m4_translit instead of translit.
9940         * m4/environ.m4: Likewise.
9941         * m4/mathfunc.m4: Likewise.
9942         * m4/onceonly.m4: Likewise.
9943         * m4/stdint.m4: Likewise.
9944         Suggested by Eric Blake.
9945
9946 2010-06-04  Martin Lambers  <marlam@marlam.de>
9947             Bruno Haible  <bruno@clisp.org>
9948
9949         havelib: Allow library names with '+' characters.
9950         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
9951         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
9952
9953 2010-06-09  Bruno Haible  <bruno@clisp.org>
9954
9955         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
9956         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
9957         realloc failed.
9958
9959 2010-06-08  Peter Simons  <simons@cryp.to>
9960
9961         maint.mk: make the news-check rule more configurable
9962         * top/maint.mk (news-check-lines-spec) New variable.
9963         (news-check): Use "sed -n 1,10p" in place of "head".
9964
9965 2010-06-07  Jim Meyering  <meyering@redhat.com>
9966
9967         do-release-commit-and-tag: fix typo in --help
9968         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
9969
9970         regex: avoid new dead-code warning with gcc-4.6.0
9971         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
9972         if-block containing a while-loop.  It's been unused for at least
9973         5 years.
9974
9975 2010-06-05  Bruno Haible  <bruno@clisp.org>
9976
9977         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
9978         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
9979
9980 2010-06-04  Bruno Haible  <bruno@clisp.org>
9981
9982         Update to GNU gettext 0.18.1.
9983         * modules/gettext (configure.ac): Require gettext infrastructure from
9984         version 0.18.1.
9985
9986 2010-06-03  Bruno Haible  <bruno@clisp.org>
9987
9988         Don't use AC_LIBOBJ with file names in subdirectories.
9989         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
9990         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
9991         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
9992         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
9993         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
9994         gl_LIBUNISTRING_LIBSOURCE.
9995         (Makefile.am): Augment lib_SOURCES here, conditionally.
9996         * NEWS: Drop requirement for Automake option 'subdir-objects'.
9997
9998 2010-06-03  Bruno Haible  <bruno@clisp.org>
9999
10000         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
10001         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
10002         expansion does not end with a newline.
10003         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
10004         unnecessary newline.
10005
10006 2010-06-03  Bruno Haible  <bruno@clisp.org>
10007
10008         Reduce dependencies.
10009         * tests/test-quotearg.h: New file, extracted from
10010         tests/test-quotearg.c.
10011         * tests/test-quotearg-simple.c: New file, extracted from
10012         tests/test-quotearg.c.
10013         * tests/test-quotearg.c: Don't include <ctype.h>.
10014         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
10015         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
10016         use_quote_double_quotes, use_quotearg_colon): Moved to
10017         tests/test-quotearg.h.
10018         (results_g, flag_results, custom_quotes, custom_results): Moved
10019         to tests/test-quotearg-simple.c.
10020         (main): Moved the part that does not depend on gettext to
10021         tests/test-quotearg-simple.c. Return 77 if the test cannot be
10022         performed.
10023         * modules/quotearg-simple: New file.
10024         * modules/quotearg-simple-tests: New file.
10025         * modules/quotearg (Depends-on): Add quotearg-simple.
10026         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
10027         (Files): Add tests/test-quotearg.h.
10028         Reported by Paolo Bonzini.
10029
10030 2010-06-03  Bruno Haible  <bruno@clisp.org>
10031
10032         Reduce dependencies.
10033         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
10034
10035 2010-06-03  Bruno Haible  <bruno@clisp.org>
10036
10037         time: Undefine more broken macros.
10038         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
10039         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
10040         Reported by Eric Blake.
10041
10042 2010-06-03  Bruno Haible  <bruno@clisp.org>
10043
10044         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
10045         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
10046         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
10047         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
10048         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
10049         Reported by Ludovic Courtès <ludo@gnu.org>.
10050
10051 2010-06-02  Eric Blake  <eblake@redhat.com>
10052
10053         time: work with mingw + pthreads-win32 library
10054         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
10055         if timespec is defined only in pthread.h.
10056         * modules/time (Makefile.am): Substitute it.
10057         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
10058         <pthread.h>, when needed.
10059         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
10060         from the library.
10061
10062 2010-05-31  Bruno Haible  <bruno@clisp.org>
10063
10064         Avoid expanding two macros in the wrong order.
10065         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
10066         gl_LIBUNISTRING if it is defined.
10067         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
10068         autoconf >= 2.64.
10069         Reported by Ludovic Courtès <ludo@gnu.org>.
10070
10071 2010-05-27  Jim Meyering  <meyering@redhat.com>
10072
10073         maint.mk: also prohibit "#undef" of always-defined symbols
10074         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
10075         Allow more than one space before the symbol name.
10076         (sc_prohibit_always-defined_macros): Use grep's -E, now that
10077         the regexp uses alternation.
10078
10079 2010-05-26  Eric Blake  <eblake@redhat.com>
10080
10081         maint.mk: avoid echo -e
10082         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
10083         Convert all uses of echo -* to printf.
10084         Reported by Matthias Bolte.
10085
10086 2010-05-25  Bruno Haible  <bruno@clisp.org>
10087
10088         Update to GNU gettext 0.18, part 2.
10089         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
10090         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
10091
10092 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10093
10094         Add missing include in test-pwrite.c.
10095         * tests/test-pwrite.c: Include string.h, for strcmp.
10096
10097 2010-05-24  Bruno Haible  <bruno@clisp.org>
10098
10099         * NEWS: Mention requirement for Automake option 'subdir-objects'.
10100
10101 2010-05-24  Bruno Haible  <bruno@clisp.org>
10102
10103         Don't use conversion with transliteration in u{8,16,32}_strcoll.
10104         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
10105         iconveh_error argument.
10106         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
10107         U_STRCONV_TO_LOCALE.
10108         * lib/unistr/u16-strcoll.c: Likewise.
10109         * lib/unistr/u32-strcoll.c: Likewise.
10110         * modules/unistr/u8-strcoll (Depends-on): Add
10111         uniconv/u8-strconv-to-enc, localcharset. Remove
10112         uniconv/u8-strconv-to-locale.
10113         (configure.ac): Bump version number.
10114         * modules/unistr/u16-strcoll (Depends-on): Add
10115         uniconv/u16-strconv-to-enc, localcharset. Remove
10116         uniconv/u16-strconv-to-locale.
10117         (configure.ac): Bump version number.
10118         * modules/unistr/u32-strcoll (Depends-on): Add
10119         uniconv/u32-strconv-to-enc, localcharset. Remove
10120         uniconv/u32-strconv-to-locale.
10121         (configure.ac): Bump version number.
10122
10123 2010-05-24  Bruno Haible  <bruno@clisp.org>
10124
10125         Avoid a test failure on NetBSD 5.0.
10126         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
10127         an iconv() bug.
10128
10129 2010-05-24  Bruno Haible  <bruno@clisp.org>
10130
10131         Adjust #include directive style.
10132         * modules/regex (Includes): Recommend to write <regex.h>.
10133
10134 2010-05-24  Bruno Haible  <bruno@clisp.org>
10135
10136         regex: Don't require alloca.
10137         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
10138         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
10139         only inside if (0).
10140
10141 2010-05-23  Jim Meyering  <meyering@redhat.com>
10142
10143         test-renameat.c: include <sys/stat.h>
10144         * tests/test-renameat.c: Include <sys/stat.h>; required for
10145         definition of S_IS* macros.
10146
10147 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
10148
10149         Update maintainer documentation for 'relocatable-prog' module.
10150         * doc/relocatable-maint.texi: Update.
10151         Comments by Bruno Haible.
10152
10153 2010-05-23  Bruno Haible  <bruno@clisp.org>
10154
10155         git-merge-changelog: Enable --split-merged-entry by default.
10156         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
10157         (usage): Don't mention this option any more.
10158         Reported by Ralf Wildenhues.
10159
10160 2010-05-23  Jim Meyering  <meyering@redhat.com>
10161
10162         test-pwrite: do not leave behind a test file named "out"
10163         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
10164         The trivial-looking use of init.sh is really necessary.
10165         It ensures that the temporary file, "out", is created in
10166         a temporary directory, and removed upon termination.
10167         * tests/test-pwrite.sh: Re-add file.
10168         * modules/pwrite-tests: Reference it.
10169
10170 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10171
10172         Fix output redirection buglet in init.sh.
10173         * tests/init.sh: Fix redirection of stderr.
10174
10175 2010-05-20  Simon Josefsson  <simon@josefsson.org>
10176
10177         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
10178
10179 2010-05-17  Simon Josefsson  <simon@josefsson.org>
10180
10181         * modules/valgrind-tests: New file.
10182         * m4/valgrind-tests.m4: New file.
10183         * doc/valgrind-tests.texi: New file.
10184         * doc/gnulib.texi (Running self-tests under valgrind): New
10185         section.
10186
10187 2010-05-19  Bruno Haible  <bruno@clisp.org>
10188
10189         Clean up dead code in recent commit.
10190         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
10191         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
10192         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
10193         Suggested by Paolo Bonzini.
10194
10195 2010-05-19  Bruno Haible  <bruno@clisp.org>
10196
10197         Avoid valgrind error reports from libunistring.
10198         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
10199         * modules/libunistring (Files): Add it.
10200         * modules/libunistring-optional (Files): Likewise.
10201
10202 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
10203             Bruno Haible  <bruno@clisp.org>
10204
10205         New module 'libunistring-optional'.
10206         * modules/libunistring-optional: New file.
10207         * m4/libunistring-base.m4: New file.
10208         * m4/libunistring-optional.m4: New file.
10209         * lib/unicase.in.h: Renamed from lib/unicase.h.
10210         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
10211         * lib/unictype.in.h: Renamed from lib/unictype.h.
10212         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
10213         * lib/uniname.in.h: Renamed from lib/uniname.h.
10214         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
10215         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
10216         * lib/unistr.in.h: Renamed from lib/unistr.h.
10217         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
10218         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
10219         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
10220         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
10221         gl_LIBUNISTRING. If the library was found, determine the installed
10222         version and set LIBUNISTRING_VERSION.
10223         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
10224         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
10225         handle a configuration option --with-included-libunistring.
10226         * modules/libunistring (Files): Add m4/absolute-header.m4.
10227         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
10228         Add m4/libunistring-base.m4.
10229         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10230         (Makefile.am): Build unicase.h from unicase.in.h.
10231         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
10232         Add m4/libunistring-base.m4.
10233         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10234         (Makefile.am): Build uniconv.h from uniconv.in.h.
10235         * modules/unictype/base (Files): Use unictype.in.h instead of
10236         unictype.h. Add m4/libunistring-base.m4.
10237         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10238         (Makefile.am): Build unictype.h from unictype.in.h.
10239         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
10240         Add m4/libunistring-base.m4.
10241         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10242         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
10243         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
10244         Add m4/libunistring-base.m4.
10245         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10246         (Makefile.am): Build uniname.h from uniname.in.h.
10247         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
10248         Add m4/libunistring-base.m4.
10249         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10250         (Makefile.am): Build uninorm.h from uninorm.in.h.
10251         * modules/unistdio/base (Files): Use unistdio.in.h instead of
10252         unistdio.h. Add m4/libunistring-base.m4.
10253         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10254         (Makefile.am): Build unistdio.h from unistdio.in.h.
10255         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
10256         Add m4/libunistring-base.m4.
10257         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10258         (Makefile.am): Build unistr.h from unistr.in.h.
10259         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
10260         Add m4/libunistring-base.m4.
10261         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10262         (Makefile.am): Build unitypes.h from unitypes.in.h.
10263         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
10264         Add m4/libunistring-base.m4.
10265         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10266         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
10267         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
10268         uniwidth.h. Add m4/libunistring-base.m4.
10269         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10270         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
10271         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
10272         instead of augmenting lib_SOURCES.
10273         * modules/unicase/empty-suffix-context: Likewise.
10274         * modules/unicase/locale-language: Likewise.
10275         * modules/unicase/tolower: Likewise.
10276         * modules/unicase/totitle: Likewise.
10277         * modules/unicase/toupper: Likewise.
10278         * modules/unicase/u8-casecmp: Likewise.
10279         * modules/unicase/u8-casecoll: Likewise.
10280         * modules/unicase/u8-casefold: Likewise.
10281         * modules/unicase/u8-casexfrm: Likewise.
10282         * modules/unicase/u8-ct-casefold: Likewise.
10283         * modules/unicase/u8-ct-tolower: Likewise.
10284         * modules/unicase/u8-ct-totitle: Likewise.
10285         * modules/unicase/u8-ct-toupper: Likewise.
10286         * modules/unicase/u8-is-cased: Likewise.
10287         * modules/unicase/u8-is-casefolded: Likewise.
10288         * modules/unicase/u8-is-lowercase: Likewise.
10289         * modules/unicase/u8-is-titlecase: Likewise.
10290         * modules/unicase/u8-is-uppercase: Likewise.
10291         * modules/unicase/u8-prefix-context: Likewise.
10292         * modules/unicase/u8-suffix-context: Likewise.
10293         * modules/unicase/u8-tolower: Likewise.
10294         * modules/unicase/u8-totitle: Likewise.
10295         * modules/unicase/u8-toupper: Likewise.
10296         * modules/unicase/u16-casecmp: Likewise.
10297         * modules/unicase/u16-casecoll: Likewise.
10298         * modules/unicase/u16-casefold: Likewise.
10299         * modules/unicase/u16-casexfrm: Likewise.
10300         * modules/unicase/u16-ct-casefold: Likewise.
10301         * modules/unicase/u16-ct-tolower: Likewise.
10302         * modules/unicase/u16-ct-totitle: Likewise.
10303         * modules/unicase/u16-ct-toupper: Likewise.
10304         * modules/unicase/u16-is-cased: Likewise.
10305         * modules/unicase/u16-is-casefolded: Likewise.
10306         * modules/unicase/u16-is-lowercase: Likewise.
10307         * modules/unicase/u16-is-titlecase: Likewise.
10308         * modules/unicase/u16-is-uppercase: Likewise.
10309         * modules/unicase/u16-prefix-context: Likewise.
10310         * modules/unicase/u16-suffix-context: Likewise.
10311         * modules/unicase/u16-tolower: Likewise.
10312         * modules/unicase/u16-totitle: Likewise.
10313         * modules/unicase/u16-toupper: Likewise.
10314         * modules/unicase/u32-casecmp: Likewise.
10315         * modules/unicase/u32-casecoll: Likewise.
10316         * modules/unicase/u32-casefold: Likewise.
10317         * modules/unicase/u32-casexfrm: Likewise.
10318         * modules/unicase/u32-ct-casefold: Likewise.
10319         * modules/unicase/u32-ct-tolower: Likewise.
10320         * modules/unicase/u32-ct-totitle: Likewise.
10321         * modules/unicase/u32-ct-toupper: Likewise.
10322         * modules/unicase/u32-is-cased: Likewise.
10323         * modules/unicase/u32-is-casefolded: Likewise.
10324         * modules/unicase/u32-is-lowercase: Likewise.
10325         * modules/unicase/u32-is-titlecase: Likewise.
10326         * modules/unicase/u32-is-uppercase: Likewise.
10327         * modules/unicase/u32-prefix-context: Likewise.
10328         * modules/unicase/u32-suffix-context: Likewise.
10329         * modules/unicase/u32-tolower: Likewise.
10330         * modules/unicase/u32-totitle: Likewise.
10331         * modules/unicase/u32-toupper: Likewise.
10332         * modules/unicase/ulc-casecmp: Likewise.
10333         * modules/unicase/ulc-casecoll: Likewise.
10334         * modules/unicase/ulc-casexfrm: Likewise.
10335         * modules/uniconv/u8-conv-from-enc: Likewise.
10336         * modules/uniconv/u8-conv-to-enc: Likewise.
10337         * modules/uniconv/u8-strconv-from-enc: Likewise.
10338         * modules/uniconv/u8-strconv-from-locale: Likewise.
10339         * modules/uniconv/u8-strconv-to-enc: Likewise.
10340         * modules/uniconv/u8-strconv-to-locale: Likewise.
10341         * modules/uniconv/u16-conv-from-enc: Likewise.
10342         * modules/uniconv/u16-conv-to-enc: Likewise.
10343         * modules/uniconv/u16-strconv-from-enc: Likewise.
10344         * modules/uniconv/u16-strconv-from-locale: Likewise.
10345         * modules/uniconv/u16-strconv-to-enc: Likewise.
10346         * modules/uniconv/u16-strconv-to-locale: Likewise.
10347         * modules/uniconv/u32-conv-from-enc: Likewise.
10348         * modules/uniconv/u32-conv-to-enc: Likewise.
10349         * modules/uniconv/u32-strconv-from-enc: Likewise.
10350         * modules/uniconv/u32-strconv-from-locale: Likewise.
10351         * modules/uniconv/u32-strconv-to-enc: Likewise.
10352         * modules/uniconv/u32-strconv-to-locale: Likewise.
10353         * modules/unictype/bidicategory-byname: Likewise.
10354         * modules/unictype/bidicategory-name: Likewise.
10355         * modules/unictype/bidicategory-of: Likewise.
10356         * modules/unictype/bidicategory-test: Likewise.
10357         * modules/unictype/block-list: Likewise.
10358         * modules/unictype/block-test: Likewise.
10359         * modules/unictype/category-C: Likewise.
10360         * modules/unictype/category-Cc: Likewise.
10361         * modules/unictype/category-Cf: Likewise.
10362         * modules/unictype/category-Cn: Likewise.
10363         * modules/unictype/category-Co: Likewise.
10364         * modules/unictype/category-Cs: Likewise.
10365         * modules/unictype/category-L: Likewise.
10366         * modules/unictype/category-Ll: Likewise.
10367         * modules/unictype/category-Lm: Likewise.
10368         * modules/unictype/category-Lo: Likewise.
10369         * modules/unictype/category-Lt: Likewise.
10370         * modules/unictype/category-Lu: Likewise.
10371         * modules/unictype/category-M: Likewise.
10372         * modules/unictype/category-Mc: Likewise.
10373         * modules/unictype/category-Me: Likewise.
10374         * modules/unictype/category-Mn: Likewise.
10375         * modules/unictype/category-N: Likewise.
10376         * modules/unictype/category-Nd: Likewise.
10377         * modules/unictype/category-Nl: Likewise.
10378         * modules/unictype/category-No: Likewise.
10379         * modules/unictype/category-P: Likewise.
10380         * modules/unictype/category-Pc: Likewise.
10381         * modules/unictype/category-Pd: Likewise.
10382         * modules/unictype/category-Pe: Likewise.
10383         * modules/unictype/category-Pf: Likewise.
10384         * modules/unictype/category-Pi: Likewise.
10385         * modules/unictype/category-Po: Likewise.
10386         * modules/unictype/category-Ps: Likewise.
10387         * modules/unictype/category-S: Likewise.
10388         * modules/unictype/category-Sc: Likewise.
10389         * modules/unictype/category-Sk: Likewise.
10390         * modules/unictype/category-Sm: Likewise.
10391         * modules/unictype/category-So: Likewise.
10392         * modules/unictype/category-Z: Likewise.
10393         * modules/unictype/category-Zl: Likewise.
10394         * modules/unictype/category-Zp: Likewise.
10395         * modules/unictype/category-Zs: Likewise.
10396         * modules/unictype/category-and: Likewise.
10397         * modules/unictype/category-and-not: Likewise.
10398         * modules/unictype/category-byname: Likewise.
10399         * modules/unictype/category-name: Likewise.
10400         * modules/unictype/category-none: Likewise.
10401         * modules/unictype/category-of: Likewise.
10402         * modules/unictype/category-or: Likewise.
10403         * modules/unictype/category-test: Likewise.
10404         * modules/unictype/combining-class: Likewise.
10405         * modules/unictype/ctype-alnum: Likewise.
10406         * modules/unictype/ctype-alpha: Likewise.
10407         * modules/unictype/ctype-blank: Likewise.
10408         * modules/unictype/ctype-cntrl: Likewise.
10409         * modules/unictype/ctype-digit: Likewise.
10410         * modules/unictype/ctype-graph: Likewise.
10411         * modules/unictype/ctype-lower: Likewise.
10412         * modules/unictype/ctype-print: Likewise.
10413         * modules/unictype/ctype-punct: Likewise.
10414         * modules/unictype/ctype-space: Likewise.
10415         * modules/unictype/ctype-upper: Likewise.
10416         * modules/unictype/ctype-xdigit: Likewise.
10417         * modules/unictype/decimal-digit: Likewise.
10418         * modules/unictype/digit: Likewise.
10419         * modules/unictype/mirror: Likewise.
10420         * modules/unictype/numeric: Likewise.
10421         * modules/unictype/property-alphabetic: Likewise.
10422         * modules/unictype/property-ascii-hex-digit: Likewise.
10423         * modules/unictype/property-bidi-arabic-digit: Likewise.
10424         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
10425         * modules/unictype/property-bidi-block-separator: Likewise.
10426         * modules/unictype/property-bidi-boundary-neutral: Likewise.
10427         * modules/unictype/property-bidi-common-separator: Likewise.
10428         * modules/unictype/property-bidi-control: Likewise.
10429         * modules/unictype/property-bidi-embedding-or-override: Likewise.
10430         * modules/unictype/property-bidi-eur-num-separator: Likewise.
10431         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
10432         * modules/unictype/property-bidi-european-digit: Likewise.
10433         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
10434         * modules/unictype/property-bidi-left-to-right: Likewise.
10435         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
10436         * modules/unictype/property-bidi-other-neutral: Likewise.
10437         * modules/unictype/property-bidi-pdf: Likewise.
10438         * modules/unictype/property-bidi-segment-separator: Likewise.
10439         * modules/unictype/property-bidi-whitespace: Likewise.
10440         * modules/unictype/property-byname: Likewise.
10441         * modules/unictype/property-combining: Likewise.
10442         * modules/unictype/property-composite: Likewise.
10443         * modules/unictype/property-currency-symbol: Likewise.
10444         * modules/unictype/property-dash: Likewise.
10445         * modules/unictype/property-decimal-digit: Likewise.
10446         * modules/unictype/property-default-ignorable-code-point: Likewise.
10447         * modules/unictype/property-deprecated: Likewise.
10448         * modules/unictype/property-diacritic: Likewise.
10449         * modules/unictype/property-extender: Likewise.
10450         * modules/unictype/property-format-control: Likewise.
10451         * modules/unictype/property-grapheme-base: Likewise.
10452         * modules/unictype/property-grapheme-extend: Likewise.
10453         * modules/unictype/property-grapheme-link: Likewise.
10454         * modules/unictype/property-hex-digit: Likewise.
10455         * modules/unictype/property-hyphen: Likewise.
10456         * modules/unictype/property-id-continue: Likewise.
10457         * modules/unictype/property-id-start: Likewise.
10458         * modules/unictype/property-ideographic: Likewise.
10459         * modules/unictype/property-ids-binary-operator: Likewise.
10460         * modules/unictype/property-ids-trinary-operator: Likewise.
10461         * modules/unictype/property-ignorable-control: Likewise.
10462         * modules/unictype/property-iso-control: Likewise.
10463         * modules/unictype/property-join-control: Likewise.
10464         * modules/unictype/property-left-of-pair: Likewise.
10465         * modules/unictype/property-line-separator: Likewise.
10466         * modules/unictype/property-logical-order-exception: Likewise.
10467         * modules/unictype/property-lowercase: Likewise.
10468         * modules/unictype/property-math: Likewise.
10469         * modules/unictype/property-non-break: Likewise.
10470         * modules/unictype/property-not-a-character: Likewise.
10471         * modules/unictype/property-numeric: Likewise.
10472         * modules/unictype/property-other-alphabetic: Likewise.
10473         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
10474         * modules/unictype/property-other-grapheme-extend: Likewise.
10475         * modules/unictype/property-other-id-continue: Likewise.
10476         * modules/unictype/property-other-id-start: Likewise.
10477         * modules/unictype/property-other-lowercase: Likewise.
10478         * modules/unictype/property-other-math: Likewise.
10479         * modules/unictype/property-other-uppercase: Likewise.
10480         * modules/unictype/property-paired-punctuation: Likewise.
10481         * modules/unictype/property-paragraph-separator: Likewise.
10482         * modules/unictype/property-pattern-syntax: Likewise.
10483         * modules/unictype/property-pattern-white-space: Likewise.
10484         * modules/unictype/property-private-use: Likewise.
10485         * modules/unictype/property-punctuation: Likewise.
10486         * modules/unictype/property-quotation-mark: Likewise.
10487         * modules/unictype/property-radical: Likewise.
10488         * modules/unictype/property-sentence-terminal: Likewise.
10489         * modules/unictype/property-soft-dotted: Likewise.
10490         * modules/unictype/property-space: Likewise.
10491         * modules/unictype/property-terminal-punctuation: Likewise.
10492         * modules/unictype/property-test: Likewise.
10493         * modules/unictype/property-titlecase: Likewise.
10494         * modules/unictype/property-unassigned-code-value: Likewise.
10495         * modules/unictype/property-unified-ideograph: Likewise.
10496         * modules/unictype/property-uppercase: Likewise.
10497         * modules/unictype/property-variation-selector: Likewise.
10498         * modules/unictype/property-white-space: Likewise.
10499         * modules/unictype/property-xid-continue: Likewise.
10500         * modules/unictype/property-xid-start: Likewise.
10501         * modules/unictype/property-zero-width: Likewise.
10502         * modules/unictype/scripts: Likewise.
10503         * modules/unictype/syntax-c-ident: Likewise.
10504         * modules/unictype/syntax-c-whitespace: Likewise.
10505         * modules/unictype/syntax-java-ident: Likewise.
10506         * modules/unictype/syntax-java-whitespace: Likewise.
10507         * modules/unilbrk/u8-possible-linebreaks: Likewise.
10508         * modules/unilbrk/u8-width-linebreaks: Likewise.
10509         * modules/unilbrk/u16-possible-linebreaks: Likewise.
10510         * modules/unilbrk/u16-width-linebreaks: Likewise.
10511         * modules/unilbrk/u32-possible-linebreaks: Likewise.
10512         * modules/unilbrk/u32-width-linebreaks: Likewise.
10513         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
10514         * modules/unilbrk/ulc-width-linebreaks: Likewise.
10515         * modules/uniname/uniname: Likewise.
10516         * modules/uninorm/canonical-decomposition: Likewise.
10517         * modules/uninorm/composition: Likewise.
10518         * modules/uninorm/decomposing-form: Likewise.
10519         * modules/uninorm/decomposition: Likewise.
10520         * modules/uninorm/filter: Likewise.
10521         * modules/uninorm/nfc: Likewise.
10522         * modules/uninorm/nfd: Likewise.
10523         * modules/uninorm/nfkc: Likewise.
10524         * modules/uninorm/nfkd: Likewise.
10525         * modules/uninorm/u8-normalize: Likewise.
10526         * modules/uninorm/u8-normcmp: Likewise.
10527         * modules/uninorm/u8-normcoll: Likewise.
10528         * modules/uninorm/u8-normxfrm: Likewise.
10529         * modules/uninorm/u16-normalize: Likewise.
10530         * modules/uninorm/u16-normcmp: Likewise.
10531         * modules/uninorm/u16-normcoll: Likewise.
10532         * modules/uninorm/u16-normxfrm: Likewise.
10533         * modules/uninorm/u32-normalize: Likewise.
10534         * modules/uninorm/u32-normcmp: Likewise.
10535         * modules/uninorm/u32-normcoll: Likewise.
10536         * modules/uninorm/u32-normxfrm: Likewise.
10537         * modules/unistdio/u8-asnprintf: Likewise.
10538         * modules/unistdio/u8-asprintf: Likewise.
10539         * modules/unistdio/u8-snprintf: Likewise.
10540         * modules/unistdio/u8-sprintf: Likewise.
10541         * modules/unistdio/u8-u8-asnprintf: Likewise.
10542         * modules/unistdio/u8-u8-asprintf: Likewise.
10543         * modules/unistdio/u8-u8-snprintf: Likewise.
10544         * modules/unistdio/u8-u8-sprintf: Likewise.
10545         * modules/unistdio/u8-u8-vasnprintf: Likewise.
10546         * modules/unistdio/u8-u8-vasprintf: Likewise.
10547         * modules/unistdio/u8-u8-vsnprintf: Likewise.
10548         * modules/unistdio/u8-u8-vsprintf: Likewise.
10549         * modules/unistdio/u8-vasnprintf: Likewise.
10550         * modules/unistdio/u8-vasprintf: Likewise.
10551         * modules/unistdio/u8-vsnprintf: Likewise.
10552         * modules/unistdio/u8-vsprintf: Likewise.
10553         * modules/unistdio/u16-asnprintf: Likewise.
10554         * modules/unistdio/u16-asprintf: Likewise.
10555         * modules/unistdio/u16-snprintf: Likewise.
10556         * modules/unistdio/u16-sprintf: Likewise.
10557         * modules/unistdio/u16-u16-asnprintf: Likewise.
10558         * modules/unistdio/u16-u16-asprintf: Likewise.
10559         * modules/unistdio/u16-u16-snprintf: Likewise.
10560         * modules/unistdio/u16-u16-sprintf: Likewise.
10561         * modules/unistdio/u16-u16-vasnprintf: Likewise.
10562         * modules/unistdio/u16-u16-vasprintf: Likewise.
10563         * modules/unistdio/u16-u16-vsnprintf: Likewise.
10564         * modules/unistdio/u16-u16-vsprintf: Likewise.
10565         * modules/unistdio/u16-vasnprintf: Likewise.
10566         * modules/unistdio/u16-vasprintf: Likewise.
10567         * modules/unistdio/u16-vsnprintf: Likewise.
10568         * modules/unistdio/u16-vsprintf: Likewise.
10569         * modules/unistdio/u32-asnprintf: Likewise.
10570         * modules/unistdio/u32-asprintf: Likewise.
10571         * modules/unistdio/u32-snprintf: Likewise.
10572         * modules/unistdio/u32-sprintf: Likewise.
10573         * modules/unistdio/u32-u32-asnprintf: Likewise.
10574         * modules/unistdio/u32-u32-asprintf: Likewise.
10575         * modules/unistdio/u32-u32-snprintf: Likewise.
10576         * modules/unistdio/u32-u32-sprintf: Likewise.
10577         * modules/unistdio/u32-u32-vasnprintf: Likewise.
10578         * modules/unistdio/u32-u32-vasprintf: Likewise.
10579         * modules/unistdio/u32-u32-vsnprintf: Likewise.
10580         * modules/unistdio/u32-u32-vsprintf: Likewise.
10581         * modules/unistdio/u32-vasnprintf: Likewise.
10582         * modules/unistdio/u32-vasprintf: Likewise.
10583         * modules/unistdio/u32-vsnprintf: Likewise.
10584         * modules/unistdio/u32-vsprintf: Likewise.
10585         * modules/unistdio/ulc-asnprintf: Likewise.
10586         * modules/unistdio/ulc-asprintf: Likewise.
10587         * modules/unistdio/ulc-fprintf: Likewise.
10588         * modules/unistdio/ulc-snprintf: Likewise.
10589         * modules/unistdio/ulc-sprintf: Likewise.
10590         * modules/unistdio/ulc-vasnprintf: Likewise.
10591         * modules/unistdio/ulc-vasprintf: Likewise.
10592         * modules/unistdio/ulc-vfprintf: Likewise.
10593         * modules/unistdio/ulc-vsnprintf: Likewise.
10594         * modules/unistdio/ulc-vsprintf: Likewise.
10595         * modules/unistr/u8-check: Likewise.
10596         * modules/unistr/u8-chr: Likewise.
10597         * modules/unistr/u8-cmp: Likewise.
10598         * modules/unistr/u8-cmp2: Likewise.
10599         * modules/unistr/u8-cpy: Likewise.
10600         * modules/unistr/u8-cpy-alloc: Likewise.
10601         * modules/unistr/u8-endswith: Likewise.
10602         * modules/unistr/u8-mblen: Likewise.
10603         * modules/unistr/u8-mbsnlen: Likewise.
10604         * modules/unistr/u8-mbtouc: Likewise.
10605         * modules/unistr/u8-mbtouc-unsafe: Likewise.
10606         * modules/unistr/u8-mbtoucr: Likewise.
10607         * modules/unistr/u8-move: Likewise.
10608         * modules/unistr/u8-next: Likewise.
10609         * modules/unistr/u8-prev: Likewise.
10610         * modules/unistr/u8-set: Likewise.
10611         * modules/unistr/u8-startswith: Likewise.
10612         * modules/unistr/u8-stpcpy: Likewise.
10613         * modules/unistr/u8-stpncpy: Likewise.
10614         * modules/unistr/u8-strcat: Likewise.
10615         * modules/unistr/u8-strchr: Likewise.
10616         * modules/unistr/u8-strcmp: Likewise.
10617         * modules/unistr/u8-strcoll: Likewise.
10618         * modules/unistr/u8-strcpy: Likewise.
10619         * modules/unistr/u8-strcspn: Likewise.
10620         * modules/unistr/u8-strdup: Likewise.
10621         * modules/unistr/u8-strlen: Likewise.
10622         * modules/unistr/u8-strmblen: Likewise.
10623         * modules/unistr/u8-strmbtouc: Likewise.
10624         * modules/unistr/u8-strncat: Likewise.
10625         * modules/unistr/u8-strncmp: Likewise.
10626         * modules/unistr/u8-strncpy: Likewise.
10627         * modules/unistr/u8-strnlen: Likewise.
10628         * modules/unistr/u8-strpbrk: Likewise.
10629         * modules/unistr/u8-strrchr: Likewise.
10630         * modules/unistr/u8-strspn: Likewise.
10631         * modules/unistr/u8-strstr: Likewise.
10632         * modules/unistr/u8-strtok: Likewise.
10633         * modules/unistr/u8-to-u16: Likewise.
10634         * modules/unistr/u8-to-u32: Likewise.
10635         * modules/unistr/u8-uctomb: Likewise.
10636         * modules/unistr/u16-check: Likewise.
10637         * modules/unistr/u16-chr: Likewise.
10638         * modules/unistr/u16-cmp: Likewise.
10639         * modules/unistr/u16-cmp2: Likewise.
10640         * modules/unistr/u16-cpy: Likewise.
10641         * modules/unistr/u16-cpy-alloc: Likewise.
10642         * modules/unistr/u16-endswith: Likewise.
10643         * modules/unistr/u16-mblen: Likewise.
10644         * modules/unistr/u16-mbsnlen: Likewise.
10645         * modules/unistr/u16-mbtouc: Likewise.
10646         * modules/unistr/u16-mbtouc-unsafe: Likewise.
10647         * modules/unistr/u16-mbtoucr: Likewise.
10648         * modules/unistr/u16-move: Likewise.
10649         * modules/unistr/u16-next: Likewise.
10650         * modules/unistr/u16-prev: Likewise.
10651         * modules/unistr/u16-set: Likewise.
10652         * modules/unistr/u16-startswith: Likewise.
10653         * modules/unistr/u16-stpcpy: Likewise.
10654         * modules/unistr/u16-stpncpy: Likewise.
10655         * modules/unistr/u16-strcat: Likewise.
10656         * modules/unistr/u16-strchr: Likewise.
10657         * modules/unistr/u16-strcmp: Likewise.
10658         * modules/unistr/u16-strcoll: Likewise.
10659         * modules/unistr/u16-strcpy: Likewise.
10660         * modules/unistr/u16-strcspn: Likewise.
10661         * modules/unistr/u16-strdup: Likewise.
10662         * modules/unistr/u16-strlen: Likewise.
10663         * modules/unistr/u16-strmblen: Likewise.
10664         * modules/unistr/u16-strmbtouc: Likewise.
10665         * modules/unistr/u16-strncat: Likewise.
10666         * modules/unistr/u16-strncmp: Likewise.
10667         * modules/unistr/u16-strncpy: Likewise.
10668         * modules/unistr/u16-strnlen: Likewise.
10669         * modules/unistr/u16-strpbrk: Likewise.
10670         * modules/unistr/u16-strrchr: Likewise.
10671         * modules/unistr/u16-strspn: Likewise.
10672         * modules/unistr/u16-strstr: Likewise.
10673         * modules/unistr/u16-strtok: Likewise.
10674         * modules/unistr/u16-to-u32: Likewise.
10675         * modules/unistr/u16-to-u8: Likewise.
10676         * modules/unistr/u16-uctomb: Likewise.
10677         * modules/unistr/u32-check: Likewise.
10678         * modules/unistr/u32-chr: Likewise.
10679         * modules/unistr/u32-cmp: Likewise.
10680         * modules/unistr/u32-cmp2: Likewise.
10681         * modules/unistr/u32-cpy: Likewise.
10682         * modules/unistr/u32-cpy-alloc: Likewise.
10683         * modules/unistr/u32-endswith: Likewise.
10684         * modules/unistr/u32-mblen: Likewise.
10685         * modules/unistr/u32-mbsnlen: Likewise.
10686         * modules/unistr/u32-mbtouc: Likewise.
10687         * modules/unistr/u32-mbtouc-unsafe: Likewise.
10688         * modules/unistr/u32-mbtoucr: Likewise.
10689         * modules/unistr/u32-move: Likewise.
10690         * modules/unistr/u32-next: Likewise.
10691         * modules/unistr/u32-prev: Likewise.
10692         * modules/unistr/u32-set: Likewise.
10693         * modules/unistr/u32-startswith: Likewise.
10694         * modules/unistr/u32-stpcpy: Likewise.
10695         * modules/unistr/u32-stpncpy: Likewise.
10696         * modules/unistr/u32-strcat: Likewise.
10697         * modules/unistr/u32-strchr: Likewise.
10698         * modules/unistr/u32-strcmp: Likewise.
10699         * modules/unistr/u32-strcoll: Likewise.
10700         * modules/unistr/u32-strcpy: Likewise.
10701         * modules/unistr/u32-strcspn: Likewise.
10702         * modules/unistr/u32-strdup: Likewise.
10703         * modules/unistr/u32-strlen: Likewise.
10704         * modules/unistr/u32-strmblen: Likewise.
10705         * modules/unistr/u32-strmbtouc: Likewise.
10706         * modules/unistr/u32-strncat: Likewise.
10707         * modules/unistr/u32-strncmp: Likewise.
10708         * modules/unistr/u32-strncpy: Likewise.
10709         * modules/unistr/u32-strnlen: Likewise.
10710         * modules/unistr/u32-strpbrk: Likewise.
10711         * modules/unistr/u32-strrchr: Likewise.
10712         * modules/unistr/u32-strspn: Likewise.
10713         * modules/unistr/u32-strstr: Likewise.
10714         * modules/unistr/u32-strtok: Likewise.
10715         * modules/unistr/u32-to-u16: Likewise.
10716         * modules/unistr/u32-to-u8: Likewise.
10717         * modules/unistr/u32-uctomb: Likewise.
10718         * modules/uniwbrk/u8-wordbreaks: Likewise.
10719         * modules/uniwbrk/u16-wordbreaks: Likewise.
10720         * modules/uniwbrk/u32-wordbreaks: Likewise.
10721         * modules/uniwbrk/ulc-wordbreaks: Likewise.
10722         * modules/uniwbrk/wordbreak-property: Likewise.
10723         * modules/uniwidth/u8-strwidth: Likewise.
10724         * modules/uniwidth/u8-width: Likewise.
10725         * modules/uniwidth/u16-strwidth: Likewise.
10726         * modules/uniwidth/u16-width: Likewise.
10727         * modules/uniwidth/u32-strwidth: Likewise.
10728         * modules/uniwidth/u32-width: Likewise.
10729         * modules/uniwidth/width: Likewise.
10730         * modules/unicase/cased-tests (Makefile.am): Link all test programs
10731         with $(LIBUNISTRING).
10732         * modules/unicase/ignorable-tests: Likewise.
10733         * modules/unicase/locale-language-tests: Likewise.
10734         * modules/unicase/tolower-tests: Likewise.
10735         * modules/unicase/totitle-tests: Likewise.
10736         * modules/unicase/toupper-tests: Likewise.
10737         * modules/unicase/u8-casecmp-tests: Likewise.
10738         * modules/unicase/u8-casecoll-tests: Likewise.
10739         * modules/unicase/u8-casefold-tests: Likewise.
10740         * modules/unicase/u8-is-cased-tests: Likewise.
10741         * modules/unicase/u8-is-casefolded-tests: Likewise.
10742         * modules/unicase/u8-is-lowercase-tests: Likewise.
10743         * modules/unicase/u8-is-titlecase-tests: Likewise.
10744         * modules/unicase/u8-is-uppercase-tests: Likewise.
10745         * modules/unicase/u8-tolower-tests: Likewise.
10746         * modules/unicase/u8-totitle-tests: Likewise.
10747         * modules/unicase/u8-toupper-tests: Likewise.
10748         * modules/unicase/u16-casecmp-tests: Likewise.
10749         * modules/unicase/u16-casecoll-tests: Likewise.
10750         * modules/unicase/u16-casefold-tests: Likewise.
10751         * modules/unicase/u16-is-cased-tests: Likewise.
10752         * modules/unicase/u16-is-casefolded-tests: Likewise.
10753         * modules/unicase/u16-is-lowercase-tests: Likewise.
10754         * modules/unicase/u16-is-titlecase-tests: Likewise.
10755         * modules/unicase/u16-is-uppercase-tests: Likewise.
10756         * modules/unicase/u16-tolower-tests: Likewise.
10757         * modules/unicase/u16-totitle-tests: Likewise.
10758         * modules/unicase/u16-toupper-tests: Likewise.
10759         * modules/unicase/u32-casecmp-tests: Likewise.
10760         * modules/unicase/u32-casecoll-tests: Likewise.
10761         * modules/unicase/u32-casefold-tests: Likewise.
10762         * modules/unicase/u32-is-cased-tests: Likewise.
10763         * modules/unicase/u32-is-casefolded-tests: Likewise.
10764         * modules/unicase/u32-is-lowercase-tests: Likewise.
10765         * modules/unicase/u32-is-titlecase-tests: Likewise.
10766         * modules/unicase/u32-is-uppercase-tests: Likewise.
10767         * modules/unicase/u32-tolower-tests: Likewise.
10768         * modules/unicase/u32-totitle-tests: Likewise.
10769         * modules/unicase/u32-toupper-tests: Likewise.
10770         * modules/unicase/ulc-casecmp-tests: Likewise.
10771         * modules/unicase/ulc-casecoll-tests: Likewise.
10772         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
10773         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
10774         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
10775         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
10776         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
10777         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
10778         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
10779         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
10780         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
10781         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
10782         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
10783         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
10784         * modules/unictype/bidicategory-byname-tests: Likewise.
10785         * modules/unictype/bidicategory-name-tests: Likewise.
10786         * modules/unictype/bidicategory-of-tests: Likewise.
10787         * modules/unictype/bidicategory-test-tests: Likewise.
10788         * modules/unictype/block-list-tests: Likewise.
10789         * modules/unictype/block-of-tests: Likewise.
10790         * modules/unictype/block-test-tests: Likewise.
10791         * modules/unictype/category-C-tests: Likewise.
10792         * modules/unictype/category-Cc-tests: Likewise.
10793         * modules/unictype/category-Cf-tests: Likewise.
10794         * modules/unictype/category-Cn-tests: Likewise.
10795         * modules/unictype/category-Co-tests: Likewise.
10796         * modules/unictype/category-Cs-tests: Likewise.
10797         * modules/unictype/category-L-tests: Likewise.
10798         * modules/unictype/category-Ll-tests: Likewise.
10799         * modules/unictype/category-Lm-tests: Likewise.
10800         * modules/unictype/category-Lo-tests: Likewise.
10801         * modules/unictype/category-Lt-tests: Likewise.
10802         * modules/unictype/category-Lu-tests: Likewise.
10803         * modules/unictype/category-M-tests: Likewise.
10804         * modules/unictype/category-Mc-tests: Likewise.
10805         * modules/unictype/category-Me-tests: Likewise.
10806         * modules/unictype/category-Mn-tests: Likewise.
10807         * modules/unictype/category-N-tests: Likewise.
10808         * modules/unictype/category-Nd-tests: Likewise.
10809         * modules/unictype/category-Nl-tests: Likewise.
10810         * modules/unictype/category-No-tests: Likewise.
10811         * modules/unictype/category-P-tests: Likewise.
10812         * modules/unictype/category-Pc-tests: Likewise.
10813         * modules/unictype/category-Pd-tests: Likewise.
10814         * modules/unictype/category-Pe-tests: Likewise.
10815         * modules/unictype/category-Pf-tests: Likewise.
10816         * modules/unictype/category-Pi-tests: Likewise.
10817         * modules/unictype/category-Po-tests: Likewise.
10818         * modules/unictype/category-Ps-tests: Likewise.
10819         * modules/unictype/category-S-tests: Likewise.
10820         * modules/unictype/category-Sc-tests: Likewise.
10821         * modules/unictype/category-Sk-tests: Likewise.
10822         * modules/unictype/category-Sm-tests: Likewise.
10823         * modules/unictype/category-So-tests: Likewise.
10824         * modules/unictype/category-Z-tests: Likewise.
10825         * modules/unictype/category-Zl-tests: Likewise.
10826         * modules/unictype/category-Zp-tests: Likewise.
10827         * modules/unictype/category-Zs-tests: Likewise.
10828         * modules/unictype/category-and-not-tests: Likewise.
10829         * modules/unictype/category-and-tests: Likewise.
10830         * modules/unictype/category-byname-tests: Likewise.
10831         * modules/unictype/category-name-tests: Likewise.
10832         * modules/unictype/category-none-tests: Likewise.
10833         * modules/unictype/category-of-tests: Likewise.
10834         * modules/unictype/category-or-tests: Likewise.
10835         * modules/unictype/category-test-withtable-tests: Likewise.
10836         * modules/unictype/combining-class-tests: Likewise.
10837         * modules/unictype/ctype-alnum-tests: Likewise.
10838         * modules/unictype/ctype-alpha-tests: Likewise.
10839         * modules/unictype/ctype-blank-tests: Likewise.
10840         * modules/unictype/ctype-cntrl-tests: Likewise.
10841         * modules/unictype/ctype-digit-tests: Likewise.
10842         * modules/unictype/ctype-graph-tests: Likewise.
10843         * modules/unictype/ctype-lower-tests: Likewise.
10844         * modules/unictype/ctype-print-tests: Likewise.
10845         * modules/unictype/ctype-punct-tests: Likewise.
10846         * modules/unictype/ctype-space-tests: Likewise.
10847         * modules/unictype/ctype-upper-tests: Likewise.
10848         * modules/unictype/ctype-xdigit-tests: Likewise.
10849         * modules/unictype/decimal-digit-tests: Likewise.
10850         * modules/unictype/digit-tests: Likewise.
10851         * modules/unictype/mirror-tests: Likewise.
10852         * modules/unictype/numeric-tests: Likewise.
10853         * modules/unictype/property-alphabetic-tests: Likewise.
10854         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
10855         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
10856         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
10857         * modules/unictype/property-bidi-block-separator-tests: Likewise.
10858         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
10859         * modules/unictype/property-bidi-common-separator-tests: Likewise.
10860         * modules/unictype/property-bidi-control-tests: Likewise.
10861         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
10862         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
10863         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
10864         * modules/unictype/property-bidi-european-digit-tests: Likewise.
10865         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
10866         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
10867         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
10868         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
10869         * modules/unictype/property-bidi-pdf-tests: Likewise.
10870         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
10871         * modules/unictype/property-bidi-whitespace-tests: Likewise.
10872         * modules/unictype/property-byname-tests: Likewise.
10873         * modules/unictype/property-combining-tests: Likewise.
10874         * modules/unictype/property-composite-tests: Likewise.
10875         * modules/unictype/property-currency-symbol-tests: Likewise.
10876         * modules/unictype/property-dash-tests: Likewise.
10877         * modules/unictype/property-decimal-digit-tests: Likewise.
10878         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
10879         * modules/unictype/property-deprecated-tests: Likewise.
10880         * modules/unictype/property-diacritic-tests: Likewise.
10881         * modules/unictype/property-extender-tests: Likewise.
10882         * modules/unictype/property-format-control-tests: Likewise.
10883         * modules/unictype/property-grapheme-base-tests: Likewise.
10884         * modules/unictype/property-grapheme-extend-tests: Likewise.
10885         * modules/unictype/property-grapheme-link-tests: Likewise.
10886         * modules/unictype/property-hex-digit-tests: Likewise.
10887         * modules/unictype/property-hyphen-tests: Likewise.
10888         * modules/unictype/property-id-continue-tests: Likewise.
10889         * modules/unictype/property-id-start-tests: Likewise.
10890         * modules/unictype/property-ideographic-tests: Likewise.
10891         * modules/unictype/property-ids-binary-operator-tests: Likewise.
10892         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
10893         * modules/unictype/property-ignorable-control-tests: Likewise.
10894         * modules/unictype/property-iso-control-tests: Likewise.
10895         * modules/unictype/property-join-control-tests: Likewise.
10896         * modules/unictype/property-left-of-pair-tests: Likewise.
10897         * modules/unictype/property-line-separator-tests: Likewise.
10898         * modules/unictype/property-logical-order-exception-tests: Likewise.
10899         * modules/unictype/property-lowercase-tests: Likewise.
10900         * modules/unictype/property-math-tests: Likewise.
10901         * modules/unictype/property-non-break-tests: Likewise.
10902         * modules/unictype/property-not-a-character-tests: Likewise.
10903         * modules/unictype/property-numeric-tests: Likewise.
10904         * modules/unictype/property-other-alphabetic-tests: Likewise.
10905         * modules/unictype/property-other-default-ignorable-code-point-tests:
10906         Likewise.
10907         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
10908         * modules/unictype/property-other-id-continue-tests: Likewise.
10909         * modules/unictype/property-other-id-start-tests: Likewise.
10910         * modules/unictype/property-other-lowercase-tests: Likewise.
10911         * modules/unictype/property-other-math-tests: Likewise.
10912         * modules/unictype/property-other-uppercase-tests: Likewise.
10913         * modules/unictype/property-paired-punctuation-tests: Likewise.
10914         * modules/unictype/property-paragraph-separator-tests: Likewise.
10915         * modules/unictype/property-pattern-syntax-tests: Likewise.
10916         * modules/unictype/property-pattern-white-space-tests: Likewise.
10917         * modules/unictype/property-private-use-tests: Likewise.
10918         * modules/unictype/property-punctuation-tests: Likewise.
10919         * modules/unictype/property-quotation-mark-tests: Likewise.
10920         * modules/unictype/property-radical-tests: Likewise.
10921         * modules/unictype/property-sentence-terminal-tests: Likewise.
10922         * modules/unictype/property-soft-dotted-tests: Likewise.
10923         * modules/unictype/property-space-tests: Likewise.
10924         * modules/unictype/property-terminal-punctuation-tests: Likewise.
10925         * modules/unictype/property-test-tests: Likewise.
10926         * modules/unictype/property-titlecase-tests: Likewise.
10927         * modules/unictype/property-unassigned-code-value-tests: Likewise.
10928         * modules/unictype/property-unified-ideograph-tests: Likewise.
10929         * modules/unictype/property-uppercase-tests: Likewise.
10930         * modules/unictype/property-variation-selector-tests: Likewise.
10931         * modules/unictype/property-white-space-tests: Likewise.
10932         * modules/unictype/property-xid-continue-tests: Likewise.
10933         * modules/unictype/property-xid-start-tests: Likewise.
10934         * modules/unictype/property-zero-width-tests: Likewise.
10935         * modules/unictype/scripts-tests: Likewise.
10936         * modules/unictype/syntax-c-ident-tests: Likewise.
10937         * modules/unictype/syntax-c-whitespace-tests: Likewise.
10938         * modules/unictype/syntax-java-ident-tests: Likewise.
10939         * modules/unictype/syntax-java-whitespace-tests: Likewise.
10940         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
10941         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
10942         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
10943         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
10944         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
10945         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
10946         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
10947         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
10948         * modules/uniname/uniname-tests: Likewise.
10949         * modules/uninorm/canonical-decomposition-tests: Likewise.
10950         * modules/uninorm/compat-decomposition-tests: Likewise.
10951         * modules/uninorm/composition-tests: Likewise.
10952         * modules/uninorm/decomposing-form-tests: Likewise.
10953         * modules/uninorm/decomposition-tests: Likewise.
10954         * modules/uninorm/filter-tests: Likewise.
10955         * modules/uninorm/nfc-tests: Likewise.
10956         * modules/uninorm/nfd-tests: Likewise.
10957         * modules/uninorm/nfkc-tests: Likewise.
10958         * modules/uninorm/nfkd-tests: Likewise.
10959         * modules/uninorm/u8-normcmp-tests: Likewise.
10960         * modules/uninorm/u8-normcoll-tests: Likewise.
10961         * modules/uninorm/u16-normcmp-tests: Likewise.
10962         * modules/uninorm/u16-normcoll-tests: Likewise.
10963         * modules/uninorm/u32-normcmp-tests: Likewise.
10964         * modules/uninorm/u32-normcoll-tests: Likewise.
10965         * modules/unistdio/u8-asnprintf-tests: Likewise.
10966         * modules/unistdio/u8-vasnprintf-tests: Likewise.
10967         * modules/unistdio/u8-vasprintf-tests: Likewise.
10968         * modules/unistdio/u8-vsnprintf-tests: Likewise.
10969         * modules/unistdio/u8-vsprintf-tests: Likewise.
10970         * modules/unistdio/u16-asnprintf-tests: Likewise.
10971         * modules/unistdio/u16-vasnprintf-tests: Likewise.
10972         * modules/unistdio/u16-vasprintf-tests: Likewise.
10973         * modules/unistdio/u16-vsnprintf-tests: Likewise.
10974         * modules/unistdio/u16-vsprintf-tests: Likewise.
10975         * modules/unistdio/u32-asnprintf-tests: Likewise.
10976         * modules/unistdio/u32-vasnprintf-tests: Likewise.
10977         * modules/unistdio/u32-vasprintf-tests: Likewise.
10978         * modules/unistdio/u32-vsnprintf-tests: Likewise.
10979         * modules/unistdio/u32-vsprintf-tests: Likewise.
10980         * modules/unistdio/ulc-asnprintf-tests: Likewise.
10981         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
10982         * modules/unistdio/ulc-vasprintf-tests: Likewise.
10983         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
10984         * modules/unistdio/ulc-vsprintf-tests: Likewise.
10985         * modules/unistr/u8-check-tests: Likewise.
10986         * modules/unistr/u8-chr-tests: Likewise.
10987         * modules/unistr/u8-cmp-tests: Likewise.
10988         * modules/unistr/u8-cmp2-tests: Likewise.
10989         * modules/unistr/u8-cpy-alloc-tests: Likewise.
10990         * modules/unistr/u8-cpy-tests: Likewise.
10991         * modules/unistr/u8-mblen-tests: Likewise.
10992         * modules/unistr/u8-mbsnlen-tests: Likewise.
10993         * modules/unistr/u8-mbtouc-tests: Likewise.
10994         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
10995         * modules/unistr/u8-mbtoucr-tests: Likewise.
10996         * modules/unistr/u8-move-tests: Likewise.
10997         * modules/unistr/u8-next-tests: Likewise.
10998         * modules/unistr/u8-prev-tests: Likewise.
10999         * modules/unistr/u8-set-tests: Likewise.
11000         * modules/unistr/u8-stpcpy-tests: Likewise.
11001         * modules/unistr/u8-stpncpy-tests: Likewise.
11002         * modules/unistr/u8-strcat-tests: Likewise.
11003         * modules/unistr/u8-strcmp-tests: Likewise.
11004         * modules/unistr/u8-strcoll-tests: Likewise.
11005         * modules/unistr/u8-strcpy-tests: Likewise.
11006         * modules/unistr/u8-strdup-tests: Likewise.
11007         * modules/unistr/u8-strlen-tests: Likewise.
11008         * modules/unistr/u8-strmblen-tests: Likewise.
11009         * modules/unistr/u8-strmbtouc-tests: Likewise.
11010         * modules/unistr/u8-strncat-tests: Likewise.
11011         * modules/unistr/u8-strncmp-tests: Likewise.
11012         * modules/unistr/u8-strncpy-tests: Likewise.
11013         * modules/unistr/u8-strnlen-tests: Likewise.
11014         * modules/unistr/u8-to-u16-tests: Likewise.
11015         * modules/unistr/u8-to-u32-tests: Likewise.
11016         * modules/unistr/u8-uctomb-tests: Likewise.
11017         * modules/unistr/u16-check-tests: Likewise.
11018         * modules/unistr/u16-chr-tests: Likewise.
11019         * modules/unistr/u16-cmp-tests: Likewise.
11020         * modules/unistr/u16-cmp2-tests: Likewise.
11021         * modules/unistr/u16-cpy-alloc-tests: Likewise.
11022         * modules/unistr/u16-cpy-tests: Likewise.
11023         * modules/unistr/u16-mblen-tests: Likewise.
11024         * modules/unistr/u16-mbsnlen-tests: Likewise.
11025         * modules/unistr/u16-mbtouc-tests: Likewise.
11026         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
11027         * modules/unistr/u16-mbtoucr-tests: Likewise.
11028         * modules/unistr/u16-move-tests: Likewise.
11029         * modules/unistr/u16-next-tests: Likewise.
11030         * modules/unistr/u16-prev-tests: Likewise.
11031         * modules/unistr/u16-set-tests: Likewise.
11032         * modules/unistr/u16-stpcpy-tests: Likewise.
11033         * modules/unistr/u16-stpncpy-tests: Likewise.
11034         * modules/unistr/u16-strcat-tests: Likewise.
11035         * modules/unistr/u16-strcmp-tests: Likewise.
11036         * modules/unistr/u16-strcoll-tests: Likewise.
11037         * modules/unistr/u16-strcpy-tests: Likewise.
11038         * modules/unistr/u16-strdup-tests: Likewise.
11039         * modules/unistr/u16-strlen-tests: Likewise.
11040         * modules/unistr/u16-strmblen-tests: Likewise.
11041         * modules/unistr/u16-strmbtouc-tests: Likewise.
11042         * modules/unistr/u16-strncat-tests: Likewise.
11043         * modules/unistr/u16-strncmp-tests: Likewise.
11044         * modules/unistr/u16-strncpy-tests: Likewise.
11045         * modules/unistr/u16-strnlen-tests: Likewise.
11046         * modules/unistr/u16-to-u32-tests: Likewise.
11047         * modules/unistr/u16-to-u8-tests: Likewise.
11048         * modules/unistr/u16-uctomb-tests: Likewise.
11049         * modules/unistr/u32-check-tests: Likewise.
11050         * modules/unistr/u32-chr-tests: Likewise.
11051         * modules/unistr/u32-cmp-tests: Likewise.
11052         * modules/unistr/u32-cmp2-tests: Likewise.
11053         * modules/unistr/u32-cpy-alloc-tests: Likewise.
11054         * modules/unistr/u32-cpy-tests: Likewise.
11055         * modules/unistr/u32-mblen-tests: Likewise.
11056         * modules/unistr/u32-mbsnlen-tests: Likewise.
11057         * modules/unistr/u32-mbtouc-tests: Likewise.
11058         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
11059         * modules/unistr/u32-mbtoucr-tests: Likewise.
11060         * modules/unistr/u32-move-tests: Likewise.
11061         * modules/unistr/u32-next-tests: Likewise.
11062         * modules/unistr/u32-prev-tests: Likewise.
11063         * modules/unistr/u32-set-tests: Likewise.
11064         * modules/unistr/u32-stpcpy-tests: Likewise.
11065         * modules/unistr/u32-stpncpy-tests: Likewise.
11066         * modules/unistr/u32-strcat-tests: Likewise.
11067         * modules/unistr/u32-strcmp-tests: Likewise.
11068         * modules/unistr/u32-strcoll-tests: Likewise.
11069         * modules/unistr/u32-strcpy-tests: Likewise.
11070         * modules/unistr/u32-strdup-tests: Likewise.
11071         * modules/unistr/u32-strlen-tests: Likewise.
11072         * modules/unistr/u32-strmblen-tests: Likewise.
11073         * modules/unistr/u32-strmbtouc-tests: Likewise.
11074         * modules/unistr/u32-strncat-tests: Likewise.
11075         * modules/unistr/u32-strncmp-tests: Likewise.
11076         * modules/unistr/u32-strncpy-tests: Likewise.
11077         * modules/unistr/u32-strnlen-tests: Likewise.
11078         * modules/unistr/u32-to-u16-tests: Likewise.
11079         * modules/unistr/u32-to-u8-tests: Likewise.
11080         * modules/unistr/u32-uctomb-tests: Likewise.
11081         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
11082         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
11083         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
11084         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
11085         * modules/uniwidth/u8-strwidth-tests: Likewise.
11086         * modules/uniwidth/u8-width-tests: Likewise.
11087         * modules/uniwidth/u16-strwidth-tests: Likewise.
11088         * modules/uniwidth/u16-width-tests: Likewise.
11089         * modules/uniwidth/u32-strwidth-tests: Likewise.
11090         * modules/uniwidth/u32-width-tests: Likewise.
11091         * modules/uniwidth/width-tests: Likewise.
11092
11093 2010-05-18  Richard Jones  <rjones@redhat.com>
11094
11095         doc: users.txt: list hivex
11096         * users.txt: Add hivex.
11097
11098 2010-05-18  Richard Jones  <rjones@redhat.com>
11099
11100         doc: users.txt: list febootstrap
11101         * users.txt: Add febootstrap.
11102
11103 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
11104
11105         bootstrap: fix an error when gnulib is not used as a git submodule
11106         * build-aux/bootstrap (gnulib_path): If its length is zero then
11107         assign "gnulib" to it.
11108         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
11109
11110 2010-05-16  Bruno Haible  <bruno@clisp.org>
11111
11112         Avoid autoconf warnings about AM_ICONV.
11113         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
11114         2.64.
11115
11116 2010-05-16  Bruno Haible  <bruno@clisp.org>
11117
11118         absolute-header: Make the macro usable in more situations.
11119         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
11120         from gl_ABSOLUTE_HEADER.
11121         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
11122
11123 2010-05-16  James Youngman  <jay@gnu.org>
11124
11125         doc: update users.txt
11126         * users.txt: Add CSSC.
11127
11128 2010-05-16  Jim Meyering  <meyering@redhat.com>
11129
11130         init.sh: fix an error in the previous change; add more comments
11131         * tests/init.sh: Compare exit code in loop against 9, not 2.
11132         Patch by Bruno Haible.
11133         Make the two tests more similar by adding an empty "then" clause.
11134         Add comments.
11135
11136         init.sh: avoid unnecessary shell re-exec
11137         * tests/init.sh: Improve the re-exec-required check to first test the
11138         current shell.  If it passes the test, do not search for a shell that
11139         does pass, and do not re-exec.  This test is particularly contorted to
11140         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
11141         of $(...) evokes a syntax error and causes immediate shell exit with
11142         status 2.  Bruno Haible reported that the re-exec made it impossible
11143         to single-step through any init.sh-using script.
11144
11145 2010-05-16  Bruno Haible  <bruno@clisp.org>
11146
11147         Fix collision between gnulib's and libintl's printf replacements.
11148         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
11149         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
11150         (printf): When using GNU C, map the __printf__ function to rpl_printf
11151         via __asm__. When not using GNU C, define rpl_printf instead of
11152         __printf__.
11153         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
11154         commit.
11155         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
11156         commit.
11157         * m4/asm-underscore.m4: New file.
11158         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
11159         * modules/stdio (Files): Add m4/asm-underscore.m4.
11160         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
11161         Reported by Ben Pfaff.
11162
11163 2010-05-16  Bruno Haible  <bruno@clisp.org>
11164
11165         verify: Avoid skipping the test on openSUSE 11.0.
11166         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
11167
11168 2010-05-13  Bruno Haible  <bruno@clisp.org>
11169
11170         Avoid useless warnings from G++.
11171         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
11172         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
11173         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
11174
11175 2010-05-11  Jim Meyering  <meyering@redhat.com>
11176
11177         maint.mk: tweak preceding change
11178         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
11179         regexps tighter by anchoring at EOL, and make the new group "shy"
11180         for slightly decreased overhead.
11181
11182 2010-05-11  Eric Blake  <eblake@redhat.com>
11183
11184         maint.mk: gnulib doesn't guarantee NSIG
11185         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
11186
11187 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
11188
11189         test-pwrite.c: Remove unused variable declaration.
11190         * tests/test-pwrite.c (main): Remove read_buf declaration.
11191
11192         Remove useless test-pwrite.sh file.
11193         * tests/test-pwrite.sh: Delete file.
11194         * modules/pwrite-tests: Remove references.
11195         Reported by Bruno Haible.
11196
11197 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
11198
11199         init.sh: fix a typo
11200         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
11201
11202 2010-05-10  Jim Meyering  <meyering@redhat.com>
11203
11204         maint.mk: avoid using a temporary file in the always-defined-macros check
11205         * top/maint.mk (.re-defmac): Remove rule.
11206         (gl_trap_): Remove definition.
11207         (sc_prohibit_always-defined_macros): Rewrite not to create and
11208         depend on a temporary file.  Instead, depend on GNU grep's ability
11209         to read a list of regular expressions from stdin when given "-f -".
11210
11211 2010-05-09  Bruno Haible  <bruno@clisp.org>
11212
11213         Update to GNU gettext 0.18, part 1.
11214         * m4/gettext.m4: Update to GNU gettext 0.18.
11215         * m4/intl.m4: Likewise.
11216         * m4/po.m4: Likewise.
11217         * modules/gettext (Files): Add m4/fcntl-o.m4.
11218         (configure.ac): Require gettext infrastructure from version 0.18.
11219
11220 2010-05-09  Jim Meyering  <meyering@redhat.com>
11221
11222         init.sh: enable MALLOC_PERTURB_
11223         * tests/init.sh: Enable glibc's malloc-perturbing option.
11224
11225         maint.mk: improve sc_cross_check_PATH_usage_in_tests
11226         With my recent change in init.sh from the two-line form:
11227             -#   : ${srcdir=.}
11228             -#   . "$srcdir/init.sh"; path_prepend_ .
11229             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
11230         I noticed that using the one-line form would cause this test
11231         to fail with a false-positive, or to stop working altogether,
11232         depending on whether help-version changed or all the tests did.
11233         * top/maint.mk (_hv_regex): Remove this definition.
11234         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
11235         (_hv_regex_strong): Use a stronger regex to check for conformance.
11236         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
11237         Give a separate diagnostic for lack of conforming use.
11238
11239         maint.mk: prohibit definition of symbols defined by gnulib
11240         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
11241         definition of symbols defined by gnulib.
11242
11243 2010-05-09  Bruno Haible  <bruno@clisp.org>
11244
11245         acl: Avoid test failure on Cygwin-hosted mingw.
11246         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
11247
11248 2010-05-09  Bruno Haible  <bruno@clisp.org>
11249
11250         error: Use system's fcntl function.
11251         * lib/error.c (fcntl): Undefine.
11252
11253 2010-05-09  Jim Meyering  <meyering@redhat.com>
11254
11255         verify: adjust formatting to be more consistent
11256         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
11257         argument-list '('s, and after one comma.
11258
11259 2010-05-09  Bruno Haible  <bruno@clisp.org>
11260
11261         error: More reliable output on mingw.
11262         * lib/error.c: Include <windows.h>.
11263         (is_open): New function.
11264         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
11265         defined.
11266
11267 2010-05-09  Bruno Haible  <bruno@clisp.org>
11268
11269         vasnprintf: Fix syntax errors in libintl build on mingw.
11270         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
11271         pad_ourselves and prec_ourselves after use.
11272
11273 2010-05-08  Bruno Haible  <bruno@clisp.org>
11274
11275         * lib/config.charset: Update comments for Cygwin 1.7.
11276         * lib/localcharset.c: Likewise.
11277
11278 2010-05-07  Jim Meyering  <meyering@redhat.com>
11279
11280         init.sh: improve comments
11281         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
11282         . "${srcdir=.}/init.sh"; path_prepend_ .
11283         Add a note about path_prepend_ and the alternative of using
11284         TESTS_ENVIRONMENT.
11285
11286 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
11287
11288         exclude: Unescape hashed patterns in wildcard mode.
11289         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
11290         to the hash list.
11291         * tests/test-exclude8.sh: New test case.
11292         * modules/exclude-tests: Add new test.
11293
11294 2010-05-05  Eric Blake  <eblake@redhat.com>
11295
11296         verify: automate tests
11297         * modules/verify-tests: New module.
11298         * tests/test-verify.sh: New file.
11299         * tests/test-verify.c: Guard each negative test with a unique id.
11300         Also avoid warning about unused left hand of comma expressions.
11301
11302 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
11303
11304         Further improvements to verify.h, suggested by Eric Blake.
11305         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
11306         the GL_* versions, to avoid collision with OpenGL.
11307         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
11308         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
11309         than testing merely whether it's defined.
11310
11311         Modify verify.h to pacify gcc -Wredundant_decls.
11312         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
11313         These use the prefix "GL_" since they're likely to be useful elsewhere.
11314         We may need to break them out into a different .h file.
11315         (__COUNTER__): Define to 0 if the compiler doesn't support it.
11316         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
11317         of verify_function__.
11318
11319 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
11320
11321         Tests for module pwrite.
11322         * modules/pwrite-tests: New file.
11323         * tests/test-pwrite.sh: New file.
11324         * tests/test-pwrite.c: New file.
11325
11326         New module pwrite.
11327         * lib/unistd.in.h (pwrite): New declaration.
11328         * lib/pwrite.c: New file, from glibc with modifications.
11329         * m4/pwrite.m4: New file.
11330         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
11331         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
11332         REPLACE_PWRITE.
11333         * modules/pwrite: New file.
11334         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
11335         REPLACE_PWRITE.
11336         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
11337         * doc/posix-functions/pwrite.texi: Mention the new module.
11338
11339 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
11340
11341         pread: Update documentation.
11342         * doc/posix-functions/pread.texi: Mention the 'pread' module.
11343
11344 2010-05-04  Eric Blake  <eblake@redhat.com>
11345
11346         docs: update cygwin progress
11347         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
11348         this bug.
11349         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
11350         Added in cygwin 1.7.2.
11351         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
11352         Likewise.
11353         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
11354         Likewise.
11355         * doc/glibc-functions/dup3.texi (dup3): Likewise.
11356         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
11357         * doc/glibc-functions/accept4.texi (accept4): Likewise.
11358         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
11359         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
11360         Mention nproc module.
11361         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
11362         bug in cygwin 1.7.5 addition.
11363         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
11364         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
11365         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
11366         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
11367         1.7.5.
11368         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
11369         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
11370         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
11371         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
11372         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
11373         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
11374         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
11375         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
11376         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
11377         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
11378         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
11379         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
11380         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
11381         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
11382         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
11383         Likewise.
11384         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
11385         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
11386         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
11387         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
11388         Likewise.
11389         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
11390         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
11391         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
11392         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
11393         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
11394         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
11395         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
11396         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
11397         Likewise.
11398         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
11399         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
11400         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
11401         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
11402         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
11403         Likewise.
11404         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
11405         Likewise.
11406         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
11407         Likewise.
11408         * doc/glibc-functions/xdrrec_endofrecord.texi
11409         (xdrrec_endofrecord): Likewise.
11410         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
11411         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
11412         Likewise.
11413         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
11414         Likewise.
11415
11416 2010-05-04  Jim Meyering  <meyering@redhat.com>
11417
11418         gendocs.sh: make its "-s FILE" option more useful
11419         * build-aux/gendocs.sh: When honoring the -s FILE option, update
11420         $PACKAGE to reflect the probably-different basename of "FILE".
11421
11422 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
11423
11424         bootstrap: don't ignore download_po_files failure
11425         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
11426         failure.
11427
11428 2010-05-03  Jim Meyering  <meyering@redhat.com>
11429
11430         maint.mk: allow to pass options to gendocs.sh
11431         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
11432         (gendocs_options_): New overridable variable.
11433
11434         gnu-web-doc-update: don't ignore configure or build failure
11435         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
11436
11437         announce-gen: backslash-escape '@'s in --help output
11438         * build-aux/announce-gen: Fix syntax errors.
11439
11440         maint.mk, announce-gen: allow project-specific announcement mail headers
11441         * top/maint.mk (translation_project_): Define default.
11442         (announcement_Cc_, announcement_mail_headers_): Likewise.
11443         (announcement): Invoke announce-gen with new --mail-headers option.
11444         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
11445
11446         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
11447         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
11448         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
11449         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
11450         line in the "err2" output file when running "make check" in verbose
11451         mode (i.e., with set -x enabled).
11452
11453 2010-05-03  Bruno Haible  <bruno@clisp.org>
11454
11455         wctob: Fix for weird platforms.
11456         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
11457         argument value.
11458
11459 2010-05-03  Jim Meyering  <meyering@redhat.com>
11460
11461         maint.mk: prohibit unwarranted use of <strings.h>
11462         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
11463         strings.h in a file that does not also use strcasecmp, strncasecmp,
11464         ffs or ffsll.
11465
11466         maint.mk: remove obsolete comments
11467         * top/maint.mk: Remove stale, commented-out rules.
11468
11469 2010-05-02  Bruno Haible  <bruno@clisp.org>
11470
11471         wcwidth: Declare also when it's aliased.
11472         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
11473         macro.
11474
11475 2010-05-02  Bruno Haible  <bruno@clisp.org>
11476
11477         Fix regression from 2010-04-25.
11478         * gnulib-tool (func_modules_transitive_closure): Check the status of
11479         all modules, not only of the tests that are of the form foo-tests where
11480         foo is a module.
11481
11482 2010-05-02  Bruno Haible  <bruno@clisp.org>
11483
11484         wctob: Work around nasty Cygwin 1.7.2 bug.
11485         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
11486         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
11487
11488 2010-05-01  Bruno Haible  <bruno@clisp.org>
11489
11490         fpurge: Sharper test.
11491         * tests/test-fpurge.c (main): Add one more ftell check.
11492         * modules/fpurge-tests (Depends-on): Add ftell.
11493         Suggested by Eric Blake.
11494
11495 2010-05-01  Bruno Haible  <bruno@clisp.org>
11496
11497         ftello: Another test.
11498         * tests/test-ftello3.c: New file.
11499         * modules/ftello-tests (Files): Add it.
11500         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
11501         MOSTLYCLEANFILES.
11502
11503         ftell: Another test.
11504         * tests/test-ftell3.c: New file.
11505         * modules/ftell-tests (Files): Add it.
11506         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
11507         MOSTLYCLEANFILES.
11508
11509 2010-05-01  Bruno Haible  <bruno@clisp.org>
11510
11511         ftell, ftello: Work around Solaris bug.
11512         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
11513         * lib/ftello.c: Include stdio-impl.h.
11514         (ftello): On Solaris, when _IOWRT is set, compute the result without
11515         looking at _IOREAD.
11516         * modules/ftello (Files): Add lib/stdio-impl.h.
11517         * doc/posix-functions/ftell.texi: Mention Solaris bug.
11518         * doc/posix-functions/ftello.texi: Likewise.
11519         Reported by Eric Blake.
11520
11521 2010-05-01  Bruno Haible  <bruno@clisp.org>
11522
11523         freading: Adapt to special meaning of _IOREAD flag on Solaris.
11524         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
11525         the _IOWRT flag is also set.
11526
11527 2010-05-01  Bruno Haible  <bruno@clisp.org>
11528
11529         Fix doc about a HP-UX stdio bug.
11530         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
11531         * doc/posix-functions/ftello.texi: Likewise.
11532
11533 2010-05-01  Bruno Haible  <bruno@clisp.org>
11534
11535         lseek test: Fix failure on Solaris.
11536         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
11537         output.
11538
11539 2010-04-30  Jim Meyering  <meyering@redhat.com>
11540
11541         bootstrap: don't ignore failure to generate po*/Makevars
11542         * build-aux/bootstrap (with_gettext): Don't ignore failure
11543         to create po/Makevars or runtime-po/Makevars.
11544
11545 2010-04-29  Eric Blake  <eblake@redhat.com>
11546
11547         headers: relax license to LGPLv2+
11548         * modules/fcntl-h (License): Relax license.
11549         * modules/getopt-posix (License): Likewise.
11550         * modules/locale (License): Likewise.
11551         * modules/math (License): Likewise.
11552         * modules/pty (License): Likewise.
11553         * modules/sched (License): Likewise.
11554         * modules/search (License): Likewise.
11555         * modules/spawn (License): Likewise.
11556         * modules/stdarg (License): Likewise.
11557         * modules/sysexits (License): Likewise.
11558
11559 2010-04-29  Jim Meyering  <meyering@redhat.com>
11560
11561         inttypes: relax license to LGPLv2+
11562         * modules/inttypes (License): Relax license.
11563
11564 2010-04-29  Simon Josefsson  <simon@josefsson.org>
11565
11566         * top/maint.mk (indent): Run twice to produce idempotent results.
11567
11568 2010-04-28  Bruno Haible  <bruno@clisp.org>
11569
11570         getdate: Generate getdate.c in the source directory.
11571         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
11572         MOSTLYCLEANFILES.
11573         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
11574
11575 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
11576
11577         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
11578         is not declared as a const *; avoid warnings in that case.
11579
11580 2010-04-28  Eric Blake  <eblake@redhat.com>
11581
11582         canonicalize-lgpl: avoid compiler warning
11583         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
11584         declaration' / 'extraneous semicolon' warning with some compilers.
11585         Reported by Andreas Gruenbacher.
11586
11587 2010-04-28  Jim Meyering  <meyering@redhat.com>
11588
11589         init.sh: ensure a more reliable exit status when exiting via trap
11590         * tests/init.sh (setup_): Don't rely on $? in signal handler.
11591         Inspired by patches from Dmitry V. Levin.
11592         Also trap on signal 3 (SIGQUIT).
11593
11594 2010-04-27  Bruno Haible  <bruno@clisp.org>
11595
11596         Update doc about utimes().
11597         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
11598         'utimens' module.
11599         Reported by Andreas Gruenbacher <agruen@suse.de>.
11600
11601 2010-04-27  Eric Blake  <eblake@redhat.com>
11602
11603         full-read, full-write: relax license
11604         * modules/full-read (License): Drop to LGPLv2+.
11605         * modules/full-write (License): Likewise.
11606         * modules/safe-read (License): Likewise.
11607         * modules/safe-write (License): Likewise.
11608
11609         pthread: mention library for linking
11610         * modules/pthread (Link): Mention $(LIB_PTHREAD).
11611
11612 2010-04-27  Jim Meyering  <meyering@redhat.com>
11613
11614         maint.mk: fix a bug introduced in last change
11615         * top/maint.mk (gl_assured_headers_): Now that all names are on
11616         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
11617         is not anchored to end of word, it should be adequate.
11618
11619         maint.mk: avoid side-effect in latest syntax-check
11620         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
11621         to run commands via $(shell...), and hence to incur cost only when
11622         the new rule is actually run.
11623
11624         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
11625         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
11626         and use that to create a regexp used to detect all #if HAVE_..._H uses.
11627         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
11628         (gl_assured_headers_, az_, AZ_): Define.
11629         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
11630
11631 2010-04-26  Jim Meyering  <jim@meyering.net>
11632             Bruno Haible  <bruno@clisp.org>
11633
11634         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
11635         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
11636         Prompted by an exchange with Gilles Espinasse.
11637
11638 2010-04-26  Jim Meyering  <meyering@redhat.com>
11639
11640         git-version-gen: aesthetic tweak
11641         * build-aux/git-version-gen: Use "$nl" rather than a literal,
11642         so that the command remains on a single line.
11643
11644 2010-04-26  Eric Blake  <eblake@redhat.com>
11645
11646         git-version-gen: allow use on EBCDIC hosts
11647         * build-aux/git-version-gen (dirty): Use literal rather than tying
11648         ourselves to ascii.
11649         Reported by Steve Goetze.
11650
11651 2010-04-25  Bruno Haible  <bruno@clisp.org>
11652
11653         netdb: Add support for GNULIB_POSIXCHECK.
11654         * lib/netdb.in.h: Include warn-on-use.h.
11655         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
11656         functions are used when GNULIB_POSIXCHECK is defined and the
11657         getaddrinfo module is not in use.
11658         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
11659         freeaddrinfo, gai_strerror, getnameinfo are declared.
11660         * modules/netdb (Depends-on): Add warn-on-use.
11661         (Makefile.am): Include warn-on-use.h in netdb.h.
11662
11663 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
11664
11665         build: avoid "make check" failure without .git/ directory
11666         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
11667         there is no .git/ directory.
11668
11669 2010-04-25  Bruno Haible  <bruno@clisp.org>
11670
11671         ptsname: Fix misuse of ttyname_r.
11672         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
11673         of errno.
11674
11675 2010-04-25  Bruno Haible  <bruno@clisp.org>
11676
11677         ttyname_r: Make it work on Solaris 10.
11678         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
11679         if the system function has the POSIX declaration. Test whether the
11680         function fails if the buffer is less than 128 bytes large.
11681         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
11682         system's ttyname_r function. Provide a reasonably large buffer.
11683         * modules/ttyname_r (Depends-on): Add extensions.
11684         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
11685
11686 2010-04-25  Bruno Haible  <bruno@clisp.org>
11687
11688         Use the 'extensions' module for some more functions on Solaris.
11689         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
11690         module.
11691         * doc/posix-functions/ctime_r.texi: Likewise.
11692         * doc/posix-functions/getgrgid_r.texi: Likewise.
11693         * doc/posix-functions/getgrnam_r.texi: Likewise.
11694         * doc/posix-functions/getpwnam_r.texi: Likewise.
11695         * doc/posix-functions/getpwuid_r.texi: Likewise.
11696         * doc/posix-functions/readdir_r.texi: Likewise.
11697         * doc/posix-functions/sigwait.texi: Likewise.
11698         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
11699         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
11700
11701 2010-04-25  Bruno Haible  <bruno@clisp.org>
11702
11703         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
11704         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
11705         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
11706         * lib/ttyname_r.c: Include <limits.h>.
11707         (ttyname_r): Define using the system's ttyname_r function, if it exists
11708         and not on Solaris.
11709         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
11710         set.
11711         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
11712         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
11713         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
11714         Reported by Simon Josefsson.
11715
11716 2010-04-25  Bruno Haible  <bruno@clisp.org>
11717
11718         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
11719         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
11720         * doc/posix-functions/ctime_r.texi: Likewise.
11721         * doc/posix-functions/getgrgid_r.texi: Likewise.
11722         * doc/posix-functions/getgrnam_r.texi: Likewise.
11723         * doc/posix-functions/getlogin_r.texi: Likewise.
11724         * doc/posix-functions/getpwnam_r.texi: Likewise.
11725         * doc/posix-functions/getpwuid_r.texi: Likewise.
11726         * doc/posix-functions/readdir_r.texi: Likewise.
11727         * doc/posix-functions/sigwait.texi: Likewise.
11728         * doc/posix-functions/ttyname_r.texi: Likewise.
11729         Reported by Simon Josefsson.
11730
11731 2010-04-25  Bruno Haible  <bruno@clisp.org>
11732
11733         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
11734         * gnulib-tool (func_usage): Document that --with-*-tests options apply
11735         also to --create-testdir.
11736         (func_acceptable): Don't consider the status of *-tests modules here.
11737         (func_modules_transitive_closure): Consider it here, before including a
11738         test module.
11739         (func_import, func_create_testdir): Set inc_all_direct_tests,
11740         inc_all_indirect_tests.
11741         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
11742         --create-testdir and --create-megatestdir.
11743
11744 2010-04-25  Bruno Haible  <bruno@clisp.org>
11745
11746         gnulib-tool: Add --without-*-tests options.
11747         * gnulib-tool (func_usage): Document the --without-*-tests options.
11748         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
11749         excl_unportable_tests): New variables.
11750         Fail if they are specified with --import or --update.
11751         (func_acceptable): Respect the excl_*_tests variables.
11752         (func_import): Set the excl_*_tests variables to empty.
11753
11754 2010-04-25  Simon Josefsson  <simon@josefsson.org>
11755             Bruno Haible  <bruno@clisp.org>
11756
11757         Work around a MacOS X 10.4 bug with openpty.
11758         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
11759         * tests/test-openpty.c (main): Close the master side explicitly.
11760
11761 2010-04-25  Bruno Haible  <bruno@clisp.org>
11762
11763         strnlen: Fix a C++ test error on MacOS X and Solaris.
11764         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
11765         the function is not declared.
11766         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
11767         Simon Josefsson.
11768
11769 2010-04-24  Bruno Haible  <bruno@clisp.org>
11770
11771         Avoid a gcc warning.
11772         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
11773         of correct type for %08lx directive.
11774         Reported by Eric Blake.
11775
11776 2010-04-24  Bruno Haible  <bruno@clisp.org>
11777
11778         vasnprintf: Correct errno value in case of out-of-memory.
11779         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
11780         or sprintf. Use the errno value from SNPRINTF or sprintf.
11781         Reported by Ian Beckwith <ianb@erislabs.net>.
11782
11783 2010-04-24  Bruno Haible  <bruno@clisp.org>
11784
11785         ansi-c++-opt: Find correct compiler when cross-compiling.
11786         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
11787         AC_CHECK_PROGS.
11788         Reported by Simon Josefsson.
11789
11790 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
11791
11792         vc-list-files: Add support for subversion
11793         * build-aux/vc-list-files: Use "svn list" to generate the list of
11794         files controlled by subversion.
11795
11796 2010-04-23  Jim Meyering  <meyering@redhat.com>
11797
11798         vc-list-files tests: convert to use init.sh
11799         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
11800         path_prepend_.
11801         Use Exit, not exit.
11802         Use skip_ rather than open coding it.
11803         Remove trap set-up and compare definitions.
11804         * tests/test-vc-list-files-git.sh: Likewise.
11805         * modules/vc-list-files-tests (Files): Add tests/init.sh.
11806
11807 2010-04-22  Simon Josefsson  <simon@josefsson.org>
11808
11809         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
11810         backup files.
11811
11812 2010-04-21  Simon Josefsson  <simon@josefsson.org>
11813
11814         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
11815
11816 2010-04-20  Eric Blake  <eblake@redhat.com>
11817
11818         tests: be robust to ignored SIGPIPE
11819         * tests/test-select-in.sh: Consume all output.
11820         * tests/test-lseek.sh: Check correct exit status, while avoiding
11821         EPIPE.
11822
11823 2010-04-20  Simon Josefsson  <simon@josefsson.org>
11824             Bruno Haible  <bruno@clisp.org>
11825
11826         visibility: Don't use -fvisibility if it leads to a warning.
11827         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
11828         yes, don't pretend that visibility works if it leads to a warning.
11829         Reported by Mike Gran <spk121@yahoo.com>.
11830
11831 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
11832
11833         * build-aux/bootstrap: Use "git -h" for testing for supported options
11834         instead of "git --help".  The short-form option only shows a summary,
11835         and doesn't layout the full man page.  Grep for the full option name
11836         in the summary, too.
11837
11838 2010-04-19  Bruno Haible  <bruno@clisp.org>
11839
11840         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
11841         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
11842         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
11843         mention of RELOCATABLE_STRIP.
11844         Reported by Sylvain Beucler <beuc@beuc.net>.
11845
11846 2010-04-19  Bruno Haible  <bruno@clisp.org>
11847
11848         * lib/diffseq.h: Fix typo in comment.
11849         Reported by Eric Blake.
11850
11851 2010-04-19  Bruno Haible  <bruno@clisp.org>
11852
11853         ioctl: Move autoconf macro to a .m4 file.
11854         * m4/ioctl.m4: New file, extracted from modules/ioctl.
11855         * modules/ioctl (Files): Add it.
11856         (configure.ac): Simply invoke gl_FUNC_IOCTL.
11857         Reported by Ian Beckwith <ianb@erislabs.net>.
11858
11859 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
11860             Bruno Haible  <bruno@clisp.org>
11861
11862         diffseq: Accommodate use-case with abstract arrays.
11863         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
11864         is not defined.
11865         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
11866         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
11867
11868 2010-04-18  Bruno Haible  <bruno@clisp.org>
11869
11870         * doc/posix-headers/stdbool.texi: More precise wording.
11871
11872 2010-04-17  Jim Meyering  <meyering@redhat.com>
11873
11874         maint.mk: use gnu-style indentation in an embedded perl script
11875         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
11876         Rename variable: s/two/last_two_bytes/
11877
11878 2010-04-16  Eric Blake  <eblake@redhat.com>
11879
11880         test-stdbool: skip test that fails with Solaris CC
11881         * tests/test-stdbool.c (f): Skip test that causes compilation
11882         error under buggy C++ compiler.
11883         * lib/stdbool.in.h: Document the limitation.
11884         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
11885
11886         setenv: allow compilation with C++
11887         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
11888         register keyword.
11889
11890         stdint: allow test to pass with C++
11891         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
11892
11893         getopt: allow compilation with C++
11894         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
11895         struct.
11896         * lib/getopt.c (_getopt_internal_r): Use correct type.
11897         Reported by Dagobert Michelson, via Joel E. Denny.
11898
11899 2010-04-16  Bruno Haible  <bruno@clisp.org>
11900
11901         Override netdb.h always.
11902         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
11903         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
11904         Reported by Ludovic Courtès <ludo@gnu.org>.
11905
11906 2010-04-15  Bruno Haible  <bruno@clisp.org>
11907
11908         openpty: Fix mistake from 2010-03-21.
11909         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
11910         Reported by Simon Josefsson.
11911
11912 2010-04-15  Eric Blake  <eblake@redhat.com>
11913
11914         test-forkpty: fix expected signature
11915         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
11916         Reported by Simon Josefsson.
11917
11918 2010-04-15  Jim Meyering  <meyering@redhat.com>
11919
11920         maint.mk: texinfo_suffix_re_: correct the default regexp
11921         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
11922
11923         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
11924         make it configurable via texinfo_suffix_re_.
11925
11926 2010-04-14  Eric Blake  <eblake@redhat.com>
11927
11928         strtok_r: relax license to LGPLv2+
11929         * modules/strtok_r (License): Relax license.
11930         Reported by Matthias Bolte.
11931
11932 2010-04-14  Simon Josefsson  <simon@josefsson.org>
11933
11934         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
11935         version 1.4.4 by default instead of requiring the libgcrypt
11936         version used during build.  This makes it possible to use the
11937         application with older but still binary compatible libgcrypt
11938         versions.
11939
11940 2010-04-13  Eric Blake  <eblake@redhat.com>
11941
11942         getopt-gnu: match recent glibc fixes and posix ruling
11943         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
11944         '+' handling, when requesting extensions.
11945         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
11946         'W;' handling.
11947         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
11948         * doc/posix-functions/getopt.texi (getopt): Document this.
11949         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
11950         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
11951         Likewise.
11952
11953         getopt: merge bug fixes from glibc
11954         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
11955         diagnostics.  Honor '+:' correctly.  Reject ';'.
11956
11957         getopt-posix: detect MacOS bug
11958         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
11959         optind when missing a required argument.
11960         * doc/posix-functions/getopt.texi (getopt): Document the bug.
11961         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
11962         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
11963         Likewise.
11964
11965         getopt-posix: avoid spurious failure on Solaris
11966         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
11967         an indicator that setting optind=1 is sufficient for reset.
11968
11969         getopt-posix: avoid spurious failure on FreeBSD
11970         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
11971         in POSIX mode, since the m4 test uses it.
11972
11973         gnulib-tool: silence warning on BSD sh
11974         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
11975
11976 2010-04-13  Jim Meyering  <meyering@redhat.com>
11977
11978         doc: users.txt: GNU patch now uses gnulib
11979         * users.txt: Add patch.
11980
11981 2010-04-12  Jim Meyering  <meyering@redhat.com>
11982
11983         maint.mk: generate more concise timing data for syntax-check rules
11984         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
11985         " done" from each line that reports a syntax-check test duration.
11986
11987 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
11988
11989         git-version-gen: use "git update-index..." rather than "git status"
11990         * build-aux/git-version-gen: Use git update-index --refresh, not
11991         "git status".  With some versions of git, "git status" would fail
11992         to update the index and result in an unwarranted "-dirty" suffix.
11993
11994 2010-04-11  Jim Meyering  <meyering@redhat.com>
11995
11996         openat: correct formatting (no semantic change)
11997         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
11998         Suggested by Bruno Haible.
11999
12000 2010-04-11  Bruno Haible  <bruno@clisp.org>
12001
12002         Stricter declaration checking in testdirs.
12003         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
12004         If for_tests is true, augment AM_CPPFLAGS to define
12005         GNULIB_STRICT_CHECKING.
12006         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
12007         GNULIB_STRICT_CHECKING is defined, verify that the function is
12008         declared.
12009
12010 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
12011             Bruno Haible  <bruno@clisp.org>
12012
12013         libunistring: Improve configure output.
12014         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
12015         Don't say "consider installing GNU libunistring" when checking again
12016         with libiconv.
12017
12018 2010-04-11  Bruno Haible  <bruno@clisp.org>
12019
12020         libunistring: Correct value of $LTLIBUNISTRING.
12021         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
12022         correct the value of $LTLIBUNISTRING.
12023
12024 2010-04-11  Bruno Haible  <bruno@clisp.org>
12025
12026         havelib: Add static libraries to LIBS in the right order.
12027         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
12028         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
12029
12030 2010-04-11  Bruno Haible  <bruno@clisp.org>
12031
12032         libunistring: Detect libunistring also when it depends on libiconv.
12033         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
12034         the second AC_LIB_HAVE_LINKFLAGS invocation.
12035
12036 2010-04-11  James Youngman  <jay@gnu.org>
12037
12038         close-stream: declare local scalars to be "const"
12039         * lib/close-stream.c (close_stream): Make boolean variables const
12040         to document the fact that we set but do not change them.
12041
12042 2010-04-11  Bruno Haible  <bruno@clisp.org>
12043
12044         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
12045
12046 2010-04-11  Jim Meyering  <meyering@redhat.com>
12047
12048         maint.mk: don't include dist-check.mk
12049         * top/maint.mk: Remove bogus include directive.
12050
12051         maint.mk: improve empty-line-at-EOF check
12052         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
12053         solution, rather than tail+Perl-based one.  The latter would read
12054         a few kilobytes from the end of each file, and did not handle empty
12055         files properly.
12056
12057         maint.mk: print the elapsed time for each syntax-check rule
12058         * top/maint.mk (sc_m_rules_): Save start time in a file.
12059         (sc_z_rules_): New rules: remove temp file and print elapsed time.
12060         (local-check): Interpose the .z rules
12061
12062 2010-04-11  Jim Meyering  <meyering@redhat.com>
12063
12064         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
12065         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
12066         empty file with one that ends in an empty line.
12067
12068 2010-04-10  Bruno Haible  <bruno@clisp.org>
12069
12070         mkdir: Make it work on mingw64.
12071         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
12072         * lib/mkdir.c: Update comment.
12073         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
12074
12075 2010-04-10  Bruno Haible  <bruno@clisp.org>
12076
12077         Don't override improved macro from newer autoconf.
12078         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
12079         autoconf >= 2.62.
12080         Reported by Joel E. Denny <jdenny@clemson.edu>.
12081
12082 2010-04-10  Jim Meyering  <meyering@redhat.com>
12083
12084         maint.mk: new syntax-check rule: prohibit empty lines at end of file
12085         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
12086
12087         maint.mk: correct a diagnostic
12088         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
12089         in diagnostic; now use $prohibit.
12090
12091 2010-04-10  Bruno Haible  <address@hidden>
12092
12093         fchownat: Fix a C++ test error on Solaris 8.
12094         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
12095         the function does not exist.
12096
12097 2010-04-10  Bruno Haible  <bruno@clisp.org>
12098
12099         vasnprintf: Add more tests.
12100         * tests/test-vasnprintf-posix.c: Include <errno.h>.
12101         (test_function): Test converting an invalid wide string.
12102
12103         vasnprintf: Correct handling of unconvertible wide string arguments.
12104         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
12105         VASNPRINTF.
12106         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
12107         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
12108         smaller than the expected maximum need for the directive. Set errno to
12109         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
12110         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
12111         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
12112         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
12113         * modules/vasnprintf (Files): Add m4/printf.m4.
12114         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12115
12116 2010-04-10  Bruno Haible  <bruno@clisp.org>
12117
12118         vasnprintf: Fix crash in %ls directive.
12119         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
12120         string is passed as argument to %ls, with no precision and no width.
12121         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12122
12123 2010-04-10  Bruno Haible  <bruno@clisp.org>
12124
12125         vasnprintf: Fix multiple test failures on mingw.
12126         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
12127         _snprintf, or snwprintf, not _snwprintf.
12128
12129 2010-04-10  Bruno Haible  <bruno@clisp.org>
12130
12131         write: Fix a C++ test error on mingw.
12132         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
12133
12134 2010-04-10  Bruno Haible  <bruno@clisp.org>
12135
12136         vasnprintf test: Reduce code duplication.
12137         * tests/test-vasnprintf.c (test_function): New function, extracted from
12138         test_vasnprintf.
12139         (test_vasnprintf, test_asnprintf): Invoke it.
12140
12141 2010-04-10  Bruno Haible  <bruno@clisp.org>
12142
12143         strnlen: Fix warning in C++ mode on MacOS X.
12144         * lib/string.in.h (strnlen): Use the modern idiom.
12145         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
12146         defining strnlen as a macro already in <config.h>.
12147         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
12148         REPLACE_STRNLEN.
12149         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
12150         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12151
12152 2010-04-08  James Youngman  <jay@gnu.org>
12153
12154         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
12155         the example.
12156
12157 2010-04-09  Jim Meyering  <meyering@redhat.com>
12158
12159         maint.mk: print better diagnostic when there is no $(_hv_file)
12160         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
12161         announce that when $(_hv_file) (aka help-version) does not exist.
12162
12163         init.sh: run tr in the "C" locale to avoid multibyte interpretation
12164         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
12165         not try to interpret its random input bytes.  Jarno Rajahalme reported
12166         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
12167         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
12168         (mktempd_): Likewise, just in case.
12169
12170         ftruncate: add two years to projected module removal date: 2012
12171         * m4/ftruncate.m4: Adjust comments.
12172
12173         ftruncate: mark module as obsolete; even MinGW provides it, now
12174         * modules/ftruncate (Status): Obsolete.
12175         (Notice): Say that.
12176         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
12177         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
12178
12179 2010-04-08  Bruno Haible  <bruno@clisp.org>
12180
12181         Fix side effects from tests-related modules.
12182         * modules/dprintf-posix (Comment): New section.
12183         * modules/fprintf-posix (Comment): Likewise.
12184         * modules/obstack-printf-posix (Comment): Likewise.
12185         * modules/printf-posix (Comment): Likewise.
12186         * modules/snprintf-posix (Comment): Likewise.
12187         * modules/sprintf-posix (Comment): Likewise.
12188         * modules/vasnprintf-posix (Comment): Likewise.
12189         * modules/vasprintf-posix (Comment): Likewise.
12190         * modules/vdprintf-posix (Comment): Likewise.
12191         * modules/vfprintf-posix (Comment): Likewise.
12192         * modules/vprintf-posix (Comment): Likewise.
12193         * modules/vsnprintf-posix (Comment): Likewise.
12194         * modules/vsprintf-posix (Comment): Likewise.
12195         * modules/xprintf-posix (Comment): Likewise.
12196         * modules/xvasprintf-posix (Comment): Likewise.
12197         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
12198         * modules/floorf-tests (Depends-on): Likewise.
12199         * modules/round-tests (Depends-on): Likewise.
12200         * modules/roundf-tests (Depends-on): Likewise.
12201         * modules/trunc-tests (Depends-on): Likewise.
12202         * modules/truncf-tests (Depends-on): Likewise.
12203         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
12204         'fprintf-posix' module is not present.
12205         * tests/test-floorf2.c (check): Likewise.
12206         * tests/test-trunc2.c (check): Likewise.
12207         * tests/test-truncf2.c (check): Likewise.
12208         * tests/test-round2.c (equal): Likewise.
12209         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12210
12211 2010-04-07  Karl Berry  <karl@gnu.org>
12212
12213         * config/srclist.txt,
12214         * config/srclistvars.sh,
12215         * config/srclist-update: doc fixes.
12216
12217 2010-04-07  Jim Meyering  <meyering@redhat.com>
12218
12219         maint.mk: add a PATH crosschecking syntax-check rule
12220         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
12221         Useful if you use a test like the one in help-version (coreutils,
12222         diffutils, grep, gzip) that ensures $(VERSION) matches what is
12223         printed by prog --version.
12224
12225 2010-04-06  Bruno Haible  <bruno@clisp.org>
12226
12227         Fix link error on mingw.
12228         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
12229         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
12230
12231 2010-04-06  Bruno Haible  <bruno@clisp.org>
12232
12233         Assume rmdir exists.
12234         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
12235
12236 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
12237
12238         doc: update users.txt
12239         * users.txt: Add gcal.
12240
12241 2010-04-06  Jim Meyering  <meyering@redhat.com>
12242
12243         init.sh: simply unset TMPDIR rather than risking env -i
12244         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
12245         although it probably works fine on all Unix-based systems, some
12246         systems (Cygwin?) cannot tolerate a totally cleared environment.
12247         Suggestion from Eric Blake.
12248
12249 2010-04-06  Jim Meyering  <meyering@redhat.com>
12250
12251         init.sh: portability fix: use env's POSIX-specified -i option not -u
12252         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
12253         than unportable env -u.  Solaris 5.11's env lacks support for -u.
12254
12255 2010-04-05  Bruno Haible  <bruno@clisp.org>
12256
12257         btowc: Work around Cygwin 1.7.2 bug.
12258         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
12259         does not map NUL to 0.
12260         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
12261
12262 2010-04-05  Bruno Haible  <bruno@clisp.org>
12263
12264         Make the multithread modules work on Cygwin 1.7.2.
12265         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
12266         imported symbols can be declared weak, so that it returns "no" on
12267         Cygwin 1.7.2.
12268
12269 2010-04-05  Bruno Haible  <bruno@clisp.org>
12270
12271         Use the module 'strncat'.
12272         * modules/unistr/u8-strncat (Depends-on): Add strncat.
12273
12274         Tests for module 'strncat'.
12275         * modules/strncat-tests: New file.
12276         * tests/test-strncat.c: New file.
12277
12278         New module 'strncat'.
12279         * lib/string.in.h (strncat): New declaration.
12280         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
12281         * m4/strncat.m4: New file, based on m4/memchr.m4.
12282         * modules/strncat: New file.
12283         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
12284         is declared.
12285         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
12286         REPLACE_STRNCAT.
12287         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
12288         REPLACE_STRNCAT.
12289         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
12290         module.
12291         * tests/test-string-c++.cc: Check signature of strncat.
12292
12293 2010-04-05  Jim Meyering  <meyering@redhat.com>
12294
12295         xstrtoumax-tests: convert to use init.sh
12296         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
12297         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
12298         Use Exit, not exit.
12299         Remove uses of $EXEEXT and "./" to run a program in the current dir.
12300
12301         xstrtoimax-tests: convert to use init.sh
12302         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
12303         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
12304         Use Exit, not exit.
12305         Remove uses of $EXEEXT and "./" to run a program in the current dir.
12306
12307 2010-04-05  Bruno Haible  <bruno@clisp.org>
12308
12309         sys_socket: Avoid #define replacements in C++ mode.
12310         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
12311         warning to the function if possible, rather than #defining the symbol
12312         to a dysfunctional alias.
12313
12314 2010-04-05  Bruno Haible  <bruno@clisp.org>
12315
12316         fseeko: Fix C++ test error on mingw.
12317         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
12318         gl_FUNC_FSEEKO.
12319         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
12320         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
12321         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
12322         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
12323
12324 2010-04-05  Bruno Haible  <bruno@clisp.org>
12325
12326         duplocale: Improve test output.
12327         * tests/test-duplocale.c (main): Print reason for skipped test.
12328
12329 2010-04-05  Bruno Haible  <bruno@clisp.org>
12330
12331         Assume rmdir exists.
12332         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
12333         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
12334
12335 2010-04-05  Bruno Haible  <bruno@clisp.org>
12336
12337         Fix link error on Solaris 8 with cc.
12338         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
12339
12340 2010-04-05  Bruno Haible  <bruno@clisp.org>
12341
12342         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
12343         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
12344
12345 2010-04-05  Bruno Haible  <bruno@clisp.org>
12346
12347         vasprintf: Update documentation.
12348         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
12349
12350 2010-04-05  Bruno Haible  <bruno@clisp.org>
12351
12352         ptsname: Improve test.
12353         * tests/test-ptsname.c (main): Also try the various master names of BSD
12354         systems.
12355
12356 2010-04-05  Bruno Haible  <bruno@clisp.org>
12357
12358         memchr: Avoid a possible C++ test error.
12359         * lib/string.in.h (memchr): Provide declaration if function is missing.
12360         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
12361         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
12362         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
12363         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
12364
12365 2010-04-05  Bruno Haible  <bruno@clisp.org>
12366
12367         strtok_r: Improve idiom.
12368         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
12369         AC_LIBOBJ is used.
12370
12371 2010-04-05  Bruno Haible  <bruno@clisp.org>
12372
12373         strdup: Improve idiom.
12374         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
12375         AC_LIBOBJ is used.
12376         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
12377         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
12378         when AC_LIBOBJ is used.
12379
12380 2010-04-05  Bruno Haible  <bruno@clisp.org>
12381
12382         mbsinit, mbrtowc, wcrtomb: Improve idioms.
12383         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
12384         don't set REPLACE_MBSINIT to 1.
12385         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
12386         don't set REPLACE_MBRTOWC to 1.
12387         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
12388         exist, don't set REPLACE_MBSRTOWCS to 1.
12389         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
12390         exist, don't set REPLACE_MBSNRTOWCS to 1.
12391         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
12392         don't set REPLACE_WCRTOMB to 1.
12393         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
12394         exist, don't set REPLACE_WCSRTOMBS to 1.
12395         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
12396         exist, don't set REPLACE_WCSNRTOMBS to 1.
12397
12398 2010-04-05  Bruno Haible  <bruno@clisp.org>
12399
12400         ldexpl: Improve idiom.
12401         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
12402         make sure to set HAVE_DECL_LDEXPL to 0.
12403
12404 2010-04-05  Jim Meyering  <meyering@redhat.com>
12405
12406         xstrtol-tests: convert to use init.sh
12407         * modules/xstrtol-tests (Files): Add tests/init.sh.
12408         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
12409         Use Exit, not exit.
12410         Remove uses of $EXEEXT and "./" to run a program in the current dir.
12411
12412         atexit-tests: convert to use init.sh
12413         * modules/atexit-tests (Files): Add tests/init.sh.
12414         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
12415         Use Exit, not exit.
12416         Remove uses of $EXEEXT and "./" to run a program in the current dir.
12417
12418         init.sh: fix typo
12419         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
12420
12421         init.sh: make it easier for a test script to write to the tty, ...
12422         when using automake's parallel-tests mode.
12423         * tests/init.sh (stderr_fileno_): Define overridable variable.
12424         (warn_): New function, to use it.
12425         (fail_, skip_, framework_failure_): Use warn_.
12426
12427 2010-04-04  Bruno Haible  <bruno@clisp.org>
12428
12429         btowc: Avoid warning.
12430         * lib/btowc.c: Include <stdlib.h>.
12431         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
12432
12433 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
12434             Bruno Haible  <bruno@clisp.org>
12435
12436         wchar: Port to NetBSD 1.5.
12437         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
12438         * lib/wctype.in.h (WEOF): Likewise.
12439
12440 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
12441             Bruno Haible  <bruno@clisp.org>
12442
12443         Port extended stdio to NetBSD 1.5.
12444         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
12445         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
12446         older.
12447
12448 2010-04-04  Bruno Haible  <bruno@clisp.org>
12449
12450         string: Remove unused substitution.
12451         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
12452         HAVE_DECL_STRERROR.
12453         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
12454
12455 2010-04-04  Bruno Haible  <bruno@clisp.org>
12456
12457         strtod: Avoid a possible C++ test error.
12458         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
12459         set REPLACE_STRTOD.
12460
12461 2010-04-04  Bruno Haible  <bruno@clisp.org>
12462
12463         strerror: Update documentation.
12464         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
12465
12466 2010-04-04  Bruno Haible  <bruno@clisp.org>
12467
12468         stdio: Fix some C++ test errors on Solaris 8 with GCC.
12469         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
12470         _GL_CXXALIAS_SYS_CAST.
12471
12472 2010-04-04  Bruno Haible  <bruno@clisp.org>
12473
12474         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
12475         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
12476         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
12477         REPLACE_FREXPL to 1.
12478         * doc/posix-functions/frexpl.texi: Update documentation.
12479
12480 2010-04-04  Bruno Haible  <bruno@clisp.org>
12481
12482         math: Fix some C++ test errors on Solaris 8 and Cygwin.
12483         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
12484
12485 2010-04-04  Bruno Haible  <bruno@clisp.org>
12486
12487         Implement nanosleep for native Windows.
12488         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
12489
12490 2010-04-04  Bruno Haible  <bruno@clisp.org>
12491
12492         math: Fix some C++ test errors on Solaris 8.
12493         * lib/math.in.h (truncf, trunc): Use simpler idiom.
12494
12495 2010-04-04  Bruno Haible  <bruno@clisp.org>
12496
12497         math: Fix some C++ test errors on Cygwin.
12498         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
12499         truncl): Provide declaration if the system does not have it.
12500         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
12501         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
12502         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
12503         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
12504         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
12505         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
12506         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
12507         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
12508         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
12509         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
12510         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
12511         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
12512         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
12513         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
12514         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
12515         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
12516         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
12517         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
12518         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
12519         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
12520         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
12521         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
12522
12523 2010-04-04  Bruno Haible  <bruno@clisp.org>
12524
12525         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
12526         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
12527         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
12528         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
12529         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
12530         * m4/isinf.m4 (gl_ISINF): Likewise.
12531         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
12532
12533 2010-04-04  Bruno Haible  <bruno@clisp.org>
12534
12535         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
12536         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
12537
12538 2010-04-04  Bruno Haible  <bruno@clisp.org>
12539
12540         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
12541         * modules/tmpfile (configure.ac): Update.
12542
12543         tmpfile: Fix C++ test error on mingw.
12544         * lib/stdio.in.h (tmpfile): New declaration.
12545         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
12546         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
12547         * modules/tmpfile (Depends-on): Add stdio.
12548         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
12549         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
12550         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
12551         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
12552         REPLACE_TMPFILE.
12553         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
12554
12555 2010-04-04  Bruno Haible  <bruno@clisp.org>
12556
12557         ioctl: Fix C++ test error on mingw.
12558         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
12559         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
12560         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
12561
12562 2010-04-03  Bruno Haible  <bruno@clisp.org>
12563
12564         wcwidth: Fix C++ test error on mingw.
12565         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
12566         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
12567         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
12568
12569 2010-04-03  Bruno Haible  <bruno@clisp.org>
12570
12571         nanosleep: Fix C++ test error on mingw.
12572         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
12573         * lib/time.in.h (nanosleep): Use modern idiom.
12574         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
12575         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
12576         REPLACE_NANOSLEEP to 1.
12577         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
12578         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
12579
12580 2010-04-03  Bruno Haible  <bruno@clisp.org>
12581
12582         strptime: Fix C++ test error on mingw.
12583         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
12584         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
12585         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
12586         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
12587         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
12588         not REPLACE_STRPTIME.
12589         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
12590         REPLACE_STRPTIME.
12591
12592 2010-04-03  Bruno Haible  <bruno@clisp.org>
12593
12594         timegm: Fix C++ test error on mingw.
12595         * lib/time.in.h (timegm): Use modern idiom.
12596         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
12597         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
12598         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
12599         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
12600
12601 2010-04-03  Bruno Haible  <bruno@clisp.org>
12602
12603         timegm: Assume declaration if function exists.
12604         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
12605         if it exists. Don't clobber ac_cv_func_timegm.
12606
12607 2010-04-03  Bruno Haible  <bruno@clisp.org>
12608
12609         time_r: Fix C++ test error on mingw.
12610         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
12611         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
12612         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
12613         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
12614         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
12615
12616 2010-04-03  Bruno Haible  <bruno@clisp.org>
12617
12618         time_r: Minor updates.
12619         * modules/time_r (Description): Mention the provided functions.
12620         * lib/time_r.c: Don't include <string.h>.
12621         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
12622         * doc/posix-functions/localtime_r.texi: Likewise.
12623
12624 2010-04-03  Bruno Haible  <bruno@clisp.org>
12625
12626         time: Fix regression introduced on 2010-03-08.
12627         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
12628         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
12629
12630 2010-04-03  Jim Meyering  <meyering@redhat.com>
12631
12632         maint.mk: don't silently disable project-specific syntax-check rules
12633         * top/maint.mk (_prohibit_regexp): Define, to help people realize
12634         that they need to convert their project-specific syntax-check rules
12635         to use the new _sc_search_regexp.
12636
12637 2010-04-03  Bruno Haible  <bruno@clisp.org>
12638
12639         fchdir: Fix regression introduced on 2010-03-08.
12640         * lib/unistd.in.h (fchdir): Fix declaration.
12641         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
12642         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
12643         REPLACE_FCHDIR.
12644         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
12645         REPLACE_FCHDIR.
12646
12647 2010-04-03  Bruno Haible  <bruno@clisp.org>
12648
12649         getpagesize: Fix C++ test error on mingw.
12650         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
12651         system does not declare the function.
12652         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
12653         declared.
12654         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
12655         HAVE_DECL_GETPAGESIZE.
12656         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
12657
12658 2010-04-03  Bruno Haible  <bruno@clisp.org>
12659
12660         stdio: Make C++ tests work on mingw.
12661         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
12662         does not declare the function.
12663
12664 2010-04-03  Bruno Haible  <bruno@clisp.org>
12665
12666         ftello: Fix C++ test error on mingw.
12667         * lib/stdio.in.h (ftello): Use modern idiom.
12668         * lib/ftello.c (ftello): Renamed from rpl_ftello.
12669         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
12670         is missing and that it needs to be replaced.
12671         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
12672         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
12673         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
12674
12675 2010-04-03  Bruno Haible  <bruno@clisp.org>
12676
12677         fseeko: Fix C++ test error on mingw.
12678         * lib/stdio.in.h (fseeko): Use modern idiom.
12679         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
12680         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
12681         is missing and that it needs to be replaced.
12682         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
12683         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
12684         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
12685
12686 2010-04-03  Bruno Haible  <bruno@clisp.org>
12687
12688         mkstemp: Fix C++ test error on mingw.
12689         * lib/stdlib.in.h (mkstemp): Use modern idiom.
12690         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
12691         function is missing and that it needs to be replaced.
12692         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
12693         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
12694
12695 2010-04-03  Bruno Haible  <bruno@clisp.org>
12696
12697         stpncpy: Fix C++ test error on mingw.
12698         * lib/string.in.h (stpncpy): Use modern idiom.
12699         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
12700         function is missing and that it needs to be replaced.
12701         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
12702         REPLACE_STPNCPY.
12703         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
12704
12705 2010-04-03  Bruno Haible  <bruno@clisp.org>
12706
12707         sys_stat: Fix C++ test error on mingw.
12708         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
12709         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
12710
12711 2010-04-03  Bruno Haible  <bruno@clisp.org>
12712
12713         pty: Update doc.
12714         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
12715
12716 2010-04-03  Bruno Haible  <bruno@clisp.org>
12717
12718         unistd: Fix C++ test error on mingw.
12719         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
12720
12721 2010-04-03  Bruno Haible  <bruno@clisp.org>
12722
12723         Update doc regarding mingw.
12724         * doc/glibc-functions/openpty.texi: Update regarding mingw.
12725         * doc/glibc-functions/login_tty.texi: Likewise.
12726         * doc/glibc-functions/forkpty.texi: Likewise.
12727
12728 2010-04-03  Bruno Haible  <bruno@clisp.org>
12729
12730         stdlib: Avoid compilation failure of c-strtold on mingw.
12731         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
12732
12733 2010-04-03  Bruno Haible  <bruno@clisp.org>
12734
12735         locale: Make C++ tests work on Cygwin and mingw.
12736         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
12737         cannot provide the function.
12738         Reported by Simon Josefsson.
12739
12740 2010-04-03  Bruno Haible  <bruno@clisp.org>
12741
12742         localename: Port to MacOS X 10.6.
12743         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
12744         memory layout of the locales in MacOS X 10.6 as well.
12745         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
12746
12747 2010-04-02  Bruno Haible  <bruno@clisp.org>
12748
12749         gnulib-tool: Ensure that long-running tests are executed last.
12750         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
12751         running tests after the one for the other tests.
12752
12753 2010-04-02  Bruno Haible  <bruno@clisp.org>
12754
12755         gnulib-tool: Ensure the tests in the main directory are executed first.
12756         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
12757         start with the current directory.
12758
12759 2010-04-02  Bruno Haible  <bruno@clisp.org>
12760
12761         Tests for module 'havelib', moved here from GNU gettext.
12762         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
12763         modifications.
12764         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
12765         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
12766         with modifications.
12767         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
12768         modifications.
12769         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
12770         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
12771         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
12772         with modifications.
12773         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
12774         with modifications.
12775         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
12776         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
12777         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
12778         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
12779         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
12780         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
12781         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
12782         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
12783         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
12784         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
12785         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
12786         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
12787         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
12788         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
12789         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
12790         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
12791         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
12792         with modifications.
12793         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
12794         with modifications.
12795         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
12796         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
12797         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
12798         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
12799         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
12800         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
12801         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
12802         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
12803         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
12804         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
12805         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
12806         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
12807         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
12808         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
12809         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
12810         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
12811         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
12812         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
12813         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
12814         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
12815         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
12816         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
12817         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
12818         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
12819         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
12820         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
12821         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
12822         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
12823         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
12824         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
12825         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
12826         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
12827         * tests/havelib/rpathx/rpathx.c: New file, from
12828         gettext/autoconf-lib-link.
12829         * tests/havelib/rpathx/Makefile.am: New file, from
12830         gettext/autoconf-lib-link.
12831         * tests/havelib/rpathx/configure.ac: New file, from
12832         gettext/autoconf-lib-link with modifications.
12833         * tests/havelib/rpathy/rpathy.c: New file, from
12834         gettext/autoconf-lib-link.
12835         * tests/havelib/rpathy/Makefile.am: New file, from
12836         gettext/autoconf-lib-link.
12837         * tests/havelib/rpathy/configure.ac: New file, from
12838         gettext/autoconf-lib-link with modifications.
12839         * tests/havelib/rpathz/rpathz.c: New file, from
12840         gettext/autoconf-lib-link.
12841         * tests/havelib/rpathz/Makefile.am: New file, from
12842         gettext/autoconf-lib-link.
12843         * tests/havelib/rpathz/configure.ac: New file, from
12844         gettext/autoconf-lib-link with modifications.
12845         * tests/havelib/rpathlx/usex.c: New file, from
12846         gettext/autoconf-lib-link.
12847         * tests/havelib/rpathlx/Makefile.am: New file, from
12848         gettext/autoconf-lib-link.
12849         * tests/havelib/rpathlx/configure.ac: New file, from
12850         gettext/autoconf-lib-link with modifications.
12851         * tests/havelib/rpathly/usey.c: New file, from
12852         gettext/autoconf-lib-link.
12853         * tests/havelib/rpathly/Makefile.am: New file, from
12854         gettext/autoconf-lib-link.
12855         * tests/havelib/rpathly/configure.ac: New file, from
12856         gettext/autoconf-lib-link with modifications.
12857         * tests/havelib/rpathlz/usez.c: New file, from
12858         gettext/autoconf-lib-link.
12859         * tests/havelib/rpathlz/Makefile.am: New file, from
12860         gettext/autoconf-lib-link.
12861         * tests/havelib/rpathlz/configure.ac: New file, from
12862         gettext/autoconf-lib-link with modifications.
12863         * tests/havelib/rpathlyx/usey.c: New file, from
12864         gettext/autoconf-lib-link.
12865         * tests/havelib/rpathlyx/Makefile.am: New file, from
12866         gettext/autoconf-lib-link.
12867         * tests/havelib/rpathlyx/configure.ac: New file, from
12868         gettext/autoconf-lib-link with modifications.
12869         * tests/havelib/rpathlzyx/usez.c: New file, from
12870         gettext/autoconf-lib-link.
12871         * tests/havelib/rpathlzyx/Makefile.am: New file, from
12872         gettext/autoconf-lib-link.
12873         * tests/havelib/rpathlzyx/configure.ac: New file, from
12874         gettext/autoconf-lib-link with modifications.
12875         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
12876         with modifications.
12877
12878 2010-04-02  Bruno Haible  <bruno@clisp.org>
12879
12880         gnulib-tool: Create distributed built sources also for the tests.
12881         * gnulib-tool (func_create_testdir): Also generate distributed built
12882         sources in the tests directory.
12883
12884 2010-04-02  Bruno Haible  <bruno@clisp.org>
12885
12886         gnulib-tool: Obey user's environment variables.
12887         * gnulib-tool (func_create_testdir): When creating built sources,
12888         respect the environment variables for autoconf, automake, etc. given by
12889         the user.
12890
12891 2010-04-02  Bruno Haible  <bruno@clisp.org>
12892
12893         gnulib-tool: Provide the value of --m4-base to modules.
12894         * gnulib-tool (func_import, func_create_testdir): Emit a definition
12895         of gl_m4_base.
12896
12897 2010-04-02  Eric Blake  <eblake@redhat.com>
12898
12899         maint.mk: fix some fallout
12900         * NEWS: Document the incompatible change, and its effect on cfg.mk.
12901         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
12902
12903 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
12904
12905         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
12906         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
12907         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
12908         (sc_cast_of_x_alloc_return_value): Likewise.
12909         (sc_cast_of_alloca_return_value): Likewise.
12910         (sc_space_tab): Likewise.
12911         (sc_prohibit_atoi_atof): Likewise.
12912         (sc_prohibit_magic_number_exit): Likewise.
12913         (sc_error_exit_success): Likewise.
12914         (sc_file_system): Likewise.
12915         (sc_prohibit_have_config_h): Likewise.
12916         (sc_require_config_h): Likewise.
12917         (sc_prohibit_HAVE_MBRTOWC): Likewise.
12918         (sc_obsolete_symbols): Likewise.
12919         (sc_changelog): Likewise.
12920         (sc_program_name): Likewise.
12921         (sc_the_the): Likewise.
12922         (sc_trailing_blank): Likewise.
12923         (sc_two_space_separator_in_usage): Likewise.
12924         (sc_useless_cpp_parens): Likewise.
12925         (sc_GPL_version): Likewise.
12926         (sc_GFDL_version): Likewise.
12927         (sc_texinfo_acronym): Likewise.
12928         (sc_prohibit_cvs_keyword): Likewise.
12929         (sc_prohibit_stat_st_blocks): Likewise.
12930         (sc_prohibit_S_IS_definition): Likewise.
12931         (sc_redundant_const): Likewise.
12932         (sc_makefile_TAB_only_indentation): Likewise.
12933         (sc_m4_quote_check): Likewise.
12934         (sc_makefile_path_separator_check): Likewise.
12935         (sc_copyright_check): Likewise.
12936         (sc_Wundef_boolean): Likewise.
12937         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
12938
12939         maint.mk: match 0 or more whitespace-before-function-call '('
12940         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
12941         that have zero or two-and-more spaces between the function name
12942         and the open parenthesis.
12943         (sc_error_message_warn_fatal): Likewise.
12944         (sc_error_message_uppercase): Likewise.
12945         (sc_error_message_period): Likewise.
12946
12947 2010-03-31  Eric Blake  <eblake@redhat.com>
12948
12949         maint.mk: check for [ as well as test
12950         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
12951         Based on a libvirt report by Matthias Bolte.
12952
12953         gnumakefile: don't squelch _version output
12954         * top/GNUmakefile (_version): Create one-shot dependency rather
12955         than using $(shell) when version must be regenerated.
12956         (_autoreconf): Run verbosely, by default.
12957
12958         sys_time: avoid compiler warnings
12959         * lib/sys_time.in.h (includes): Ensure gcc pragma is
12960         unconditional, fixing regression from 2010-03-29.
12961         Reported by Simon Josefsson.
12962
12963 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
12964
12965         maint.mk: s/_header_without_use/_sc_header_without_use/
12966         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
12967         (sc_prohibit_assert_without_use): Use the new name.
12968         (sc_prohibit_close_stream_without_use): Likewise.
12969         (sc_prohibit_getopt_without_use): Likewise.
12970         (sc_prohibit_quotearg_without_use): Likewise.
12971         (sc_prohibit_quote_without_use): Likewise.
12972         (sc_prohibit_long_options_without_use): Likewise.
12973         (sc_prohibit_inttostr_without_use): Likewise.
12974         (sc_prohibit_ignore_value_without_use): Likewise.
12975         (sc_prohibit_error_without_use): Likewise.
12976         (sc_prohibit_xalloc_without_use): Likewise.
12977         (sc_prohibit_hash_without_use): Likewise.
12978         (sc_prohibit_hash_pjw_without_use): Likewise.
12979         (sc_prohibit_safe_read_without_use): Likewise.
12980         (sc_prohibit_argmatch_without_use): Likewise.
12981         (sc_prohibit_canonicalize_without_use): Likewise.
12982         (sc_prohibit_root_dev_ino_without_use): Likewise.
12983         (sc_prohibit_openat_without_use): Likewise.
12984         (sc_prohibit_c_ctype_without_use): Likewise.
12985         (sc_prohibit_signal_without_use): Likewise.
12986         (sc_prohibit_intprops_without_use): Likewise.
12987
12988 2010-03-30  Eric Blake  <eblake@redhat.com>
12989
12990         maint: improve module indicators
12991         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
12992         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
12993         columns, and avoid extra macro expansion.
12994
12995         fdopendir: work around FreeBSD bug
12996         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
12997         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
12998         * modules/dirent (Makefile.am): Substitute it.
12999         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
13000         declaration.
13001         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
13002         fix.
13003         Reported by Christian Weisgerber <naddy@mips.inka.de>.
13004
13005 2010-03-29  Bruno Haible  <bruno@clisp.org>
13006
13007         Emit #pragma system_header after the inclusion guard, not before.
13008         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
13009         guard that spans the entire file, not before. This enables an
13010         optimization in GCC's preprocessor.
13011         * lib/ctype.in.h: Likewise.
13012         * lib/dirent.in.h: Likewise.
13013         * lib/errno.in.h: Likewise.
13014         * lib/float.in.h: Likewise.
13015         * lib/getopt.in.h: Likewise.
13016         * lib/iconv.in.h: Likewise.
13017         * lib/langinfo.in.h: Likewise.
13018         * lib/locale.in.h: Likewise.
13019         * lib/math.in.h: Likewise.
13020         * lib/netdb.in.h: Likewise.
13021         * lib/netinet_in.in.h: Likewise.
13022         * lib/pty.in.h: Likewise.
13023         * lib/sched.in.h: Likewise.
13024         * lib/se-selinux.in.h: Likewise.
13025         * lib/search.in.h: Likewise.
13026         * lib/spawn.in.h: Likewise.
13027         * lib/stdarg.in.h: Likewise.
13028         * lib/stdint.in.h: Likewise.
13029         * lib/string.in.h: Likewise.
13030         * lib/strings.in.h: Likewise.
13031         * lib/sys_file.in.h: Likewise.
13032         * lib/sys_ioctl.in.h: Likewise.
13033         * lib/sys_time.in.h: Likewise.
13034         * lib/sys_times.in.h: Likewise.
13035         * lib/sys_utsname.in.h: Likewise.
13036         * lib/sys_wait.in.h: Likewise.
13037         * lib/sysexits.in.h: Likewise.
13038         * lib/wctype.in.h: Likewise.
13039
13040 2010-03-28  James Youngman  <jay@gnu.org>
13041
13042         save-cwd: don't leak a file descriptor when the caller execs.
13043         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
13044         saved file descriptor.
13045         * modules/save-cwd (Depends-on): Depend on cloexec.
13046
13047 2010-03-29  Bruno Haible  <bruno@clisp.org>
13048
13049         Remove vestiges of fts-lgpl module.
13050         * lib/fts_.h: Assume GNULIB_FTS is 1.
13051         * lib/fts.c: Likewise.
13052         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
13053
13054 2010-03-28  Bruno Haible  <bruno@clisp.org>
13055
13056         Fix definition of tests witness macro.
13057         * gnulib-tool (func_import): Fix definition of witness macro.
13058
13059 2010-03-28  Bruno Haible  <bruno@clisp.org>
13060
13061         Fix ioctl's protoype on glibc systems.
13062         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
13063         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
13064         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
13065         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
13066         signature. If not, arrange to replace the ioctl function.
13067         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
13068         REPLACE_IOCTL.
13069         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
13070         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
13071         Reported by Ludovic Courtès <ludo@gnu.org>.
13072
13073 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
13074
13075         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
13076         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
13077         made it so grep -r --include=GLOB* ... did not work.
13078
13079 2010-03-26  Jim Meyering  <meyering@redhat.com>
13080             Eric Blake  <eblake@redhat.com>
13081
13082         maint.mk: prohibit use of test's -o and -a operators
13083         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
13084
13085 2010-03-28  Bruno Haible  <bruno@clisp.org>
13086
13087         Remove unused GNULIB_XYZ macro definitions.
13088         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
13089         invocation.
13090
13091 2010-03-28  Bruno Haible  <bruno@clisp.org>
13092
13093         Mark privileged tests modules.
13094         * modules/idpriv-drop-tests (Status): New section.
13095         * modules/idpriv-droptemp-tests (Status): New section.
13096
13097 2010-03-28  Bruno Haible  <bruno@clisp.org>
13098
13099         Split C++ tests into separate tests modules.
13100         * modules/dirent-c++-tests: New file, extracted from
13101         modules/dirent-tests.
13102         * modules/dirent-tests: Depend on it.
13103         * modules/fcntl-h-c++-tests: New file, extracted from
13104         modules/fcntl-h-tests.
13105         * modules/fcntl-h-tests: Depend on it.
13106         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
13107         * modules/glob-tests: Depend on it.
13108         * modules/iconv-h-c++-tests: New file, extracted from
13109         modules/iconv-h-tests.
13110         * modules/iconv-h-tests: Depend on it.
13111         * modules/langinfo-c++-tests: New file, extracted from
13112         modules/langinfo-tests.
13113         * modules/langinfo-tests: Depend on it.
13114         * modules/locale-c++-tests: New file, extracted from
13115         modules/locale-tests.
13116         * modules/locale-tests: Depend on it.
13117         * modules/math-c++-tests: New file, extracted from modules/math-tests.
13118         * modules/math-tests: Depend on it.
13119         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
13120         * modules/pty-tests: Depend on it.
13121         * modules/search-c++-tests: New file, extracted from
13122         modules/search-tests.
13123         * modules/search-tests: Depend on it.
13124         * modules/signal-c++-tests: New file, extracted from
13125         modules/signal-tests.
13126         * modules/signal-tests: Depend on it.
13127         * modules/spawn-c++-tests: New file, extracted from
13128         modules/spawn-tests.
13129         * modules/spawn-tests: Depend on it.
13130         * modules/stdio-c++-tests: New file, extracted from
13131         modules/stdio-tests.
13132         * modules/stdio-tests: Depend on it.
13133         * modules/stdlib-c++-tests: New file, extracted from
13134         modules/stdlib-tests.
13135         * modules/stdlib-tests: Depend on it.
13136         * modules/string-c++-tests: New file, extracted from
13137         modules/string-tests.
13138         * modules/string-tests: Depend on it.
13139         * modules/sys_ioctl-c++-tests: New file, extracted from
13140         modules/sys_ioctl-tests.
13141         * modules/sys_ioctl-tests: Depend on it.
13142         * modules/sys_select-c++-tests: New file, extracted from
13143         modules/sys_select-tests.
13144         * modules/sys_select-tests: Depend on it.
13145         * modules/sys_socket-c++-tests: New file, extracted from
13146         modules/sys_socket-tests.
13147         * modules/sys_socket-tests: Depend on it.
13148         * modules/sys_stat-c++-tests: New file, extracted from
13149         modules/sys_stat-tests.
13150         * modules/sys_stat-tests: Depend on it.
13151         * modules/sys_time-c++-tests: New file, extracted from
13152         modules/sys_time-tests.
13153         * modules/sys_time-tests: Depend on it.
13154         * modules/time-c++-tests: New file, extracted from modules/time-tests.
13155         * modules/time-tests: Depend on it.
13156         * modules/unistd-c++-tests: New file, extracted from
13157         modules/unistd-tests.
13158         * modules/unistd-tests: Depend on it.
13159         * modules/wchar-c++-tests: New file, extracted from
13160         modules/wchar-tests.
13161         * modules/wchar-tests: Depend on it.
13162         * modules/wctype-c++-tests: New file, extracted from
13163         modules/wctype-tests.
13164         * modules/wctype-tests: Depend on it.
13165         Reported by Simon Josefsson.
13166
13167 2010-03-28  Bruno Haible  <bruno@clisp.org>
13168
13169         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
13170         * gnulib-tool (func_exists_module): New function, extracted from
13171         func_verify_module.
13172         (func_verify_module): Use it.
13173         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
13174         'foo' only if 'foo' exists.
13175         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
13176         module.
13177
13178 2010-03-28  Bruno Haible  <bruno@clisp.org>
13179
13180         gnulib-tool: Add support for special categories of tests.
13181         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
13182         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
13183         (func_usage): Document them.
13184         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
13185         inc_unportable_tests, inc_all_tests): New variables.
13186         (func_acceptable): Consider these variables.
13187         (func_modules_transitive_closure): Make it work when the 'Status' field
13188         consists of multiple words.
13189         (func_import): Store and restore the values of inc_cxx_tests,
13190         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
13191         inc_all_tests in gnulib-comp.m4.
13192         (func_create_testdir): Set inc_all_tests to true.
13193         * doc/gnulib.texi (Extra tests modules): New section.
13194         Suggested by Jim Meyering.
13195
13196 2010-03-28  Bruno Haible  <bruno@clisp.org>
13197
13198         ansi-c++-opt: Allow turning off the C++ build by default.
13199         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
13200         gl_CXX_CHOICE_DEFAULT_NO is defined.
13201         Requested by Eric Blake.
13202
13203 2010-03-28  Bruno Haible  <bruno@clisp.org>
13204
13205         unistd: Avoid #define replacements in C++ mode.
13206         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
13207         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
13208         setsockopt, shutdown, select): In C++, attach a warning to the function
13209         if possible, rather than #defining the symbol to a dysfunctional alias.
13210         Reported by John W. Eaton <jwe@gnu.org>.
13211
13212 2010-03-28  Bruno Haible  <bruno@clisp.org>
13213
13214         Fix link errors on mingw.
13215         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
13216         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
13217         $(LIBSOCKET).
13218         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
13219         $(LIBSOCKET).
13220
13221 2010-03-28  Bruno Haible  <bruno@clisp.org>
13222             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13223
13224         lib-ignore: Determine different options for different compilers.
13225         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
13226         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
13227         Add comments.
13228         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
13229         * NEWS: Mention the change.
13230
13231 2010-03-27  Bruno Haible  <bruno@clisp.org>
13232
13233         Remove unused GNULIB_XYZ macro definitions.
13234         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
13235         * modules/fseek (configure.ac): Likewise.
13236         * modules/ioctl (configure.ac): Likewise.
13237         * modules/open (configure.ac): Likewise.
13238         * modules/stdlib-safer (configure.ac): Likewise.
13239
13240 2010-03-27  Bruno Haible  <bruno@clisp.org>
13241
13242         Add a remark about certain modules.
13243         * modules/malloc (Comment): New section.
13244         * modules/realloc (Comment): Likewise.
13245         * modules/sigpipe (Comment): Likewise.
13246
13247 2010-03-27  Bruno Haible  <bruno@clisp.org>
13248
13249         Resolve conflict between the two kinds of module indicators.
13250         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
13251         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
13252         * modules/canonicalize (configure.ac): Invoke
13253         gl_MODULE_INDICATOR_FOR_TESTS.
13254         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
13255         GNULIB_XYZ.
13256         * tests/test-dirent-c++.cc: Likewise.
13257         * tests/test-dirent-safer.c: Likewise.
13258         * tests/test-dup2.c: Likewise.
13259         * tests/test-fchdir.c: Likewise.
13260         * tests/test-fcntl-h-c++.cc: Likewise.
13261         * tests/test-getopt.c: Likewise.
13262         * tests/test-getopt.h: Likewise.
13263         * tests/test-langinfo-c++.cc: Likewise.
13264         * tests/test-locale-c++.cc: Likewise.
13265         * tests/test-math-c++.cc: Likewise.
13266         * tests/test-pty-c++.cc: Likewise.
13267         * tests/test-search-c++.cc: Likewise.
13268         * tests/test-signal-c++.cc: Likewise.
13269         * tests/test-spawn-c++.cc: Likewise.
13270         * tests/test-stdio-c++.cc: Likewise.
13271         * tests/test-stdlib-c++.cc: Likewise.
13272         * tests/test-string-c++.cc: Likewise.
13273         * tests/test-sys_ioctl-c++.cc: Likewise.
13274         * tests/test-sys_select-c++.cc: Likewise.
13275         * tests/test-sys_socket-c++.cc: Likewise.
13276         * tests/test-sys_stat-c++.cc: Likewise.
13277         * tests/test-sys_time-c++.cc: Likewise.
13278         * tests/test-time-c++.cc: Likewise.
13279         * tests/test-unistd-c++.cc: Likewise.
13280         * tests/test-wchar-c++.cc: Likewise.
13281         * tests/uninorm/test-u8-nfc.c: Likewise.
13282         * tests/uninorm/test-u8-nfd.c: Likewise.
13283         * tests/uninorm/test-u8-nfkc.c: Likewise.
13284         * tests/uninorm/test-u8-nfkd.c: Likewise.
13285         * tests/uninorm/test-u16-nfc.c: Likewise.
13286         * tests/uninorm/test-u16-nfd.c: Likewise.
13287         * tests/uninorm/test-u16-nfkc.c: Likewise.
13288         * tests/uninorm/test-u16-nfkd.c: Likewise.
13289         * tests/uninorm/test-u32-nfc.c: Likewise.
13290         * tests/uninorm/test-u32-nfc-big.c: Likewise.
13291         * tests/uninorm/test-u32-nfd.c: Likewise.
13292         * tests/uninorm/test-u32-nfd-big.c: Likewise.
13293         * tests/uninorm/test-u32-nfkc.c: Likewise.
13294         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
13295         * tests/uninorm/test-u32-nfkd.c: Likewise.
13296         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
13297         * tests/uninorm/test-u32-normalize-big.c: Likewise.
13298
13299 2010-03-27  Bruno Haible  <bruno@clisp.org>
13300
13301         Distinguish two kinds of module indicators.
13302         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
13303         gl_MODULE_INDICATOR.
13304         (gl_MODULE_INDICATOR): New macro.
13305         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
13306         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
13307         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
13308         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
13309         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
13310         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
13311         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
13312         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
13313         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
13314         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
13315         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
13316         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
13317         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
13318         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
13319         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
13320         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
13321         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
13322         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
13323         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
13324         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
13325         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
13326         * modules/cloexec (configure.ac): Likewise.
13327         * modules/getopt-gnu (configure.ac): Likewise.
13328         * modules/uninorm/u8-normalize (configure.ac): Likewise.
13329         * modules/uninorm/u16-normalize (configure.ac): Likewise.
13330         * modules/uninorm/u32-normalize (configure.ac): Likewise.
13331         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
13332
13333 2010-03-27  Bruno Haible  <bruno@clisp.org>
13334
13335         New module description field 'Comment'.
13336         * gnulib-tool: New option --extract-comment.
13337         (func_usage): Document it.
13338         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
13339         (func_get_comment): New function.
13340         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
13341
13342 2010-03-27  Bruno Haible  <bruno@clisp.org>
13343
13344         Addendum to 2010-02-07 commit.
13345         * gnulib-tool (func_usage): Document --extract-applicability option.
13346
13347 2010-03-27  Bruno Haible  <bruno@clisp.org>
13348
13349         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
13350         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
13351         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
13352         rather than link errors.
13353
13354 2010-03-27  Bruno Haible  <bruno@clisp.org>
13355
13356         Avoid side effects from tests-related modules on the compilation of lib.
13357         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
13358         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
13359         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
13360         parameter. Emit into AM_CPPFLAGS a definition of the designated C
13361         macro.
13362         (func_import): Define a witness macro. Assign it a value that depends
13363         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
13364         tests-related modules.
13365         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
13366         Reported by Jim Meyering.
13367
13368 2010-03-27  Bruno Haible  <bruno@clisp.org>
13369
13370         Factorize common .m4 code.
13371         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
13372         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
13373         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
13374         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
13375         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
13376         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
13377         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
13378         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
13379         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
13380         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
13381         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
13382         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
13383         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
13384         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
13385         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
13386         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
13387         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
13388         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
13389         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
13390         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
13391         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
13392         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
13393         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
13394         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
13395         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
13396         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
13397         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
13398         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
13399         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
13400         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
13401         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
13402         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
13403
13404 2010-03-27  Bruno Haible  <bruno@clisp.org>
13405
13406         Fix a compilation error on Cygwin with g++ >= 4.3.
13407         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
13408         if it is undefined or if we alias it to chmod.
13409         (lstat): Don't warn about the use of this function if it is undefined
13410         or if we alias it to stat.
13411         Reported by Simon Josefsson.
13412
13413 2010-03-27  Bruno Haible  <bruno@clisp.org>
13414
13415         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
13416         * modules/getlogin (configure.ac): Update.
13417
13418         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
13419         * modules/getlogin_r (configure.ac): Update.
13420
13421         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
13422         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
13423         * modules/inet_ntop (configure.ac): Update.
13424
13425         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
13426         * modules/inet_pton (configure.ac): Update.
13427
13428         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
13429         * modules/mbslen (configure.ac): Update.
13430
13431         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
13432         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
13433         * modules/forkpty (configure.ac): Update.
13434         * modules/openpty (configure.ac): Update.
13435
13436 2010-03-26  Simon Josefsson  <simon@josefsson.org>
13437
13438         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
13439         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
13440
13441 2010-03-25  Eric Blake  <eblake@redhat.com>
13442
13443         maint: use pragma consistently across replacement headers
13444         * lib/ctype.in.h (system_header): Hoist for consistent placement.
13445         * lib/dirent.in.h (system_header): Likewise.
13446         * lib/errno.in.h (system_header): Likewise.
13447         * lib/float.in.h (system_header): Likewise.
13448         * lib/getopt.in.h (system_header): Likewise.
13449         * lib/iconv.in.h (system_header): Likewise.
13450         * lib/inttypes.in.h (system_header): Likewise.
13451         * lib/langinfo.in.h (system_header): Likewise.
13452         * lib/locale.in.h (system_header): Likewise.
13453         * lib/math.in.h (system_header): Likewise.
13454         * lib/netdb.in.h (system_header): Likewise.
13455         * lib/netinet_in.in.h (system_header): Likewise.
13456         * lib/pty.in.h (system_header): Likewise.
13457         * lib/sched.in.h (system_header): Likewise.
13458         * lib/se-selinux.in.h (system_header): Likewise.
13459         * lib/search.in.h (system_header): Likewise.
13460         * lib/spawn.in.h (system_header): Likewise.
13461         * lib/stdarg.in.h (system_header): Likewise.
13462         * lib/stdint.in.h (system_header): Likewise.
13463         * lib/string.in.h (system_header): Likewise.
13464         * lib/strings.in.h (system_header): Likewise.
13465         * lib/sys_file.in.h (system_header): Likewise.
13466         * lib/sys_ioctl.in.h (system_header): Likewise.
13467         * lib/sys_socket.in.h (system_header): Likewise.
13468         * lib/sys_times.in.h (system_header): Likewise.
13469         * lib/sys_utsname.in.h (system_header): Likewise.
13470         * lib/sys_wait.in.h (system_header): Likewise.
13471         * lib/sysexits.in.h (system_header): Likewise.
13472         * lib/unistd.in.h (system_header): Likewise.
13473         * lib/wctype.in.h (system_header): Likewise.
13474
13475         arpa/inet: fix mingw compilation warning
13476         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
13477         Reported by Matthew Bolte.
13478
13479 2010-03-25  Bruno Haible  <bruno@clisp.org>
13480
13481         Avoid collision between gnulib wrapper and libintl wrapper.
13482         * lib/printf.c (printf): Don't define if a printf wrapper is already
13483         defined in intl/printf.c.
13484         Reported by Michel Boaventura <michel@michelboaventura.com>.
13485
13486 2010-03-25  Bruno Haible  <bruno@clisp.org>
13487
13488         Use ANSI C.
13489         * lib/readutmp.h (getutent): Provide ANSI C prototype.
13490
13491 2010-03-25  Bruno Haible  <bruno@clisp.org>
13492
13493         Minor formatting changes.
13494         * lib/acosl.c: Insert space before function argument list.
13495         * lib/argz.c: Likewise.
13496         * lib/asinl.c: Likewise.
13497         * lib/expl.c: Likewise.
13498         * lib/gen-uni-tables.c: Likewise.
13499         * lib/gettext.h: Likewise.
13500         * lib/glthread/lock.h: Likewise.
13501         * lib/tanl.c: Likewise.
13502         * lib/uniname/uniname.c: Likewise.
13503         * tests/test-idpriv-drop.c: Likewise.
13504         * tests/test-idpriv-droptemp.c: Likewise.
13505         * tests/test-lock.c: Likewise.
13506         * tests/test-tls.c: Likewise.
13507         * lib/argp-help.c: Insert space before function-like macro argument
13508         list.
13509         * lib/memcmp.c: Likewise.
13510         * tests/test-base64.c: Likewise.
13511         * lib/localename.c: Insert space before sizeof's argument list.
13512         * lib/safe-alloc.h: Likewise.
13513         * lib/file-set.h: Insert space before macro argument list.
13514         * tests/test-argp.c: Likewise.
13515         * lib/argp-namefrob.h: Insert space before function parameter list.
13516         * lib/getaddrinfo.c: Likewise.
13517         * lib/netdb.in.h: Likewise.
13518         * lib/parse-duration.h: Likewise.
13519         * lib/parse-duration.c: Likewise.
13520         * lib/poll.c: Likewise.
13521         * lib/select.c: Likewise.
13522         * lib/trim.h: Likewise.
13523         * tests/test-usleep.c: Likewise.
13524         * lib/ldexpl.c: Insert space before function parameter list and before
13525         function argument list.
13526         * lib/logl.c: Likewise.
13527         * lib/sqrtl.c: Likewise.
13528         * lib/trim.c: Likewise.
13529         * lib/cosl.c: Use GNU style indentation. Insert space before function
13530         argument list.
13531         * lib/sinl.c: Likewise.
13532         * lib/tsearch.c: Insert space after 'for'.
13533         Reported by Jim Meyering.
13534
13535 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
13536
13537         * maint.mk (sc_Wundef_boolean): Check for the presence of the
13538         config header before grepping, as it's not present before
13539         autoreconf/configure are run.  Reported by Simon Josefsson.
13540
13541 2010-03-23  Bruno Haible  <bruno@clisp.org>
13542
13543         pt_chown: Make it work with automake < 1.11.
13544         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
13545         Reported by Simon Josefsson.
13546
13547 2010-03-23  Bruno Haible  <bruno@clisp.org>
13548
13549         pt_chown: Don't depend on GPLed modules.
13550         * lib/pt_chown.c: Don't include idpriv.h.
13551         (main): Don't drop privileges.
13552         * modules/pt_chown (Depends-on): Remove idpriv-drop.
13553         Reported by Simon Josefsson.
13554
13555 2010-03-24  Simon Josefsson  <simon@josefsson.org>
13556
13557         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
13558         suggestions from karl@freefriends.org (Karl Berry).
13559
13560 2010-03-22  Eric Blake  <eblake@redhat.com>
13561
13562         gethostname: further tweaks
13563         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
13564         are overriding gethostname.
13565         Suggested by Bruno Haible.
13566
13567 2010-03-21  Bruno Haible  <bruno@clisp.org>
13568
13569         Fix comments.
13570         * lib/forkpty.c (rpl_forkpty): Fix comment.
13571         * lib/openpty.c (rpl_openpty): Likewise.
13572         Reported by Eric Blake.
13573
13574 2010-03-22  Eric Blake  <eblake@redhat.com>
13575
13576         gethostname: fix build on mingw
13577         * lib/unistd.in.h (includes): Work around fact that mingw
13578         <winsock2.h> re-includes <unistd.h>, by avoiding any
13579         redeclarations if we are being included by <winsock2.h>.
13580         Reported by Matthias Bolte.
13581
13582 2010-03-21  Bruno Haible  <bruno@clisp.org>
13583
13584         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
13585         * lib/forkpty.c (forkpty): New replacement function, from glibc with
13586         modifications.
13587         * lib/pty.in.h (forkpty): Update declaration. Add comments.
13588         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
13589         provide the replacement.
13590         * modules/forkpty (Depends-on): Add openpty, login_tty.
13591         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
13592         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
13593         * doc/glibc-functions/forkpty.texi: More supported platforms.
13594         * config/srclist.txt: Add forkpty.c (commented).
13595
13596 2010-03-21  Bruno Haible  <bruno@clisp.org>
13597
13598         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
13599         (Makefile.am): Verify that PTY_LIB is defined.
13600
13601         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
13602
13603 2010-03-21  Bruno Haible  <bruno@clisp.org>
13604
13605         Tests for module 'login_tty'.
13606         * modules/login_tty-tests: New file.
13607         * tests/test-login_tty.c: New file.
13608
13609         New module 'login_tty'.
13610         * lib/login_tty.c: New file.
13611         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
13612         * modules/login_tty: New file.
13613         * doc/glibc-functions/login_tty.texi: Mention the new module.
13614
13615 2010-03-21  Bruno Haible  <bruno@clisp.org>
13616
13617         login_tty: Documentation.
13618         * doc/glibc-functions/login_tty.texi: New file.
13619         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
13620
13621 2010-03-21  Bruno Haible  <bruno@clisp.org>
13622
13623         pty: Consistent macro naming.
13624         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
13625         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
13626         * modules/pty (configure.ac): Update.
13627
13628 2010-03-21  Bruno Haible  <bruno@clisp.org>
13629
13630         Tests for openpty: Make stricter.
13631         * tests/test-openpty.c (main): Add test of canonical processing and
13632         erase.
13633         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
13634
13635         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
13636         * lib/openpty.c (openpty): New replacement function.
13637         * lib/pty.in.h: Include <termios.h>.
13638         (openpty): Update declaration. Add comments.
13639         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
13640         is not declared, arrange to provide the replacement. Check for _getpty
13641         and posix_openpt.
13642         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
13643         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
13644         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
13645         * modules/pty-tests (test_pty_c___LDADD): New variable.
13646         * doc/glibc-functions/openpty.texi: More supported platforms.
13647
13648 2010-03-21  Bruno Haible  <bruno@clisp.org>
13649
13650         setenv: Tweaks.
13651         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
13652         the test program.
13653         * doc/posix-functions/setenv.texi: Update platforms list.
13654
13655 2010-03-21  Bruno Haible  <bruno@clisp.org>
13656
13657         New module 'unlockpt'.
13658         * lib/unlockpt.c: New file, from glibc with modifications.
13659         * m4/unlockpt.m4: New file.
13660         * modules/unlockpt: New file.
13661         * lib/stdlib.in.h (unlockpt): New declaration.
13662         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
13663         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
13664         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
13665         HAVE_UNLOCKPT.
13666         * doc/posix-functions/unlockpt.texi: Mention the new module.
13667         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
13668         * config/srclist.txt: Add unlockpt.c (commented).
13669
13670 2010-03-21  Jim Meyering  <meyering@redhat.com>
13671
13672         maint.mk: prohibit inclusion of "intprops.h" without use
13673         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
13674
13675 2010-03-21  Bruno Haible  <bruno@clisp.org>
13676
13677         New module 'grantpt'.
13678         * lib/grantpt.c: New file, from glibc with modifications.
13679         * m4/grantpt.m4: New file.
13680         * modules/grantpt: New file.
13681         * lib/stdlib.in.h (grantpt): New declaration.
13682         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
13683         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
13684         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
13685         HAVE_GRANTPT.
13686         * doc/posix-functions/grantpt.texi: Mention the new module.
13687         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
13688         * config/srclist.txt: Add grantpt.c (commented).
13689
13690 2010-03-21  Bruno Haible  <bruno@clisp.org>
13691
13692         New module 'pt_chown'.
13693         * lib/pt_chown.c: New file, from glibc with modifications.
13694         * lib/pty-private.h: New file, from glibc with modifications.
13695         * modules/pt_chown: New file.
13696         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
13697
13698 2010-03-21  Bruno Haible  <bruno@clisp.org>
13699
13700         Tests for module 'ptsname'.
13701         * modules/ptsname-tests: New file.
13702         * tests/test-ptsname.c: New file.
13703
13704         New module 'ptsname'.
13705         * lib/ptsname.c: New file, from glibc with modifications.
13706         * m4/ptsname.m4: New file.
13707         * modules/ptsname: New file.
13708         * lib/stdlib.in.h (ptsname): New declaration.
13709         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
13710         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
13711         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
13712         HAVE_PTSNAME.
13713         * doc/posix-functions/ptsname.texi: Mention the new module.
13714         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
13715         * config/srclist.txt: Add ptsname.c (commented).
13716
13717 2010-03-21  Bruno Haible  <bruno@clisp.org>
13718
13719         Tests for module 'ttyname_r'.
13720         * modules/ttyname_r-tests: New file.
13721         * tests/test-ttyname_r.c: New file.
13722
13723         New module 'ttyname_r'.
13724         * lib/ttyname_r.c: New file.
13725         * m4/ttyname_r.m4: New file.
13726         * modules/ttyname_r: New file.
13727         * lib/unistd.in.h (ttyname_r): New declaration.
13728         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
13729         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
13730         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
13731         HAVE_TTYNAME_R.
13732         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
13733         * doc/posix-functions/ttyname_r.texi: Mention the new module.
13734
13735 2010-03-20  Bruno Haible  <bruno@clisp.org>
13736
13737         signal: Undefine macro definitions in C++ mode.
13738         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
13739         sigfillset): Undefine macro definitions from the system header in C++
13740         mode.
13741         Reported by John W. Eaton <jwe@gnu.org>.
13742
13743 2010-03-20  Bruno Haible  <bruno@clisp.org>
13744
13745         Ensure no #include statements inside extern "C" { ... }.
13746         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
13747         contain #include statements.
13748         * lib/time.in.h: Likewise.
13749
13750 2010-03-20  Bruno Haible  <bruno@clisp.org>
13751
13752         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
13753         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
13754         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
13755         Reported by John W. Eaton <jwe@gnu.org>.
13756
13757 2010-03-20  Bruno Haible  <bruno@clisp.org>
13758
13759         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
13760         Reported by Jim Meyering.
13761
13762 2010-03-20  Bruno Haible  <bruno@clisp.org>
13763
13764         pipe: Set errno upon failure.
13765         * lib/pipe.h: Specify that when -1 is returned, errno is set.
13766         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
13767         errno value in error message.
13768
13769 2010-03-20  Bruno Haible  <bruno@clisp.org>
13770             Jim Meyering  <meyering@redhat.com>
13771
13772         lchown: Avoid "unused variable" warning.
13773         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
13774
13775 2010-03-20  Bruno Haible  <bruno@clisp.org>
13776
13777         Work around unlink() bug on MacOS X 10.5.6.
13778         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
13779         attempting to unlink a parent directory.
13780         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
13781         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
13782         activate for the replacement function.
13783         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
13784
13785 2010-03-20  Bruno Haible  <bruno@clisp.org>
13786
13787         Fix link errors on Solaris 8.
13788         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
13789         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
13790
13791 2010-03-19  Jim Meyering  <meyering@redhat.com>
13792
13793         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
13794         The _LIBC implementation of build_range_exp correctly honors the
13795         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
13796         However, the non-_LIBC implementation would ignore that syntax-bit
13797         flag and return REG_ERANGE unconditionally.
13798         This change makes it honor that flag.
13799         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
13800         Make two pointer parameters "const".
13801         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
13802         (parse_bracket_exp): Update caller.
13803
13804         regex.m4: correct the reversed range endpoint ([b-a]) test
13805         * m4/regex.m4: When requiring that [b-a] evoke failure,
13806         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
13807         test pass once again for x86-based systems.
13808
13809 2010-03-19  Bruno Haible  <bruno@clisp.org>
13810
13811         scandir: Fix link error on Solaris 8.
13812         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
13813         macros.
13814
13815 2010-03-19  Bruno Haible  <bruno@clisp.org>
13816
13817         getusershell: Fix documentation.
13818         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
13819         module.
13820         * doc/glibc-functions/setusershell.texi: Likewise.
13821
13822         getusershell: Provide declaration, missing on Solaris 9.
13823         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
13824         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
13825         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
13826         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
13827         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13828         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
13829         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
13830         HAVE_GETUSERSHELL.
13831         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
13832
13833 2010-03-19  Bruno Haible  <bruno@clisp.org>
13834
13835         wctype: Provide iswblank function.
13836         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
13837         exists and is fine.
13838         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
13839         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
13840         * tests/test-wctype.c (main): Re-enable the iswblank tests.
13841         * doc/posix-functions/iswblank.texi: Update.
13842
13843 2010-03-19  Bruno Haible  <bruno@clisp.org>
13844
13845         Tests of module 'pty' in C++ mode.
13846         * modules/pty-tests: New file.
13847         * tests/test-pty-c++.cc: New file.
13848         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
13849
13850 2010-03-19  Eric Blake  <eblake@redhat.com>
13851
13852         logb: fix documentation
13853         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
13854         1.5 declaration bug.
13855
13856         forkpty, openpty: prefer glibc's const-safe prototype
13857         * lib/forkpty.c (rpl_forkpty): New file.
13858         * lib/openpty.c (rpl_openpty): Likewise.
13859         * modules/forkpty (Files): Distribute it.
13860         * modules/openpty (Files): Likewise.
13861         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
13862         check...
13863         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
13864         replacement for for non-const BSD signature.
13865         * modules/pty (Makefile.am): Substitute witnesses.
13866         * lib/pty.in.h (forkpty, openpty): Declare replacements.
13867         * tests/test-forkpty.c: Update signature check.
13868         * tests/test-openpty.c: Likewise.
13869         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
13870         * doc/glibc-functions/openpty.texi (openpty): Likewise.
13871
13872         forkpty, openpty: split functions into new modules
13873         * modules/pty (Makefile.am): Substitute new witnesses.
13874         (Libraries): Move library detection...
13875         * modules/forkpty: ...into new module.
13876         * modules/openpty: Another new module.
13877         * modules/pty-tests: Rename and split...
13878         * modules/forkpty-tests: ...to this...
13879         * modules/openpty-tests: ...and this.
13880         * tests/test-pty.c: Rename and split...
13881         * tests/test-forkpty.c: ...to this...
13882         * tests/test-openpty.c: ...and this.
13883         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
13884         (gl_PTY): Split library searching...
13885         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
13886         (gl_FORKPTY, gl_OPENPTY): New macros.
13887         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
13888         * NEWS: Mention the split.
13889         * MODULES.html.sh (Misc): Document the modules.
13890         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
13891         * doc/glibc-functions/openpty.texi (openpty): Likewise.
13892
13893         pty: improve replacement header
13894         * lib/pty.in.h: New file.
13895         * modules/pty (Files): Ship it.
13896         (Makefile.am): Always build replacement.
13897         * m4/pty.m4: Rename...
13898         * m4/pty_h.m4: ...to this.
13899         (gl_PTY): Modernize setting of witness macros; update check of
13900         forkpty to take proper advantage of cache.
13901         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
13902
13903         getopt: avoid compiler warning
13904         * lib/getopt.c (attribute_hidden): Remove unused macro.
13905
13906 2010-03-18  Bruno Haible  <bruno@clisp.org>
13907
13908         Fix link errors on Solaris 8.
13909         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
13910         * modules/search-tests (test_search_c___LDADD): Likewise.
13911         * modules/signal-tests (test_signal_c___LDADD): Likewise.
13912         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
13913         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
13914         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
13915         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
13916         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
13917         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
13918
13919 2010-03-18  Bruno Haible  <bruno@clisp.org>
13920
13921         Fix bug introduced on 2010-03-14.
13922         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
13923         (gl_SPAWN_H): Require it.
13924         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
13925         Reported by Simon Josefsson.
13926
13927 2010-03-18  Bruno Haible  <bruno@clisp.org>
13928
13929         Fix typo introduced on 2009-12-31.
13930         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
13931         posix_spawn_file_actions_adddup2.
13932
13933 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
13934         and Eric Blake  <eblake@redhat.com>
13935
13936         test-vc-list-files-git: make more robust
13937         * tests/test-vc-list-files-git.sh: Unset problematic environment
13938         variables.  Chain commands together.
13939
13940 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
13941
13942         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
13943         `AC_CHECK_DECL' invocation.
13944
13945 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
13946
13947         * lib/inttostr.c (inttostr): Make sure the invocation of verify
13948         appears before executable statements. Suggested by Petr Sumbera
13949         <Petr.Sumbera@Sun.COM>.
13950
13951 2010-03-14  Bruno Haible  <bruno@clisp.org>
13952
13953         * tests/test-flock.c (test_exclusive): Comment out a test that causes
13954         portability problems. Instead use a simpler test.
13955         (main): Check that invalid arguments are rejected only on Linux.
13956
13957 2010-03-14  Bruno Haible  <bruno@clisp.org>
13958
13959         Fix bug introduced on 2009-12-31.
13960         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
13961         gl_PREREQ_SYS_H_WINSOCK2 always.
13962         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
13963         SYS_SOCKET_H variable.
13964         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
13965         Update comments.
13966         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
13967         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
13968         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
13969         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
13970         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
13971
13972 2010-03-14  Bruno Haible  <bruno@clisp.org>
13973
13974         Fix values returned by sinl, cosl.
13975         * lib/trigl.h: Add specification comments.
13976         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
13977         that combines the values from the precomputed table with the values of
13978         the Chebyshev polynomials.
13979
13980 2010-03-14  Bruno Haible  <bruno@clisp.org>
13981
13982         Fix compilation error when modules 'posix_spawn[p]' are not used.
13983         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
13984         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
13985
13986 2010-03-14  Bruno Haible  <bruno@clisp.org>
13987
13988         Fix compilation error on mingw when module 'time_r' is not used.
13989         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
13990         is 1.
13991         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
13992         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
13993         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
13994         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
13995
13996 2010-03-14  Bruno Haible  <bruno@clisp.org>
13997
13998         Fix compilation error with Sun C.
13999         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
14000         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
14001         instead of GCC specific ULONG_LONG_MAX.
14002         * lib/xstrtoll.c: Likewise.
14003         * lib/xstrtoull.c: Likewise.
14004
14005 2010-03-13  Bruno Haible  <bruno@clisp.org>
14006
14007         Allow the user to disable C++ code and tests.
14008         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
14009         (gl_PROG_ANSI_CXX): Require it.
14010
14011 2010-03-13  Bruno Haible  <bruno@clisp.org>
14012
14013         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
14014         cases.
14015
14016 2010-03-13  Bruno Haible  <bruno@clisp.org>
14017
14018         Test that gnulib does not break the standard C++ headers.
14019         * tests/test-locale-c++2.cc: New file.
14020         * modules/locale-tests (Files): Add it.
14021         (Makefile.am): Compile it for test-locale-c++.
14022         * tests/test-math-c++2.cc: New file.
14023         * modules/math-tests (Files): Add it.
14024         (Makefile.am): Compile it for test-math-c++.
14025         * tests/test-signal-c++2.cc: New file.
14026         * modules/signal-tests (Files): Add it.
14027         (Makefile.am): Compile it for test-signal-c++.
14028         * tests/test-stdio-c++2.cc: New file.
14029         * modules/stdio-tests (Files): Add it.
14030         (Makefile.am): Compile it for test-stdio-c++.
14031         * tests/test-stdlib-c++2.cc: New file.
14032         * modules/stdlib-tests (Files): Add it.
14033         (Makefile.am): Compile it for test-stdlib-c++.
14034         * tests/test-string-c++2.cc: New file.
14035         * modules/string-tests (Files): Add it.
14036         (Makefile.am): Compile it for test-string-c++.
14037         * tests/test-time-c++2.cc: New file.
14038         * modules/time-tests (Files): Add it.
14039         (Makefile.am): Compile it for test-time-c++.
14040         Reported by John W. Eaton <jwe@gnu.org>.
14041
14042 2010-03-13  Bruno Haible  <bruno@clisp.org>
14043
14044         * gnulib-tool (func_usage): Clarify which options are available for
14045         --create-testdir and --create-megatestdir.
14046
14047 2010-03-13  Bruno Haible  <bruno@clisp.org>
14048
14049         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
14050         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
14051         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
14052         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
14053         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
14054         when appropriate.
14055         Reported by Jim Meyering.
14056
14057 2010-03-12  Simon Josefsson  <simon@josefsson.org>
14058
14059         * gnulib-tool (func_import): Explain origin of code.
14060
14061 2010-03-12  Bruno Haible  <bruno@clisp.org>
14062
14063         Fix problem with automake's definition of CXXLINK.
14064         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
14065         Reported by Simon Josefsson and Ludovic Courtès.
14066
14067 2010-03-12  Bruno Haible  <bruno@clisp.org>
14068
14069         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
14070         stable releases.
14071
14072 2010-03-11  Bruno Haible  <bruno@clisp.org>
14073
14074         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
14075         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
14076         whether the system provides one variant or multiple variants of the
14077         function.
14078         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
14079         C++ compilers.
14080         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
14081         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
14082         Reported by Jim Meyering.
14083
14084 2010-03-09  Simon Josefsson  <simon@josefsson.org>
14085
14086         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
14087
14088 2010-03-08  Bruno Haible  <bruno@clisp.org>
14089
14090         gnulib-tool: Add support for --libtool in --create-testdir.
14091         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
14092         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
14093
14094 2010-03-08  Eric Blake  <eblake@redhat.com>
14095
14096         gnulib-tool.texi: mention possibility of git submodule
14097         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
14098         submodules.
14099         * doc/.gitignore: Ignore another generated file.
14100
14101 2010-03-08  Karl Berry  <karl@gnu.org>
14102
14103         * doc/gnulib-tool.texi (VCS Issues): Mention third option
14104         of committing gnulib files while skipping others.
14105
14106 2010-03-07  Bruno Haible  <bruno@clisp.org>
14107
14108         Tests of module 'wctype' in C++ mode.
14109         * tests/test-wctype-c++.cc: New file.
14110         * modules/wctype-tests (Files): Add it and tests/signature.h.
14111         (Depends-on): Add ansi-c++-opt.
14112         (Makefile.am): Arrange to compile and run test-wctype-c++.
14113
14114         Tests of module 'wchar' in C++ mode.
14115         * tests/test-wchar-c++.cc: New file.
14116         * modules/wchar-tests (Files): Add it and tests/signature.h.
14117         (Depends-on): Add ansi-c++-opt.
14118         (Makefile.am): Arrange to compile and run test-wchar-c++.
14119         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
14120         gl_MODULE_INDICATOR.
14121
14122         Tests of module 'unistd' in C++ mode.
14123         * tests/test-unistd-c++.cc: New file.
14124         * modules/unistd-tests (Files): Add it and tests/signature.h.
14125         (Depends-on): Add ansi-c++-opt.
14126         (Makefile.am): Arrange to compile and run test-unistd-c++.
14127         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
14128         gl_MODULE_INDICATOR.
14129
14130         Tests of module 'time' in C++ mode.
14131         * tests/test-time-c++.cc: New file.
14132         * modules/time-tests (Files): Add it and tests/signature.h.
14133         (Depends-on): Add ansi-c++-opt.
14134         (Makefile.am): Arrange to compile and run test-time-c++.
14135         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
14136
14137         Tests of module 'sys_time' in C++ mode.
14138         * tests/test-sys_time-c++.cc: New file.
14139         * modules/sys_time-tests (Files): Add it and tests/signature.h.
14140         (Depends-on): Add ansi-c++-opt.
14141         (Makefile.am): Arrange to compile and run test-sys_time-c++.
14142         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
14143         gl_MODULE_INDICATOR.
14144
14145         Tests of module 'sys_stat' in C++ mode.
14146         * tests/test-sys_stat-c++.cc: New file.
14147         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
14148         (Depends-on): Add ansi-c++-opt.
14149         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
14150         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
14151         gl_MODULE_INDICATOR.
14152
14153         Tests of module 'sys_socket' in C++ mode.
14154         * tests/test-sys_socket-c++.cc: New file.
14155         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
14156         (Depends-on): Add ansi-c++-opt.
14157         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
14158         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
14159         gl_MODULE_INDICATOR.
14160
14161         Tests of module 'sys_select' in C++ mode.
14162         * tests/test-sys_select-c++.cc: New file.
14163         * modules/sys_select-tests (Files): Add it and tests/signature.h.
14164         (Depends-on): Add ansi-c++-opt.
14165         (Makefile.am): Arrange to compile and run test-sys_select-c++.
14166         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
14167         gl_MODULE_INDICATOR.
14168
14169         Tests of module 'sys_ioctl' in C++ mode.
14170         * tests/test-sys_ioctl-c++.cc: New file.
14171         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
14172         (Depends-on): Add ansi-c++-opt.
14173         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
14174         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
14175         gl_MODULE_INDICATOR.
14176
14177         Tests of module 'string' in C++ mode.
14178         * tests/test-string-c++.cc: New file.
14179         * modules/string-tests (Files): Add it and tests/signature.h.
14180         (Depends-on): Add ansi-c++-opt.
14181         (Makefile.am): Arrange to compile and run test-string-c++.
14182         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
14183         gl_MODULE_INDICATOR.
14184
14185         Tests of module 'stdlib' in C++ mode.
14186         * tests/test-stdlib-c++.cc: New file.
14187         * modules/stdlib-tests (Files): Add it and tests/signature.h.
14188         (Depends-on): Add ansi-c++-opt.
14189         (Makefile.am): Arrange to compile and run test-stdlib-c++.
14190         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
14191         gl_MODULE_INDICATOR.
14192
14193         Tests of module 'stdio' in C++ mode.
14194         * tests/test-stdio-c++.cc: New file.
14195         * modules/stdio-tests (Files): Add it and tests/signature.h.
14196         (Depends-on): Add ansi-c++-opt.
14197         (Makefile.am): Arrange to compile and run test-stdio-c++.
14198         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
14199         gl_MODULE_INDICATOR.
14200
14201         Tests of module 'spawn' in C++ mode.
14202         * tests/test-spawn-c++.cc: New file.
14203         * modules/spawn-tests (Files): Add it and tests/signature.h.
14204         (Depends-on): Add ansi-c++-opt.
14205         (Makefile.am): Arrange to compile and run test-spawn-c++.
14206         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
14207         gl_MODULE_INDICATOR.
14208
14209         Tests of module 'signal' in C++ mode.
14210         * tests/test-signal-c++.cc: New file.
14211         * modules/signal-tests (Files): Add it and tests/signature.h.
14212         (Depends-on): Add ansi-c++-opt.
14213         (Makefile.am): Arrange to compile and run test-signal-c++.
14214         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
14215         gl_MODULE_INDICATOR.
14216
14217         Tests of module 'search' in C++ mode.
14218         * tests/test-search-c++.cc: New file.
14219         * modules/search-tests (Files): Add it and tests/signature.h.
14220         (Depends-on): Add ansi-c++-opt.
14221         (Makefile.am): Arrange to compile and run test-search-c++.
14222         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
14223         gl_MODULE_INDICATOR.
14224
14225         Tests of module 'math' in C++ mode.
14226         * tests/test-math-c++.cc: New file.
14227         * modules/math-tests (Files): Add it and tests/signature.h.
14228         (Depends-on): Add ansi-c++-opt.
14229         (Makefile.am): Arrange to compile and run test-math-c++.
14230         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
14231
14232         Tests of module 'locale' in C++ mode.
14233         * tests/test-locale-c++.cc: New file.
14234         * modules/locale-tests (Files): Add it and tests/signature.h.
14235         (Depends-on): Add ansi-c++-opt.
14236         (Makefile.am): Arrange to compile and run test-locale-c++.
14237         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
14238         gl_MODULE_INDICATOR.
14239
14240         Tests of module 'langinfo' in C++ mode.
14241         * tests/test-langinfo-c++.cc: New file.
14242         * modules/langinfo-tests (Files): Add it and tests/signature.h.
14243         (Depends-on): Add ansi-c++-opt.
14244         (Makefile.am): Arrange to compile and run test-langinfo-c++.
14245         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
14246         gl_MODULE_INDICATOR.
14247
14248         Tests of module 'iconv-h' in C++ mode.
14249         * tests/test-iconv-h-c++.cc: New file.
14250         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
14251         (Depends-on): Add ansi-c++-opt.
14252         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
14253
14254         Tests of module 'glob' in C++ mode.
14255         * tests/test-glob-c++.cc: New file.
14256         * modules/glob-tests (Files): Add it.
14257         (Depends-on): Add ansi-c++-opt.
14258         (Makefile.am): Arrange to compile and run test-glob-c++.
14259
14260         Tests of module 'fcntl-h' in C++ mode.
14261         * tests/test-fcntl-h-c++.cc: New file.
14262         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
14263         (Depends-on): Add ansi-c++-opt.
14264         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
14265         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
14266         gl_MODULE_INDICATOR.
14267
14268         Tests of module 'dirent' in C++ mode.
14269         * tests/test-dirent-c++.cc: New file.
14270         * modules/dirent-tests (Files): Add it and tests/signature.h.
14271         (Depends-on): Add ansi-c++-opt.
14272         (Makefile.am): Arrange to compile and run test-dirent-c++.
14273         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
14274         gl_MODULE_INDICATOR.
14275
14276         New module 'ansi-c++-opt'.
14277         * modules/ansi-c++-opt: New file.
14278         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
14279
14280         Document C++ namespace mode.
14281         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
14282
14283         wctype: Avoid #define replacements in C++ mode.
14284         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
14285         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
14286         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
14287         In C++, define a namespaced alias symbol.
14288         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
14289         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
14290         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
14291         rule.
14292
14293         wchar: Avoid #define replacements in C++ mode.
14294         * lib/wchar.in.h: Include c++defs.h.
14295         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
14296         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
14297         symbol.
14298         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
14299         * modules/wchar (Depends-on): Add c++defs.
14300         (Makefile.am): Update wchar.h rule.
14301
14302         unistd: Avoid #define replacements in C++ mode.
14303         * lib/unistd.in.h: Include c++defs.h.
14304         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
14305         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
14306         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
14307         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
14308         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
14309         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
14310         symbol.
14311         (environ): Update.
14312         * modules/unistd (Depends-on): Add c++defs.
14313         (Makefile.am): Update unistd.h rule.
14314
14315         time: Avoid #define replacements in C++ mode.
14316         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
14317         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
14318         define a namespaced alias symbol.
14319         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
14320         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
14321         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
14322         * modules/time (Depends-on): Add c++defs, warn-on-use.
14323         (Makefile.am): Update time.h rule.
14324         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
14325         * modules/nanosleep (configure.ac): Likewise.
14326         * modules/strptime (configure.ac): Likewise.
14327         * modules/timegm (configure.ac): Likewise.
14328
14329         sys_time: Avoid #define replacements in C++ mode.
14330         * lib/sys_time.in.h: Include c++defs.h.
14331         (gettimeofday): In C++, define a namespaced alias symbol.
14332         * modules/sys_time (Depends-on): Add c++defs.
14333         (Makefile.am): Update sys/time.h rule.
14334
14335         sys_stat: Avoid #define replacements in C++ mode.
14336         * lib/sys_stat.in.h: Include c++defs.h.
14337         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
14338         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
14339         namespaced alias symbol.
14340         In C++, define a namespaced alias symbol.
14341         * modules/sys_stat (Depends-on): Add c++defs.
14342         (Makefile.am): Update sys/stat.h rule.
14343
14344         sys_socket: Avoid #define replacements in C++ mode.
14345         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
14346         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
14347         definitions also when the system has a <sys/socket.h>.
14348         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
14349         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
14350         In C++, define a namespaced alias symbol.
14351         * modules/sys_socket (Depends-on): Add c++defs.
14352         (Makefile.am): Update sys/socket.h rule.
14353
14354         sys_select: Avoid #define replacements in C++ mode.
14355         * lib/sys_select.in.h: Include c++defs.h. Enable the function
14356         definitions also when the system has a <sys/select.h>.
14357         (select): In C++, define a namespaced alias symbol.
14358         * modules/sys_select (Depends-on): Add c++defs.
14359         (Makefile.am): Update sys/select.h rule.
14360
14361         sys_ioctl: Avoid #define replacements in C++ mode.
14362         * lib/sys_ioctl.in.h: Include c++defs.h.
14363         (ioctl): In C++, define a namespaced alias symbol.
14364         * modules/sys_ioctl (Depends-on): Add c++defs.
14365         (Makefile.am): Update sys/ioctl.h rule.
14366
14367         string: Avoid #define replacements in C++ mode.
14368         * lib/string.in.h: Include c++defs.h.
14369         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
14370         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
14371         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
14372         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
14373         strsignal, strverscmp): In C++, define a namespaced alias symbol.
14374         * modules/string (Depends-on): Add c++defs.
14375         (Makefile.am): Update string.h rule.
14376
14377         stdlib: Avoid #define replacements in C++ mode.
14378         * lib/stdlib.in.h: Include c++defs.h.
14379         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
14380         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
14381         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
14382         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
14383         symbol.
14384         * modules/stdlib (Depends-on): Add c++defs.
14385         (Makefile.am): Update stdlib.h rule.
14386
14387         stdio: Avoid #define replacements in C++ mode.
14388         * lib/stdio.in.h: Include c++defs.h.
14389         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
14390         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
14391         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
14392         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
14393         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
14394         namespaced alias symbol.
14395         * modules/stdio (Depends-on): Add c++defs.
14396         (Makefile.am): Update stdio.h rule.
14397
14398         spawn: Avoid #define replacements in C++ mode.
14399         * lib/spawn.in.h: Include c++defs.h.
14400         (posix_spawn, posix_spawnp, posix_spawnattr_init,
14401         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
14402         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
14403         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
14404         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
14405         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
14406         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
14407         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
14408         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
14409         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
14410         In C++, define a namespaced alias symbol.
14411         * modules/spawn (Depends-on): Add c++defs.
14412         (Makefile.am): Update spawn.h rule.
14413
14414         signal: Avoid #define replacements in C++ mode.
14415         * lib/signal.in.h: Include c++defs.h.
14416         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
14417         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
14418         namespaced alias symbol.
14419         * modules/signal (Depends-on): Add c++defs.
14420         (Makefile.am): Update signal.h rule.
14421
14422         search: Avoid #define replacements in C++ mode.
14423         * lib/search.in.h: Include c++defs.h.
14424         (_gl_search_compar_fn, _gl_search_action_fn): New types.
14425         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
14426         symbol.
14427         * modules/search (Depends-on): Add c++defs.
14428         (Makefile.am): Update search.h rule.
14429
14430         math: Avoid #define replacements in C++ mode.
14431         * lib/math.in.h: Include c++defs.h.
14432         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
14433         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
14434         trunc, truncl): In C++, define a namespaced alias symbol.
14435         * modules/math (Depends-on): Add c++defs.
14436         (Makefile.am): Update math.h rule.
14437
14438         locale: Avoid #define replacements in C++ mode.
14439         * lib/locale.in.h: Include c++defs.h.
14440         (duplocale): In C++, define a namespaced alias symbol.
14441         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
14442         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
14443         * modules/locale (Depends-on): Add c++defs.
14444         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
14445
14446         langinfo: Avoid #define replacements in C++ mode.
14447         * lib/langinfo.in.h: Include c++defs.h.
14448         (nl_langinfo): In C++, define a namespaced alias symbol.
14449         * modules/langinfo (Depends-on): Add c++defs.
14450         (Makefile.am): Update langinfo.h rule.
14451
14452         iconv-h: Avoid #define replacements in C++ mode.
14453         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
14454         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
14455         symbol.
14456         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
14457         whenever iconv is present.
14458         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
14459         (Makefile.am): Update iconv.h rule.
14460
14461         glob: Avoid #define replacements in C++ mode.
14462         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
14463         (_gl_glob_errfunc_fn): New type.
14464         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
14465         symbol.
14466         * modules/glob (Depends-on): Add c++defs, warn-on-use.
14467         (Makefile.am): Update glob.h rule.
14468
14469         fcntl-h: Avoid #define replacements in C++ mode.
14470         * lib/fcntl.in.h: Include c++defs.h.
14471         (fcntl, open, openat): In C++, define a namespaced alias symbol.
14472         * modules/fcntl-h (Depends-on): Add c++defs.
14473         (Makefile.am): Update fcntl.h rule.
14474
14475         dirent: Avoid #define replacements in C++ mode.
14476         * lib/dirent.in.h: Include c++defs.h.
14477         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
14478         namespaced alias symbol.
14479         (dirfd): Update declaration.
14480         * modules/dirent (Depends-on): Add c++defs.
14481         (Makefile.am): Update dirent.h rule.
14482
14483         ctype: Make it usable in C++ code.
14484         * lib/ctype.in.h: Include c++defs.h.
14485         (isblank): Declare as extern "C".
14486         * modules/ctype (Depends-on): Add c++defs.
14487         (Makefile.am): Update ctype.h rule.
14488
14489         New module 'c++defs'.
14490         * modules/c++defs: New file.
14491         * build-aux/c++defs.h: New file.
14492         Reported by John W. Eaton <jwe@gnu.org>.
14493
14494 2010-03-07  Bruno Haible  <bruno@clisp.org>
14495
14496         logb: Provide missing declaration for Cygwin.
14497         * lib/math.in.h (logb): New declaration.
14498         * m4/logb.m4: New file.
14499         * modules/logb (Files): Add m4/logb.m4.
14500         (Depends-on): Add math.
14501         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
14502         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
14503         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
14504         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
14505         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
14506
14507 2010-03-07  Bruno Haible  <bruno@clisp.org>
14508
14509         Fix test-cond link error.
14510         * tests/test-cond.c: Include <stdio.h>.
14511
14512 2010-03-07  Bruno Haible  <bruno@clisp.org>
14513
14514         Fix test-dirent-safer link error.
14515         * modules/dirent-safer-tests (Makefile.am): Define
14516         test_dirent_safer_LDADD.
14517
14518 2010-03-07  Bruno Haible  <bruno@clisp.org>
14519
14520         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
14521         among default module list.
14522
14523 2010-03-07  Bruno Haible  <bruno@clisp.org>
14524
14525         Fix link error on platforms with GNU libiconv.
14526         * modules/unistr/u8-strcoll-tests (Makefile): Define
14527         test_u8_strcoll_LDADD.
14528         * modules/unistr/u16-strcoll-tests (Makefile): Define
14529         test_u16_strcoll_LDADD.
14530         * modules/unistr/u32-strcoll-tests (Makefile): Define
14531         test_u32_strcoll_LDADD.
14532
14533 2010-03-07  Bruno Haible  <bruno@clisp.org>
14534
14535         Use POSIX declarations for socket functions.
14536         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
14537         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
14538         rpl_sendto): Change declaration to match POSIX.
14539         * lib/connect.c (rpl_connect): Likewise.
14540         * lib/accept.c (rpl_accept): Likewise.
14541         * lib/bind.c (rpl_bind): Likewise.
14542         * lib/getpeername.c (rpl_getpeername): Likewise.
14543         * lib/getsockname.c (rpl_getsockname): Likewise.
14544         * lib/recv.c (rpl_recv): Likewise.
14545         * lib/send.c (rpl_send): Likewise.
14546         * lib/recvfrom.c (rpl_recvfrom): Likewise.
14547         * lib/sendto.c (rpl_sendto): Likewise.
14548
14549 2010-03-06  Bruno Haible  <bruno@clisp.org>
14550
14551         Clarify access, euidaccess, faccessat.
14552         * doc/posix-functions/faccessat.texi: Mention security problem under
14553         "Other problems", not "Portability problems".
14554         * doc/posix-functions/access.texi: Likewise. Mention a related security
14555         problem.
14556         * doc/glibc-functions/euidaccess.texi: Mention security problems.
14557         * lib/euidaccess.c: Add comments about platforms.
14558         * lib/unistd.in.h (access, euidaccess): Add warnings.
14559
14560 2010-03-07  Bruno Haible  <bruno@clisp.org>
14561
14562         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
14563         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
14564         (POSIX_SPAWN_SETSCHEDULER): Likewise.
14565         (POSIX_SPAWN_USEVFORK): Define in a way that works when
14566         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
14567         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
14568         declare when POSIX_SPAWN_SETSCHEDULER is zero.
14569         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
14570         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
14571         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
14572         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
14573         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
14574         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
14575         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
14576         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
14577         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
14578         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
14579         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
14580         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
14581         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
14582         Likewise.
14583         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
14584         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
14585         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
14586         Likewise.
14587         * tests/test-spawn.c (main): Make it work when
14588         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
14589
14590 2010-03-07  Bruno Haible  <bruno@clisp.org>
14591
14592         Fix incorrect Makefile.am generation in German locale.
14593         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
14594         Execute sed command with character range in C locale.
14595
14596 2010-03-06  Bruno Haible  <bruno@clisp.org>
14597
14598         Tests for module 'iconv-h'.
14599         * modules/iconv-h-tests: New file.
14600         * tests/test-iconv-h.c: New file.
14601
14602         New module 'iconv-h'.
14603         * modules/iconv-h: New file.
14604         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
14605         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
14606         (configure.ac): Remove gl_ICONV_H.
14607         (Makefile.am): Remove rule for iconv.h.
14608
14609 2010-03-06  Bruno Haible  <bruno@clisp.org>
14610
14611         More consistent naming of *.m4 files.
14612         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
14613         * modules/wctype (Files): Update.
14614
14615         More consistent naming of *.m4 files.
14616         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
14617         * modules/wchar (Files): Update.
14618
14619 2010-03-06  Jim Meyering  <meyering@redhat.com>
14620
14621         euidaccess: relax license to LGPLv2+
14622         * modules/euidaccess (License): Relax to LGPLv2+.
14623
14624 2010-03-06  Bruno Haible  <bruno@clisp.org>
14625
14626         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
14627         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
14628         (Makefile.am): Augment lib_SOURCES instead.
14629
14630 2010-03-04  Jim Meyering  <meyering@redhat.com>
14631
14632         utime: remove obsolete module
14633         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
14634         unnecessary for years, and has been marked as obsolete for 10 months.
14635         * modules/utime: Remove file.
14636         * lib/utime.c: Remove file.
14637         * m4/utime.m4: Remove file.
14638         * m4/utimes-null.m4: Remove file.
14639         * doc/posix-functions/utime.texi (utime): Remove reference to
14640         the module.  Move the sole "fixed by gnulib" item into the
14641         "problems not fixed by Gnulib" list.
14642         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
14643
14644 2010-03-05  Simon Josefsson  <simon@josefsson.org>
14645
14646         * modules/exit (License): Relax license to LGPLv2+.
14647         (Status): Mark as obsolete.
14648         * NEWS: Mention deprecated 'exit' module.
14649         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
14650         of now obsolete 'exit'.
14651
14652 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14653
14654         fts-lgpl: remove unused module
14655         * modules/fts-lgpl: Remove.
14656         * MODULES.html.sh (func_all_modules): Adjust.
14657         * check-module (find_included_lib_files): Adjust.
14658         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
14659
14660 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
14661
14662         copy-acl: enhance Solaris ACL error handling
14663         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
14664         * lib/set-mode-acl.c (qset_acl): Likewise.
14665
14666 2010-03-02  Bruno Haible  <bruno@clisp.org>
14667
14668         spawn: Don't override the system defined values on FreeBSD 8.
14669         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
14670         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
14671         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
14672         if HAVE_POSIX_SPAWN is 1.
14673         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
14674
14675 2010-03-01  Bruno Haible  <bruno@clisp.org>
14676
14677         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
14678         regarding Automake.
14679
14680 2010-02-25  Bruno Haible  <bruno@clisp.org>
14681
14682         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
14683         * gnulib-tool: Define 'echo' as a function only before the ksh alias
14684         setting, not afterwards.
14685         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
14686
14687 2010-02-24  Eric Blake  <eblake@redhat.com>
14688
14689         bootstrap, git-version-gen: use timestamp
14690         * build-aux/git-version-gen (scriptversion): Force UTC.
14691         * build-aux/bootstrap (scriptversion): New variable.
14692
14693         bootstrap: allow older git
14694         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
14695         older than 1.6.4.  Requested by the libvirt project.
14696
14697 2010-02-23  Eric Blake  <eblake@redhat.com>
14698
14699         warn-on-use: work with old autoconf
14700         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
14701         AS_VAR semantics of autoconf 2.60.
14702         Reported by Bruno Haible.
14703
14704         bootstrap: improve some comments
14705         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
14706         clarification comments.
14707
14708         gettimeofday: provide correct function
14709         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
14710         when replacement is declared, otherwise provide gettimeofday.
14711         Reported by Michael Goffioul.
14712
14713 2010-02-23  Jim Meyering  <meyering@redhat.com>
14714
14715         lib-ignore: relax license to "unlimited", not LGPLv2+
14716         * modules/lib-ignore (License): Relax to "unlimited".
14717
14718 2010-02-23  Jim Meyering  <meyering@redhat.com>
14719
14720         lib-ignore: relax license to LGPLv2+
14721         * modules/lib-ignore (License): Relax to LGPLv2+.
14722
14723 2010-02-22  Eric Blake  <eblake@redhat.com>
14724
14725         lseek: avoid bash 3.2 broken pipe bug
14726         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
14727         warning from bash 3.2.
14728         Reported by Ben Pfaff, with analysis from Bruno Haible.
14729
14730         bootstrap: support non-FSF copyright holder
14731         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
14732         bootstrap.conf override of COPYRIGHT_HOLDER.
14733         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
14734
14735         bootstrap: interoperate with gettext 0.14.1
14736         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
14737
14738         bootstrap: allow for alternate submodule location
14739         * build-aux/bootstrap (gnulib_path): New variable; use instead of
14740         hardcoding submodule location.
14741         (gnulib_mk): Allow direct use of Makefile.am.
14742
14743         bootstrap: use GNULIB_SRCDIR to reduce disk usage
14744         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
14745         rather than reconfiguring where the submodule points.
14746
14747         gettimeofday: restore support for platforms that lack function
14748         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
14749         replacement if function is missing.
14750         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
14751         * modules/sys_time (Makefile.am): Substitute it.
14752         * lib/sys_time.in.h (gettimeofday): Check it.
14753         Reported by Michael Goffioul.
14754
14755 2010-02-21  Bruno Haible  <bruno@clisp.org>
14756
14757         * lib/stdio.in.h (obstack_printf): Fix typo.
14758
14759 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
14760
14761         vc-list-files: use bzr ls's -R option
14762         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
14763         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
14764
14765 2010-02-21  Jim Meyering  <meyering@redhat.com>
14766
14767         init.sh: fix EXEEXT shims to work also for names like test-prog
14768         * tests/init.sh: Re-exec a better shell, when needed.
14769         If the current shell lacks support for posix $(...), an init.sh-using
14770         test will now try to find a shell that supports that.  If EXEEXT is
14771         nonempty, we also require support for hyphen-in-alias-name and shell
14772         substitutions like ${var#glob}.  Failure to find such a shell results
14773         in a skipped test.
14774
14775 2010-02-21  Bruno Haible  <bruno@clisp.org>
14776
14777         Really work around around "broken pipe" error message from bash 3.2.
14778         * gnulib-tool (func_reset_sigpipe): Remove function.
14779         (echo): In bash 3.2, define to a function that uses printf.
14780         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
14781
14782 2010-02-20  Bruno Haible  <bruno@clisp.org>
14783
14784         Restore support for automake 1.9.6 with autoconf 2.61.
14785         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
14786         Reported by James Youngman <jay@gnu.org>.
14787
14788 2010-02-20  Bruno Haible  <bruno@clisp.org>
14789
14790         Improve *printf warning condition.
14791         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
14792         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
14793         and the function is overridden due to SIGPIPE emulation.
14794
14795 2010-02-20  Bruno Haible  <bruno@clisp.org>
14796
14797         * lib/stdio.in.h: Tweak comments.
14798
14799 2010-02-19  Bruno Haible  <bruno@clisp.org>
14800
14801         Make it easier to find modules. New gnulib-tool option '--find'.
14802         * gnulib-tool: New option --find.
14803         (func_usage): Document it.
14804         (func_sanitize_modulelist): New function, extracted from
14805         func_all_modules.
14806         (func_all_modules): Invoke it.
14807         * doc/gnulib-tool.texi (Which modules?): New node.
14808
14809 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
14810
14811         * lib/sys_select.in.h: Provide select replacement even if
14812         sys/select.h exists on a system, for Interix.
14813
14814 2010-02-18  Jim Meyering  <meyering@redhat.com>
14815
14816         init.sh: don't use $(...) just yet
14817         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
14818         to accommodate e.g., Solaris' /bin/sh.
14819
14820 2010-02-17  Bruno Haible  <bruno@clisp.org>
14821
14822         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
14823         Reported by Ludovic Courtès <ludo@gnu.org>.
14824
14825 2010-02-16  Simon Josefsson  <simon@josefsson.org>
14826
14827         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
14828         linking with -lintl.
14829
14830 2010-02-17  Simon Josefsson  <simon@josefsson.org>
14831
14832         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
14833         if not provided by the system's netdb.h.  Reported by
14834         ludo@gnu.org (Ludovic Courtès).
14835
14836 2010-02-15  Jim Meyering  <meyering@redhat.com>
14837
14838         init.sh: improve portability and efficiency
14839         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
14840         "dummy" in a for loop.
14841         Use '!', not '^' to select the complement of a character set used
14842         in a "case" statement.
14843         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
14844         Suggestions from Eric Blake.
14845
14846         init.sh: automatically accommodate programs with the .exe suffix
14847         Automatically arrange for an invocation of "prog" to execute the
14848         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
14849         may use the simpler "prog", yet still work when built on a system
14850         that requires specifying the added suffix.
14851         Do this by constructing a function named "prog" that invokes
14852         "prog.exe" for each .exe file in selected directories.
14853         * tests/init.sh (find_exe_basenames_): New function.
14854         (create_exe_shim_functions_): New function.
14855         (path_prepend_): Use it.
14856
14857         maint.mk: mark syntax-check sc_*.m rules as .PHONY
14858         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
14859         "make -t syntax-check" doesn't create a ton of sc_*.m files.
14860
14861 2010-02-14  Jim Meyering  <meyering@redhat.com>
14862
14863         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
14864         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
14865         (sc_prohibit_hash_pjw_without_use): New rule.
14866
14867         maint.mk: allow the default upload destination dir to be overridden
14868         * top/maint.mk (upload_dest_dir_): Define with a default that
14869         preserves the status quo.
14870         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
14871         Reported by Peter Simons.
14872
14873         maint.mk: prohibit inclusion of "hash.h" without_use
14874         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
14875
14876 2010-02-10  Jim Meyering  <meyering@redhat.com>
14877
14878         maint.mk: prohibit inclusion of "ignore-value.h" without_use
14879         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
14880
14881 2010-02-09  Eric Blake  <ebb9@byu.net>
14882         and Bruno Haible  <bruno@clisp.org>
14883
14884         obstack-printf-posix: ensure declaration
14885         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
14886         extracted from gl_FUNC_OBSTACK_PRINTF.
14887         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
14888         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
14889         Likewise.
14890         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
14891         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
14892         0.
14893
14894 2010-02-08  Bruno Haible  <bruno@clisp.org>
14895
14896         gnulib-tool: Fix typo in 2010-02-07 commit.
14897         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
14898         Reported by Eric Blake.
14899
14900 2010-02-07  Bruno Haible  <bruno@clisp.org>
14901
14902         gnulib-tool: Fix up caching patches.
14903         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
14904         option --no-cache. Use associative arrays when supported by the shell.
14905         (sed_comments): New variable.
14906         (modcache): Renamed from do_cache.
14907         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
14908         abbreviate unnecessarily.
14909         (have_associative): New variable.
14910         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
14911         way also for ksh and zsh.
14912         (func_init_sed_convert_to_cache_statements): New function, extracted
14913         from func_cache_lookup_module. Add support for associative arrays.
14914         Don't set the c_MODULE_cached variable here. Ignore all lines before
14915         the first field header. Remove only the final newline, not all trailing
14916         newlines. Support empty fields correctly. Limit the use of 'eval' to
14917         assignments.
14918         (func_get_description, func_get_status, func_get_notice,
14919         func_get_applicability, func_get_filelist, func_get_dependencies,
14920         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
14921         func_get_automake_snippet, func_get_include_directive,
14922         func_get_link_directive, func_get_license, func_get_maintainer):
14923         Update documentation. List the unoptimized code first. Add support for
14924         associative arrays. Limit the use of 'eval' to assignments.
14925         (func_get_applicability): Undo stylistic pessimisations.
14926         (func_get_automake_snippet, func_get_include_directive): Reduce code
14927         duplication.
14928         (func_modules_transitive_closure, func_modules_add_dummy,
14929         func_modules_notice, func_modules_to_filelist, func_add_file,
14930         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
14931         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
14932         func_create_testdir, func_create_megatestdir): Update documentation.
14933
14934 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14935
14936         * gnulib-tool (func_cache_lookup_module): Store the module name
14937         belonging to the cache variable; error out if two different
14938         module names map to the same cache variable name.
14939
14940 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14941
14942         gnulib-tool: Make caching optional.
14943         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
14944         Update matching short versions of --no-changelog.
14945         (func_usage): Update.
14946         (sed_extract_cache_prog): Renamed from ...
14947         (sed_extract_prog): ... this; revert to old extraction script.
14948         (func_get_description, func_get_status)
14949         (func_get_notice, func_get_applicability, func_get_filelist)
14950         (func_get_dependencies, func_get_autoconf_early_snippet)
14951         (func_get_autoconf_snippet, func_get_automake_snippet)
14952         (func_get_include_directive, func_get_link_directive)
14953         (func_get_license, func_get_maintainer): If $do_cache is false,
14954         use old, non-caching extraction scripts.
14955         Suggestion by Bruno Haible.
14956
14957 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14958
14959         gnulib-tool: cache module metainformation.
14960         * gnulib-tool (sed_extract_prog): Match newline before each
14961         header, and rewrite header to a shell variable suffix.
14962         (func_cache_var, func_cache_lookup_module): New functions,
14963         to turn a module name into a cache variable prefix, and to
14964         look up and cache module metainformation.
14965         (func_get_description, func_get_status)
14966         (func_get_notice, func_get_applicability, func_get_filelist)
14967         (func_get_dependencies, func_get_autoconf_early_snippet)
14968         (func_get_autoconf_snippet, func_get_automake_snippet)
14969         (func_get_include_directive, func_get_link_directive)
14970         (func_get_license, func_get_maintainer): Use
14971         func_cache_lookup_module.
14972
14973 2010-02-07  Bruno Haible  <bruno@clisp.org>
14974
14975         fnctl: Fix missing dependency.
14976         * modules/fcntl (Depends-on): Add getdtablesize.
14977         Reported by John W. Eaton <jwe@gnu.org>.
14978
14979 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
14980
14981         Argp: fix recognition of short alias options.
14982
14983         * lib/argp-parse.c (convert_options): Fix improper use of
14984         `|' between character values.
14985         * tests/test-argp.c (group1_option): New alias option
14986         --read (-r).
14987         (group1_parser): Special handling for 'r'.
14988         (test15): New test case.
14989         (test_fun): Add test15.
14990         * tests/test-argp-2.sh: Update expected --help and --usage
14991         outputs.
14992
14993 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
14994
14995         * tests/test-argp.c: Fix indentation.
14996
14997 2010-02-04  Eric Blake  <ebb9@byu.net>
14998
14999         gettimeofday: expose type of second argument
15000         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
15001         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
15002         * tests/test-gettimeofday.c: Use it to silence warning.
15003         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
15004         the issue.
15005
15006 2010-02-03  Jim Meyering  <meyering@redhat.com>
15007
15008         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
15009         * lib/regcomp.c (TYPE_SIGNED): Define.
15010         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
15011
15012         regcomp.c: avoid a new -Wshadow warning
15013         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
15014
15015 2010-02-01  Jim Meyering  <meyering@redhat.com>
15016
15017         removing useless parentheses in cpp #define directives
15018         For motivation, see commit c0221df4, "define STREQ(a,b)
15019         consistently, removing useless parentheses"
15020         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
15021         * lib/mountlist.c (MNT_IGNORE): Likewise.
15022         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
15023
15024 2010-02-01  Eric Blake  <ebb9@byu.net>
15025
15026         sys_time: use link-warning
15027         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
15028         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
15029         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
15030         * modules/sys_time (Depends-on): Add warn-on-use.
15031         (Makefile.am): Always build replacement.
15032         (configure.ac): Update substitutions.
15033         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
15034         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
15035         bother with SYS_TIME_H.
15036         * modules/gettimeofday (configure.ac): Declare indicator.
15037         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
15038         in use.
15039
15040         closein-tests: silence compiler warning
15041         * tests/test-closein.c (main): Ignore fread result.
15042         * modules/closein-tests (Depends-on): Add ignore-value.
15043
15044         tests: silence warning about system return
15045         * tests/test-areadlink-with-size.c (main): Ignore system result.
15046         * tests/test-areadlink.c (main): Likewise.
15047         * tests/test-areadlinkat-with-size.c (main): Likewise.
15048         * tests/test-areadlinkat.c (main): Likewise.
15049         * tests/test-canonicalize-lgpl.c (main): Likewise.
15050         * tests/test-canonicalize.c (main): Likewise.
15051         * tests/test-chown.c (main): Likewise.
15052         * tests/test-fchownat.c (main): Likewise.
15053         * tests/test-fdutimensat.c (main): Likewise.
15054         * tests/test-fstatat.c (main): Likewise.
15055         * tests/test-futimens.c (main): Likewise.
15056         * tests/test-lchown.c (main): Likewise.
15057         * tests/test-link.c (main): Likewise.
15058         * tests/test-linkat.c (main): Likewise.
15059         * tests/test-lstat.c (main): Likewise.
15060         * tests/test-mkdir.c (main): Likewise.
15061         * tests/test-mkdirat.c (main): Likewise.
15062         * tests/test-mkfifo.c (main): Likewise.
15063         * tests/test-mkfifoat.c (main): Likewise.
15064         * tests/test-mknod.c (main): Likewise.
15065         * tests/test-readlink.c (main): Likewise.
15066         * tests/test-remove.c (main): Likewise.
15067         * tests/test-rename.c (main): Likewise.
15068         * tests/test-renameat.c (main): Likewise.
15069         * tests/test-rmdir.c (main): Likewise.
15070         * tests/test-symlink.c (main): Likewise.
15071         * tests/test-symlinkat.c (main): Likewise.
15072         * tests/test-unlink.c (main): Likewise.
15073         * tests/test-unlinkat.c (main): Likewise.
15074         * tests/test-utimens.c (main): Likewise.
15075         * tests/test-utimensat.c (main): Likewise.
15076         * modules/areadlink-tests (Depends-on): Add ignore-value.
15077         * modules/areadlink-with-size-tests (Depends-on): Likewise.
15078         * modules/areadlinkat-tests (Depends-on): Likewise.
15079         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
15080         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
15081         * modules/canonicalize-tests (Depends-on): Likewise.
15082         * modules/chown-tests (Depends-on): Likewise.
15083         * modules/fdutimensat-tests (Depends-on): Likewise.
15084         * modules/futimens-tests (Depends-on): Likewise.
15085         * modules/lchown-tests (Depends-on): Likewise.
15086         * modules/link-tests (Depends-on): Likewise.
15087         * modules/linkat-tests (Depends-on): Likewise.
15088         * modules/lstat-tests (Depends-on): Likewise.
15089         * modules/mkdir-tests (Depends-on): Likewise.
15090         * modules/mkfifo-tests (Depends-on): Likewise.
15091         * modules/mkfifoat-tests (Depends-on): Likewise.
15092         * modules/mknod-tests (Depends-on): Likewise.
15093         * modules/openat-tests (Depends-on): Likewise.
15094         * modules/readlink-tests (Depends-on): Likewise.
15095         * modules/remove-tests (Depends-on): Likewise.
15096         * modules/rename-tests (Depends-on): Likewise.
15097         * modules/renameat-tests (Depends-on): Likewise.
15098         * modules/rmdir-tests (Depends-on): Likewise.
15099         * modules/symlink-tests (Depends-on): Likewise.
15100         * modules/symlinkat-tests (Depends-on): Likewise.
15101         * modules/unlink-tests (Depends-on): Likewise.
15102         * modules/utimens-tests (Depends-on): Likewise.
15103         * modules/utimensat-tests (Depends-on): Likewise.
15104
15105 2010-01-31  Bruno Haible  <bruno@clisp.org>
15106
15107         Perform the same test for many <math.h> functions.
15108         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
15109         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
15110         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
15111         of gl_MATHFUNC.
15112         * modules/acos (configure.ac): Likewise.
15113         * modules/asin (configure.ac): Likewise.
15114         * modules/atan (configure.ac): Likewise.
15115         * modules/atan2 (configure.ac): Likewise.
15116         * modules/cbrt (configure.ac): Likewise.
15117         * modules/copysign (configure.ac): Likewise.
15118         * modules/cos (configure.ac): Likewise.
15119         * modules/cosh (configure.ac): Likewise.
15120         * modules/erf (configure.ac): Likewise.
15121         * modules/erfc (configure.ac): Likewise.
15122         * modules/exp (configure.ac): Likewise.
15123         * modules/fmod (configure.ac): Likewise.
15124         * modules/hypot (configure.ac): Likewise.
15125         * modules/j0 (configure.ac): Likewise.
15126         * modules/j1 (configure.ac): Likewise.
15127         * modules/jn (configure.ac): Likewise.
15128         * modules/lgamma (configure.ac): Likewise.
15129         * modules/log (configure.ac): Likewise.
15130         * modules/log10 (configure.ac): Likewise.
15131         * modules/log1p (configure.ac): Likewise.
15132         * modules/pow (configure.ac): Likewise.
15133         * modules/remainder (configure.ac): Likewise.
15134         * modules/sin (configure.ac): Likewise.
15135         * modules/sinh (configure.ac): Likewise.
15136         * modules/tan (configure.ac): Likewise.
15137         * modules/tanh (configure.ac): Likewise.
15138         * modules/y0 (configure.ac): Likewise.
15139         * modules/y1 (configure.ac): Likewise.
15140         * modules/yn (configure.ac): Likewise.
15141         Suggested by Paolo Bonzini.
15142
15143 2010-01-31  Bruno Haible  <bruno@clisp.org>
15144
15145         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
15146
15147 2010-01-31  Bruno Haible  <bruno@clisp.org>
15148
15149         Work around getdelim() bug on FreeBSD 8.0.
15150         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
15151         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
15152         not work.
15153         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
15154         is 1.
15155         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
15156         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
15157         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
15158         a non-zero size.
15159         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
15160
15161 2010-01-31  Bruno Haible  <bruno@clisp.org>
15162
15163         Work around getline() bug on FreeBSD 8.0.
15164         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
15165         and a non-zero size.
15166         * tests/test-getline.c (main): Likewise.
15167         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
15168         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
15169
15170 2010-01-28  Eric Blake  <ebb9@byu.net>
15171
15172         regex: fix build failure
15173         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
15174         platforms.
15175
15176 2010-01-28  Jim Meyering  <meyering@redhat.com>
15177
15178         regex: do not ignore memory allocation failure
15179         * lib/regex_internal.c (create_cd_newstate): Detect
15180         re_node_set_init_copy failure.   Extracted from glibc commit
15181         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
15182
15183         regex: sync more white-space changes from libc
15184         * lib/regex_internal.c: White-space only changes.
15185         * lib/regexec.c: Likewise.
15186
15187         regex: add many uses of __attribute_warn_unused_result__
15188         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
15189         * lib/regexec.c: Likewise.
15190         Extracted from a messy glibc commit.
15191
15192         regcomp.c: spelling and merge-artifact from glibc
15193         * lib/regcomp.c: Merge remainder of glibc's
15194         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
15195
15196         regcomp.c: sync white-space changes from glibc
15197         * lib/regcomp.c: Merge to accommodate white space
15198         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
15199
15200         regcomp.c: do not ignore internal return values
15201         * lib/regcomp.c: Do not ignore internal return values.
15202         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
15203         but without its white-space changes and spelling fixes.
15204
15205         regex_internal.h: define __attribute_warn_unused_result__
15206         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
15207
15208         maint: add a syntax-check rule to check for vulnerable Makefile.in
15209         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
15210
15211 2010-01-27  Jim Meyering  <meyering@redhat.com>
15212
15213         ncftpput-ftp: clean up spaces
15214         * build-aux/ncftpput-ftp: Make Copyright line consistent.
15215         Remove trailing blanks.
15216
15217 2010-01-27  Simon Josefsson  <simon@josefsson.org>
15218
15219         * build-aux/git-version-gen: Fix copyright statement.
15220         * build-aux/gnupload: Likewise.
15221         * tests/test-arcfour.c: Likewise.
15222         * tests/test-arctwo.c: Likewise.
15223         * tests/test-count-one-bits.c: Likewise.
15224         * tests/test-crc.c: Likewise.
15225         * tests/test-des.c: Likewise.
15226         * tests/test-gc-arcfour.c: Likewise.
15227         * tests/test-gc-arctwo.c: Likewise.
15228         * tests/test-gc-des.c: Likewise.
15229         * tests/test-gc-hmac-md5.c: Likewise.
15230         * tests/test-gc-hmac-sha1.c: Likewise.
15231         * tests/test-gc-md2.c: Likewise.
15232         * tests/test-gc-md4.c: Likewise.
15233         * tests/test-gc-md5.c: Likewise.
15234         * tests/test-gc-pbkdf2-sha1.c: Likewise.
15235         * tests/test-gc-rijndael.c: Likewise.
15236         * tests/test-gc-sha1.c: Likewise.
15237         * tests/test-gc.c: Likewise.
15238         * tests/test-gethostname.c: Likewise.
15239         * tests/test-gettimeofday.c: Likewise.
15240         * tests/test-hash.c: Likewise.
15241         * tests/test-hmac-md5.c: Likewise.
15242         * tests/test-hmac-sha1.c: Likewise.
15243         * tests/test-md2.c: Likewise.
15244         * tests/test-md4.c: Likewise.
15245         * tests/test-md5.c: Likewise.
15246         * tests/test-memchr.c: Likewise.
15247         * tests/test-memchr2.c: Likewise.
15248         * tests/test-memcmp.c: Likewise.
15249         * tests/test-memmem.c: Likewise.
15250         * tests/test-memrchr.c: Likewise.
15251         * tests/test-rawmemchr.c: Likewise.
15252         * tests/test-read-file.c: Likewise.
15253         * tests/test-rijndael.c: Likewise.
15254         * tests/test-sockets.c: Likewise.
15255         * tests/test-strchrnul.c: Likewise.
15256         * tests/test-strstr.c: Likewise.
15257         * tests/test-strtod.c: Likewise.
15258         * build-aux/ncftpput-ftp: Likewise.
15259
15260 2010-01-26  Eric Blake  <ebb9@byu.net>
15261
15262         ignore-value: update recommended header name
15263         * modules/ignore-value (Include): Only use <> for headers that
15264         exist in glibc.
15265
15266 2010-01-26  Jim Meyering  <meyering@redhat.com>
15267
15268         test-userspec.c: avoid compiler warnings
15269         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
15270         and "initialization discards qualifiers..." warnings.
15271         Put the first "uid" in its own scope, and make char* members "const".
15272
15273 2010-01-25  Bruno Haible  <bruno@clisp.org>
15274
15275         gnulib-tool: Make warning diagnostics consistent.
15276         * gnulib-tool (func_warning): New function.
15277         Use it everywhere where gnulib-tool produces output to stderr and it is
15278         not a fatal error.
15279
15280 2010-01-25  Bruno Haible  <bruno@clisp.org>
15281
15282         Fix test dependencies.
15283         * modules/xstrtol-tests (Depends-on): Add inttypes.
15284         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
15285
15286 2010-01-25 Pádraig Brady <P@draigBrady.com>
15287
15288         syntax-check: detect incorrect boolean macro values in config.h
15289         * modules/maintainer-makefile (configure.ac): Parameterize the location
15290         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
15291         The logic is from Eric Blake and the location indicated by Jim Meyering.
15292         Note the more natural CONFIG_HEADER name is prohibited by automake
15293         for backwards compatibility reasons.
15294         * top/maint.mk (sc_Wundef_boolean): New rule.
15295
15296 2010-01-25  Jim Meyering  <meyering@redhat.com>
15297
15298         bootstrap: detect MacOS 10.6's shasum, too
15299         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
15300         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
15301
15302 2010-01-23  Jim Meyering  <meyering@redhat.com>
15303
15304         xstrtoll: new module
15305         * modules/xstrtoll: New file.
15306         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
15307         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
15308         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
15309         ./configure fails if you use this module and lack "long long".
15310         * modules/xstrtoll-tests: New module.
15311         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
15312         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
15313         new init.sh-based test framework.
15314
15315 2010-01-24  Bruno Haible  <bruno@clisp.org>
15316
15317         Tests for module 'yn'.
15318         * modules/yn-tests: New file.
15319         * tests/test-yn.c: New file.
15320
15321         Tests for module 'y1'.
15322         * modules/y1-tests: New file.
15323         * tests/test-y1.c: New file.
15324
15325         Tests for module 'y0'.
15326         * modules/y0-tests: New file.
15327         * tests/test-y0.c: New file.
15328
15329         Tests for module 'tanh'.
15330         * modules/tanh-tests: New file.
15331         * tests/test-tanh.c: New file.
15332
15333         Tests for module 'tan'.
15334         * modules/tan-tests: New file.
15335         * tests/test-tan.c: New file.
15336
15337         Tests for module 'sqrt'.
15338         * modules/sqrt-tests: New file.
15339         * tests/test-sqrt.c: New file.
15340
15341         Tests for module 'sinh'.
15342         * modules/sinh-tests: New file.
15343         * tests/test-sinh.c: New file.
15344
15345         Tests for module 'sin'.
15346         * modules/sin-tests: New file.
15347         * tests/test-sin.c: New file.
15348
15349         Tests for module 'rint'.
15350         * modules/rint-tests: New file.
15351         * tests/test-rint.c: New file.
15352
15353         Tests for module 'remainder'.
15354         * modules/remainder-tests: New file.
15355         * tests/test-remainder.c: New file.
15356
15357         Tests for module 'pow'.
15358         * modules/pow-tests: New file.
15359         * tests/test-pow.c: New file.
15360
15361         Tests for module 'nextafter'.
15362         * modules/nextafter-tests: New file.
15363         * tests/test-nextafter.c: New file.
15364
15365         Tests for module 'modf'.
15366         * modules/modf-tests: New file.
15367         * tests/test-modf.c: New file.
15368
15369         Tests for module 'logb'.
15370         * modules/logb-tests: New file.
15371         * tests/test-logb.c: New file.
15372
15373         Tests for module 'log1p'.
15374         * modules/log1p-tests: New file.
15375         * tests/test-log1p.c: New file.
15376
15377         Tests for module 'log10'.
15378         * modules/log10-tests: New file.
15379         * tests/test-log10.c: New file.
15380
15381         Tests for module 'log'.
15382         * modules/log-tests: New file.
15383         * tests/test-log.c: New file.
15384
15385         Tests for module 'lgamma'.
15386         * modules/lgamma-tests: New file.
15387         * tests/test-lgamma.c: New file.
15388
15389         Tests for module 'ldexp'.
15390         * modules/ldexp-tests: New file.
15391         * tests/test-ldexp.c: New file.
15392
15393         Tests for module 'jn'.
15394         * modules/jn-tests: New file.
15395         * tests/test-jn.c: New file.
15396
15397         Tests for module 'j1'.
15398         * modules/j1-tests: New file.
15399         * tests/test-j1.c: New file.
15400
15401         Tests for module 'j0'.
15402         * modules/j0-tests: New file.
15403         * tests/test-j0.c: New file.
15404
15405         Tests for module 'hypot'.
15406         * modules/hypot-tests: New file.
15407         * tests/test-hypot.c: New file.
15408
15409         Tests for module 'fmod'.
15410         * modules/fmod-tests: New file.
15411         * tests/test-fmod.c: New file.
15412
15413         Tests for module 'fabs'.
15414         * modules/fabs-tests: New file.
15415         * tests/test-fabs.c: New file.
15416
15417         Tests for module 'exp'.
15418         * modules/exp-tests: New file.
15419         * tests/test-exp.c: New file.
15420
15421         Tests for module 'erfc'.
15422         * modules/erfc-tests: New file.
15423         * tests/test-erfc.c: New file.
15424
15425         Tests for module 'erf'.
15426         * modules/erf-tests: New file.
15427         * tests/test-erf.c: New file.
15428
15429         Tests for module 'cosh'.
15430         * modules/cosh-tests: New file.
15431         * tests/test-cosh.c: New file.
15432
15433         Tests for module 'cos'.
15434         * modules/cos-tests: New file.
15435         * tests/test-cos.c: New file.
15436
15437         Tests for module 'copysign'.
15438         * modules/copysign-tests: New file.
15439         * tests/test-copysign.c: New file.
15440
15441         Tests for module 'cbrt'.
15442         * modules/cbrt-tests: New file.
15443         * tests/test-cbrt.c: New file.
15444
15445         Tests for module 'atan2'.
15446         * modules/atan2-tests: New file.
15447         * tests/test-atan2.c: New file.
15448
15449         Tests for module 'atan'.
15450         * modules/atan-tests: New file.
15451         * tests/test-atan.c: New file.
15452
15453         Tests for module 'asin'.
15454         * modules/asin-tests: New file.
15455         * tests/test-asin.c: New file.
15456
15457         Tests for module 'acos'.
15458         * modules/acos-tests: New file.
15459         * tests/test-acos.c: New file.
15460
15461 2010-01-24  Bruno Haible  <bruno@clisp.org>
15462
15463         Fix tests for common <math.h> functions.
15464         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
15465         code snippet that references the function pointer, rather than merely
15466         calling the function. Substitute the FUNC_LIBM variable.
15467         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
15468         * modules/acos (configure.ac): Likewise.
15469         * modules/asin (configure.ac): Likewise.
15470         * modules/atan (configure.ac): Likewise.
15471         * modules/atan2 (configure.ac): Likewise.
15472         * modules/cbrt (configure.ac): Likewise.
15473         * modules/copysign (configure.ac): Likewise.
15474         * modules/cos (configure.ac): Likewise.
15475         * modules/cosh (configure.ac): Likewise.
15476         * modules/erf (configure.ac): Likewise.
15477         * modules/erfc (configure.ac): Likewise.
15478         * modules/exp (configure.ac): Likewise.
15479         * modules/fabs (configure.ac): Likewise.
15480         * modules/fmod (configure.ac): Likewise.
15481         * modules/hypot (configure.ac): Likewise.
15482         * modules/j0 (configure.ac): Likewise.
15483         * modules/j1 (configure.ac): Likewise.
15484         * modules/jn (configure.ac): Likewise.
15485         * modules/ldexp (configure.ac): Likewise.
15486         * modules/lgamma (configure.ac): Likewise.
15487         * modules/log (configure.ac): Likewise.
15488         * modules/log10 (configure.ac): Likewise.
15489         * modules/log1p (configure.ac): Likewise.
15490         * modules/logb (configure.ac): Likewise.
15491         * modules/modf (configure.ac): Likewise.
15492         * modules/nextafter (configure.ac): Likewise.
15493         * modules/pow (configure.ac): Likewise.
15494         * modules/remainder (configure.ac): Likewise.
15495         * modules/rint (configure.ac): Likewise.
15496         * modules/sin (configure.ac): Likewise.
15497         * modules/sinh (configure.ac): Likewise.
15498         * modules/tan (configure.ac): Likewise.
15499         * modules/tanh (configure.ac): Likewise.
15500         * modules/y0 (configure.ac): Likewise.
15501         * modules/y1 (configure.ac): Likewise.
15502         * modules/yn (configure.ac): Likewise.
15503
15504 2010-01-24  Bruno Haible  <bruno@clisp.org>
15505
15506         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
15507         * tests/test-acosl.c (x): New variable.
15508         (main): Store argument in x and fetch it from x.
15509         * tests/test-asinl.c (x): New variable.
15510         (main): Store argument in x and fetch it from x.
15511         * tests/test-atanl.c (x): New variable.
15512         (main): Store argument in x and fetch it from x.
15513         * tests/test-cosl.c (x): New variable.
15514         (main): Store argument in x and fetch it from x.
15515         * tests/test-expl.c (x): New variable.
15516         (main): Store argument in x and fetch it from x.
15517         * tests/test-logl.c (x): New variable.
15518         (main): Store argument in x and fetch it from x.
15519         * tests/test-sinl.c (x): New variable.
15520         (main): Store argument in x and fetch it from x.
15521         * tests/test-sqrtl.c (x): New variable.
15522         (main): Store argument in x and fetch it from x.
15523         * tests/test-tanl.c (x): New variable.
15524         (main): Store argument in x and fetch it from x.
15525
15526 2010-01-24  Bruno Haible  <bruno@clisp.org>
15527
15528         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
15529         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
15530         assignments to the initial TESTS_ENVIRONMENT.
15531         * doc/gnulib.texi (Unit test modules): Document it.
15532         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
15533         TESTS_ENVIRONMENT.
15534         * modules/btowc-tests (Makefile.am): Likewise.
15535         * modules/c-stack-tests (Makefile.am): Likewise.
15536         * modules/c-strcase-tests (Makefile.am): Likewise.
15537         * modules/copy-file-tests (Makefile.am): Likewise.
15538         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
15539         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
15540         * modules/mbrtowc-tests (Makefile.am): Likewise.
15541         * modules/mbscasecmp-tests (Makefile.am): Likewise.
15542         * modules/mbscasestr-tests (Makefile.am): Likewise.
15543         * modules/mbschr-tests (Makefile.am): Likewise.
15544         * modules/mbscspn-tests (Makefile.am): Likewise.
15545         * modules/mbsinit-tests (Makefile.am): Likewise.
15546         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
15547         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
15548         * modules/mbspbrk-tests (Makefile.am): Likewise.
15549         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
15550         * modules/mbsrchr-tests (Makefile.am): Likewise.
15551         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
15552         * modules/mbsspn-tests (Makefile.am): Likewise.
15553         * modules/mbsstr-tests (Makefile.am): Likewise.
15554         * modules/nl_langinfo-tests (Makefile.am): Likewise.
15555         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
15556         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
15557         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
15558         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
15559         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
15560         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
15561         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
15562         * modules/wcrtomb-tests (Makefile.am): Likewise.
15563         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
15564         * modules/wcsrtombs-tests (Makefile.am): Likewise.
15565         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
15566         assignments from TESTS_ENVIRONMENT.
15567         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
15568         augmentation.
15569         * modules/argp-version-etc-tests (Makefile.am): Likewise.
15570         * modules/atexit-tests (Makefile.am): Likewise.
15571         * modules/binary-io-tests (Makefile.am): Likewise.
15572         * modules/closein-tests (Makefile.am): Likewise.
15573         * modules/dprintf-posix-tests (Makefile.am): Likewise.
15574         * modules/exclude-tests (Makefile.am): Likewise.
15575         * modules/fflush-tests (Makefile.am): Likewise.
15576         * modules/fpending-tests (Makefile.am): Likewise.
15577         * modules/fprintf-posix-tests (Makefile.am): Likewise.
15578         * modules/freadahead-tests (Makefile.am): Likewise.
15579         * modules/freadptr-tests (Makefile.am): Likewise.
15580         * modules/freadseek-tests (Makefile.am): Likewise.
15581         * modules/fseek-tests (Makefile.am): Likewise.
15582         * modules/fseeko-tests (Makefile.am): Likewise.
15583         * modules/ftell-tests (Makefile.am): Likewise.
15584         * modules/ftello-tests (Makefile.am): Likewise.
15585         * modules/idpriv-drop-tests (Makefile.am): Likewise.
15586         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
15587         * modules/lseek-tests (Makefile.am): Likewise.
15588         * modules/parse-duration-tests (Makefile.am): Likewise.
15589         * modules/perror-tests (Makefile.am): Likewise.
15590         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
15591         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
15592         * modules/pipe-tests (Makefile.am): Likewise.
15593         * modules/pread-tests (Makefile.am): Likewise.
15594         * modules/printf-posix-tests (Makefile.am): Likewise.
15595         * modules/select-tests (Makefile.am): Likewise.
15596         * modules/sigpipe-tests (Makefile.am): Likewise.
15597         * modules/tsearch-tests (Makefile.am): Likewise.
15598         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
15599         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
15600         * modules/uniname/uniname-tests (Makefile.am): Likewise.
15601         * modules/uniwidth/width-tests (Makefile.am): Likewise.
15602         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
15603         * modules/version-etc-tests (Makefile.am): Likewise.
15604         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
15605         * modules/vprintf-posix-tests (Makefile.am): Likewise.
15606         * modules/xalloc-die-tests (Makefile.am): Likewise.
15607         * modules/xprintf-posix-tests (Makefile.am): Likewise.
15608         * modules/xstrtoimax-tests (Makefile.am): Likewise.
15609         * modules/xstrtol-tests (Makefile.am): Likewise.
15610         * modules/xstrtoumax-tests (Makefile.am): Likewise.
15611         * modules/yesno-tests (Makefile.am): Likewise.
15612         Suggested by Jim Meyering.
15613
15614 2010-01-24  Bruno Haible  <bruno@clisp.org>
15615
15616         More documentation.
15617         * doc/gnulib.texi (Writing modules): New chapter.
15618         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
15619         the new chapter.
15620
15621 2010-01-24  Jim Meyering  <meyering@redhat.com>
15622
15623         maint.mk: do not prepend "./" after filtering
15624         * top/maint.mk (_prepend_srcdir_prefix): New variable
15625         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
15626         "./" when $(srcdir) is ".".
15627
15628         define STREQ(a,b) consistently, removing useless parentheses
15629         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
15630         since the only risk is that "a" or "b" contains an unparenthesized
15631         comma, but if either did that, STREQ would have 3 or more arguments.
15632         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
15633         * lib/fts.c (STREQ): Remove unnecessary parentheses.
15634         * lib/hash-triple.c (STREQ): Likewise.
15635         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
15636         * lib/getugroups.c (STREQ): Likewise.
15637
15638 2010-01-23  Jim Meyering  <meyering@redhat.com>
15639
15640         maint.mk: fix syntax-check in a non-srcdir build directory
15641         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
15642         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
15643
15644 2010-01-22  Jim Meyering  <meyering@redhat.com>
15645
15646         userspec: add unit tests
15647         * tests/test-userspec.c: New file.
15648         * modules/userspec-tests: Likewise.
15649
15650 2010-01-21  Jim Meyering  <meyering@redhat.com>
15651
15652         maint.mk: handle source file names containing "." robustly
15653         * top/maint.mk (_dot_escaped_srcdir): Define.
15654         (VC_LIST): Use it in LHS of sed substitution.
15655
15656 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
15657
15658         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
15659         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
15660         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
15661         from a non-srcdir build.
15662
15663 2010-01-20  Eric Blake  <ebb9@byu.net>
15664
15665         warn-on-use: use instead of link-warning
15666         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
15667         * modules/unistd (Depends-on, Makefile.am): Likewise.
15668         * modules/arpa_inet (Depends-on): Replace link-warning with
15669         warn-on-use.
15670         (Makefile.am): Update rules accordingly.
15671         * modules/ctype (Depends-on, Makefile.am): Likewise.
15672         * modules/dirent (Depends-on, Makefile.am): Likewise.
15673         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
15674         * modules/inttypes (Depends-on, Makefile.am): Likewise.
15675         * modules/langinfo (Depends-on, Makefile.am): Likewise.
15676         * modules/locale (Depends-on, Makefile.am): Likewise.
15677         * modules/math (Depends-on, Makefile.am): Likewise.
15678         * modules/search (Depends-on, Makefile.am): Likewise.
15679         * modules/signal (Depends-on, Makefile.am): Likewise.
15680         * modules/spawn (Depends-on, Makefile.am): Likewise.
15681         * modules/stdlib (Depends-on, Makefile.am): Likewise.
15682         * modules/string (Depends-on, Makefile.am): Likewise.
15683         * modules/strings (Depends-on, Makefile.am): Likewise.
15684         * modules/sys_file (Depends-on, Makefile.am): Likewise.
15685         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
15686         * modules/sys_select (Depends-on, Makefile.am): Likewise.
15687         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
15688         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
15689         * modules/sys_times (Depends-on, Makefile.am): Likewise.
15690         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
15691         * modules/wchar (Depends-on, Makefile.am): Likewise.
15692         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
15693         should be poisoned.
15694         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
15695         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
15696         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
15697         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
15698         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
15699         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
15700         * m4/math_h.m4 (gl_MATH_H): Likewise.
15701         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
15702         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
15703         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
15704         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
15705         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
15706         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
15707         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
15708         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
15709         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
15710         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
15711         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
15712         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
15713         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
15714         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
15715         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
15716         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
15717         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
15718         GL_LINK_WARNING.
15719         * lib/ctype.in.h: Likewise.
15720         * lib/dirent.in.h: Likewise.
15721         * lib/fcntl.in.h: Likewise.
15722         * lib/inttypes.in.h: Likewise.
15723         * lib/langinfo.in.h: Likewise.
15724         * lib/locale.in.h: Likewise.
15725         * lib/math.in.h: Likewise.
15726         * lib/search.in.h: Likewise.
15727         * lib/signal.in.h: Likewise.
15728         * lib/spawn.in.h: Likewise.
15729         * lib/stdio.in.h: Likewise.
15730         * lib/stdlib.in.h: Likewise.
15731         * lib/string.in.h: Likewise.
15732         * lib/strings.in.h: Likewise.
15733         * lib/sys_file.in.h: Likewise.
15734         * lib/sys_ioctl.in.h: Likewise.
15735         * lib/sys_select.in.h: Likewise.
15736         * lib/sys_socket.in.h: Likewise.
15737         * lib/sys_stat.in.h: Likewise.
15738         * lib/sys_times.in.h: Likewise.
15739         * lib/sys_utsname.in.h: Likewise.
15740         * lib/unistd.in.h: Likewise.
15741         * lib/wchar.in.h: Likewise.
15742
15743 2010-01-20  Bruno Haible  <bruno@clisp.org>
15744
15745         Avoid duplicate -lm.
15746         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
15747         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
15748         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
15749         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
15750         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
15751         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
15752         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
15753         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
15754         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
15755         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
15756         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
15757         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
15758         Reported by Paolo Bonzini.
15759
15760 2010-01-19  Bruno Haible  <bruno@clisp.org>
15761
15762         langinfo, nl_langinfo: Relicense under LGPLv2+.
15763         * modules/langinfo (License): Change to LGPLv2+.
15764         * modules/nl_langinfo (License): Likewise.
15765         Patch by David Lutterkort <lutter@redhat.com>.
15766
15767 2010-01-19  Bruno Haible  <bruno@clisp.org>
15768
15769         Avoid compilation error with cc on OSF/1 5.1.
15770         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
15771         statement, not before.
15772         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15773
15774 2010-01-18  Bruno Haible  <bruno@clisp.org>
15775
15776         Avoid a link error due to the __printf__ symbol.
15777         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
15778         and 2.6.x.
15779         (__format__, __printf__): Remove definitions.
15780         * lib/argp-fmtstream.h: Likewise.
15781         * lib/argp.h: Likewise.
15782         * lib/error.h: Likewise.
15783         * lib/vasnprintf.h: Likewise.
15784         * lib/xprintf.h: Likewise.
15785         * lib/xvasprintf.h: Likewise.
15786         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15787
15788 2010-01-18  Bruno Haible  <bruno@clisp.org>
15789
15790         Tests for module 'tanl'.
15791         * modules/tanl-tests: New file.
15792         * tests/test-tanl.c: New file.
15793
15794         Tests for module 'sqrtl'.
15795         * modules/sqrtl-tests: New file.
15796         * tests/test-sqrtl.c: New file.
15797
15798         Tests for module 'sinl'.
15799         * modules/sinl-tests: New file.
15800         * tests/test-sinl.c: New file.
15801
15802         Tests for module 'logl'.
15803         * modules/logl-tests: New file.
15804         * tests/test-logl.c: New file.
15805
15806         Tests for module 'expl'.
15807         * modules/expl-tests: New file.
15808         * tests/test-expl.c: New file.
15809
15810         Tests for module 'cosl'.
15811         * modules/cosl-tests: New file.
15812         * tests/test-cosl.c: New file.
15813
15814         Tests for module 'atanl'.
15815         * modules/atanl-tests: New file.
15816         * tests/test-atanl.c: New file.
15817
15818         Tests for module 'asinl'.
15819         * modules/asinl-tests: New file.
15820         * tests/test-asinl.c: New file.
15821
15822         Tests for module 'acosl'.
15823         * modules/acosl-tests: New file.
15824         * tests/test-acosl.c: New file.
15825
15826         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
15827         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
15828         tanl): Use the standard gnulib idiom.
15829         * lib/cosl.c: Don't include trigl.c and sincosl.c.
15830         * lib/sinl.c: Likewise.
15831         * lib/tanl.c: Don't include trigl.c.
15832         (kernel_tanl): Make static.
15833         * lib/sincosl.c: Include trigl.h first.
15834         * lib/trigl.c: Likewise.
15835         * m4/acosl.m4: New file.
15836         * m4/asinl.m4: New file.
15837         * m4/atanl.m4: New file.
15838         * m4/cosl.m4: New file.
15839         * m4/expl.m4: New file.
15840         * m4/logl.m4: New file.
15841         * m4/sinl.m4: New file.
15842         * m4/sqrtl.m4: New file.
15843         * m4/tanl.m4: New file.
15844         * m4/mathl.m4: Remove file.
15845         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
15846         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
15847         Don't initialize GNULIB_MATHL.
15848         * modules/acosl: New file.
15849         * modules/asinl: New file.
15850         * modules/atanl: New file.
15851         * modules/cosl: New file.
15852         * modules/expl: New file.
15853         * modules/logl: New file.
15854         * modules/sinl: New file.
15855         * modules/sqrtl: New file.
15856         * modules/tanl: New file.
15857         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
15858         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
15859         substitute GNULIB_MATHL.
15860         * modules/mathl: Rewritten.
15861         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
15862         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
15863         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
15864         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
15865         * doc/posix-functions/expl.texi: Mention the 'expl' module.
15866         * doc/posix-functions/logl.texi: Mention the 'logl' module.
15867         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
15868         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
15869         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
15870
15871 2010-01-18  Bruno Haible  <bruno@clisp.org>
15872
15873         sqrt: Make gl_FUNC_SQRT requirable.
15874         * m4/sqrt.m4: New file.
15875         * modules/sqrt (Files): Add it.
15876         (configure.ac): Invoke gl_FUNC_SQRT.
15877
15878 2010-01-18  Bruno Haible  <bruno@clisp.org>
15879
15880         New modules for common <math.h> functions.
15881         * m4/mathfunc.m4: New file.
15882         * modules/acos: New file.
15883         * modules/asin: New file.
15884         * modules/atan: New file.
15885         * modules/atan2: New file.
15886         * modules/cbrt: New file.
15887         * modules/copysign: New file.
15888         * modules/cos: New file.
15889         * modules/cosh: New file.
15890         * modules/erf: New file.
15891         * modules/erfc: New file.
15892         * modules/exp: New file.
15893         * modules/fabs: New file.
15894         * modules/fmod: New file.
15895         * modules/hypot: New file.
15896         * modules/j0: New file.
15897         * modules/j1: New file.
15898         * modules/jn: New file.
15899         * modules/ldexp: New file.
15900         * modules/lgamma: New file.
15901         * modules/log: New file.
15902         * modules/log10: New file.
15903         * modules/log1p: New file.
15904         * modules/logb: New file.
15905         * modules/modf: New file.
15906         * modules/nextafter: New file.
15907         * modules/pow: New file.
15908         * modules/remainder: New file.
15909         * modules/rint: New file.
15910         * modules/sin: New file.
15911         * modules/sinh: New file.
15912         * modules/sqrt: New file.
15913         * modules/tan: New file.
15914         * modules/tanh: New file.
15915         * modules/y0: New file.
15916         * modules/y1: New file.
15917         * modules/yn: New file.
15918         * doc/posix-functions/acos.texi: Mention the 'acos' module.
15919         * doc/posix-functions/asin.texi: Mention the 'asin' module.
15920         * doc/posix-functions/atan.texi: Mention the 'atan' module.
15921         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
15922         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
15923         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
15924         * doc/posix-functions/cos.texi: Mention the 'cos' module.
15925         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
15926         * doc/posix-functions/erf.texi: Mention the 'erf' module.
15927         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
15928         * doc/posix-functions/exp.texi: Mention the 'exp' module.
15929         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
15930         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
15931         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
15932         * doc/posix-functions/j0.texi: Mention the 'j0' module.
15933         * doc/posix-functions/j1.texi: Mention the 'j1' module.
15934         * doc/posix-functions/jn.texi: Mention the 'jn' module.
15935         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
15936         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
15937         * doc/posix-functions/log.texi: Mention the 'log' module.
15938         * doc/posix-functions/log10.texi: Mention the 'log10' module.
15939         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
15940         * doc/posix-functions/logb.texi: Mention the 'logb' module.
15941         * doc/posix-functions/modf.texi: Mention the 'modf' module.
15942         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
15943         * doc/posix-functions/pow.texi: Mention the 'pow' module.
15944         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
15945         * doc/posix-functions/rint.texi: Mention the 'rint' module.
15946         * doc/posix-functions/sin.texi: Mention the 'sin' module.
15947         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
15948         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
15949         * doc/posix-functions/tan.texi: Mention the 'tan' module.
15950         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
15951         * doc/posix-functions/y0.texi: Mention the 'y0' module.
15952         * doc/posix-functions/y1.texi: Mention the 'y1' module.
15953         * doc/posix-functions/yn.texi: Mention the 'yn' module.
15954
15955 2010-01-18  Jim Meyering  <meyering@redhat.com>
15956
15957         ignore-value: relax license to LGPLv2+
15958         * modules/ignore-value (License): Relax to LGPLv2+.
15959
15960         getdate: don't leak when TZ contains two or more '"'s
15961         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
15962         double quote in TZ after the first one.
15963
15964         readtokens: do not leak internal token_lengths buffer
15965         * lib/readtokens.c (readtokens): Free the local, lengths,
15966         when the supplied "token_lengths" parameter is NULL.
15967
15968 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15969
15970         Fix a couple of missing LIBTHREAD link failures on AIX.
15971         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
15972         $(LIBTHREAD).
15973         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
15974
15975         Link test-poll against INET_PTON_LIB.
15976         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
15977         for inet_pton on Solaris 10.
15978
15979 2010-01-17  Bruno Haible  <bruno@clisp.org>
15980
15981         unistdio/*-sprintf: Fix typo in module description.
15982         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
15983         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
15984         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
15985         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
15986         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
15987         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
15988         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
15989         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15990
15991 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15992
15993         gnulib-tool: fix filelist for AIX, HP-UX ksh.
15994         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
15995         variables in shell case patterns, for AIX and HP-UX ksh.
15996
15997         Split large sed scripts, for HP-UX sed.
15998         * modules/stdio: Split sed scripts around 50 sed commands,
15999         to avoid HP-UX limit of 99 commands, in the near future.
16000         * modules/string: Likewise.
16001         * modules/unistd: Likewise.
16002
16003         gnulib-tool: avoid writing in the current directory.
16004         * gnulib-tool (func_emit_lib_Makefile_am)
16005         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
16006         not in the current directory, so concurrent gnulib-tool
16007         instances do not interfere.
16008
16009 2010-01-16  Jim Meyering  <meyering@redhat.com>
16010
16011         doc: update users.txt
16012         * users.txt: Add grep.
16013         (diffutils, gzip): Update URLs.
16014
16015 2010-01-12  Bruno Haible  <bruno@clisp.org>
16016
16017         posix_spawn: Avoid test failure on Cygwin.
16018         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
16019         characters.
16020         Reported by Simon Josefsson.
16021
16022 2010-01-12  Bruno Haible  <bruno@clisp.org>
16023
16024         * tests/test-cond.c (main): When skipping the test, show the reason.
16025
16026 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16027
16028         * lib/striconv.c (str_cd_iconv): Avoid if before free.
16029
16030 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16031
16032         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
16033         VC_LIST_ALWAYS_EXCLUDE_REGEX.
16034
16035 2010-01-12  Eric Blake  <ebb9@byu.net>
16036
16037         build: guarantee AS_VAR_IF
16038         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
16039         (gl_AS_VAR_IF): Move...
16040         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
16041         Reported by Simon Josefsson.
16042
16043 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16044
16045         * lib/stdio.in.h: Fix typo.
16046
16047 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16048
16049         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
16050         libgpg-error.
16051
16052 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16053
16054         * tests/test-xalloc-die.sh: Use $EXEEXT.
16055
16056 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16057             Bruno Haible  <bruno@clisp.org>
16058
16059         getlogin, getlogin_r: Avoid test failure.
16060         * tests/test-getlogin.c: Include <stdio.h>.
16061         (main): Skip the test when the function fails because stdin is not a
16062         tty.
16063         * tests/test-getlogin_r.c: Include <stdio.h>.
16064         (main): Skip the test when the function fails because stdin is not a
16065         tty.
16066
16067 2010-01-11  Eric Blake  <ebb9@byu.net>
16068
16069         tests: avoid more large file warnings
16070         * tests/test-fflush.c: Avoid warning about ftell use.
16071         * tests/test-fseek.c: Avoid warning about fseek use.
16072
16073 2010-01-10  Bruno Haible  <bruno@clisp.org>
16074
16075         nproc: Work better on Linux when /proc and /sys are not mounted.
16076         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
16077         as lower bound when, on glibc/Linux systems,
16078         sysconf (_SC_NPROCESSORS_CONF) returns 1.
16079         Suggested by Pádraig Brady <P@draigbrady.com>.
16080         Reported by Dmitry V. Levin <ldv@altlinux.org>.
16081
16082         nproc: Refactor.
16083         * lib/nproc.c (num_processors_via_affinity_mask): New function,
16084         extracted from num_processors.
16085         (num_processors): Call it.
16086
16087 2010-01-11  Jim Meyering  <meyering@redhat.com>
16088
16089         utimecmp: avoid new warning from upcoming gcc-4.5.0
16090         * lib/utimecmp.c (BILLION): Define using #define rather than an
16091         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
16092
16093 2010-01-11  Eric Blake  <ebb9@byu.net>
16094
16095         math: add portability warnings for classification macros
16096         * modules/math (Depends-on): Add warn-on-use.
16097         (Makefile.am): Provide new substitutions.
16098         * m4/math_h.m4 (gl_MATH_H): Require inline.
16099         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
16100         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
16101         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
16102         implement warnings.
16103
16104         unistd: warn on use of environ without module
16105         * modules/unistd (Depends-on): Add warn-on-use.
16106         (Makefile.am): Provide new substitutions.
16107         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
16108         * lib/unistd.in.h (environ): Wrap with a warning helper function.
16109
16110         stdio: warn on suspicious uses
16111         * modules/stdio (Depends-on): Add warn-on-use.
16112         (Makefile.am): Provide new substitutions.
16113         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
16114         fseeko.
16115         * lib/stdio.in.h (gets): Always warn on use.
16116         (fseek, ftell): Adjust when warnings are issued, and honor
16117         _GL_NO_LARGE_FILES as a way to silence the warning.
16118         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
16119         any warning about large file offsets.
16120         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
16121         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
16122         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
16123         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
16124         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
16125         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
16126         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
16127         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
16128
16129         warn-on-use: new module
16130         * modules/warn-on-use: New file.
16131         * build-aux/warn-on-use.h: Likewise.
16132         * m4/warn-on-use.m4: Likewise.
16133         * MODULES.html.sh (Support for building): Mention it.
16134
16135 2010-01-10  Bruno Haible  <bruno@clisp.org>
16136
16137         Tests for module 'unistr/u32-strdup'.
16138         * modules/unistr/u32-strdup-tests: New file.
16139         * tests/unistr/test-u32-strdup.c: New file.
16140
16141         Tests for module 'unistr/u16-strdup'.
16142         * modules/unistr/u16-strdup-tests: New file.
16143         * tests/unistr/test-u16-strdup.c: New file.
16144
16145         Tests for module 'unistr/u8-strdup'.
16146         * modules/unistr/u8-strdup-tests: New file.
16147         * tests/unistr/test-u8-strdup.c: New file.
16148         * tests/unistr/test-strdup.h: New file.
16149
16150         Tests for module 'unistr/u32-strncmp'.
16151         * modules/unistr/u32-strncmp-tests: New file.
16152         * tests/unistr/test-u32-strncmp.c: New file.
16153
16154         Tests for module 'unistr/u16-strncmp'.
16155         * modules/unistr/u16-strncmp-tests: New file.
16156         * tests/unistr/test-u16-strncmp.c: New file.
16157
16158         Tests for module 'unistr/u8-strncmp'.
16159         * modules/unistr/u8-strncmp-tests: New file.
16160         * tests/unistr/test-u8-strncmp.c: New file.
16161         * tests/unistr/test-strncmp.h: New file.
16162
16163         Tests for module 'unistr/u32-strcoll'.
16164         * modules/unistr/u32-strcoll-tests: New file.
16165         * tests/unistr/test-u32-strcoll.c: New file.
16166
16167         Tests for module 'unistr/u16-strcoll'.
16168         * modules/unistr/u16-strcoll-tests: New file.
16169         * tests/unistr/test-u16-strcoll.c: New file.
16170
16171         Tests for module 'unistr/u8-strcoll'.
16172         * modules/unistr/u8-strcoll-tests: New file.
16173         * tests/unistr/test-u8-strcoll.c: New file.
16174
16175         Tests for module 'unistr/u32-strcmp'.
16176         * modules/unistr/u32-strcmp-tests: New file.
16177         * tests/unistr/test-u32-strcmp.c: New file.
16178         * tests/unistr/test-u32-strcmp.h: New file.
16179
16180         Tests for module 'unistr/u16-strcmp'.
16181         * modules/unistr/u16-strcmp-tests: New file.
16182         * tests/unistr/test-u16-strcmp.c: New file.
16183         * tests/unistr/test-u16-strcmp.h: New file.
16184
16185         Tests for module 'unistr/u8-strcmp'.
16186         * modules/unistr/u8-strcmp-tests: New file.
16187         * tests/unistr/test-u8-strcmp.c: New file.
16188         * tests/unistr/test-u8-strcmp.h: New file.
16189         * tests/unistr/test-strcmp.h: New file.
16190
16191         Tests for module 'unistr/u32-strncat'.
16192         * modules/unistr/u32-strncat-tests: New file.
16193         * tests/unistr/test-u32-strncat.c: New file.
16194
16195         Tests for module 'unistr/u16-strncat'.
16196         * modules/unistr/u16-strncat-tests: New file.
16197         * tests/unistr/test-u16-strncat.c: New file.
16198
16199         Tests for module 'unistr/u8-strncat'.
16200         * modules/unistr/u8-strncat-tests: New file.
16201         * tests/unistr/test-u8-strncat.c: New file.
16202         * tests/unistr/test-strncat.h: New file.
16203
16204         Tests for module 'unistr/u32-strcat'.
16205         * modules/unistr/u32-strcat-tests: New file.
16206         * tests/unistr/test-u32-strcat.c: New file.
16207
16208         Tests for module 'unistr/u16-strcat'.
16209         * modules/unistr/u16-strcat-tests: New file.
16210         * tests/unistr/test-u16-strcat.c: New file.
16211
16212         Tests for module 'unistr/u8-strcat'.
16213         * modules/unistr/u8-strcat-tests: New file.
16214         * tests/unistr/test-u8-strcat.c: New file.
16215         * tests/unistr/test-strcat.h: New file.
16216
16217         Tests for module 'unistr/u32-stpncpy'.
16218         * modules/unistr/u32-stpncpy-tests: New file.
16219         * tests/unistr/test-u32-stpncpy.c: New file.
16220
16221         Tests for module 'unistr/u16-stpncpy'.
16222         * modules/unistr/u16-stpncpy-tests: New file.
16223         * tests/unistr/test-u16-stpncpy.c: New file.
16224
16225         Tests for module 'unistr/u8-stpncpy'.
16226         * modules/unistr/u8-stpncpy-tests: New file.
16227         * tests/unistr/test-u8-stpncpy.c: New file.
16228         * tests/unistr/test-stpncpy.h: New file.
16229
16230         Tests for module 'unistr/u32-strncpy'.
16231         * modules/unistr/u32-strncpy-tests: New file.
16232         * tests/unistr/test-u32-strncpy.c: New file.
16233
16234         Tests for module 'unistr/u16-strncpy'.
16235         * modules/unistr/u16-strncpy-tests: New file.
16236         * tests/unistr/test-u16-strncpy.c: New file.
16237
16238         Tests for module 'unistr/u8-strncpy'.
16239         * modules/unistr/u8-strncpy-tests: New file.
16240         * tests/unistr/test-u8-strncpy.c: New file.
16241         * tests/unistr/test-strncpy.h: New file.
16242
16243         Tests for module 'unistr/u32-stpcpy'.
16244         * modules/unistr/u32-stpcpy-tests: New file.
16245         * tests/unistr/test-u32-stpcpy.c: New file.
16246
16247         Tests for module 'unistr/u16-stpcpy'.
16248         * modules/unistr/u16-stpcpy-tests: New file.
16249         * tests/unistr/test-u16-stpcpy.c: New file.
16250
16251         Tests for module 'unistr/u8-stpcpy'.
16252         * modules/unistr/u8-stpcpy-tests: New file.
16253         * tests/unistr/test-u8-stpcpy.c: New file.
16254         * tests/unistr/test-stpcpy.h: New file.
16255
16256         Tests for module 'unistr/u32-strcpy'.
16257         * modules/unistr/u32-strcpy-tests: New file.
16258         * tests/unistr/test-u32-strcpy.c: New file.
16259
16260         Tests for module 'unistr/u16-strcpy'.
16261         * modules/unistr/u16-strcpy-tests: New file.
16262         * tests/unistr/test-u16-strcpy.c: New file.
16263
16264         Tests for module 'unistr/u8-strcpy'.
16265         * modules/unistr/u8-strcpy-tests: New file.
16266         * tests/unistr/test-u8-strcpy.c: New file.
16267         * tests/unistr/test-strcpy.h: New file.
16268
16269         Tests for module 'unistr/u32-strnlen'.
16270         * modules/unistr/u32-strnlen-tests: New file.
16271         * tests/unistr/test-u32-strnlen.c: New file.
16272
16273         Tests for module 'unistr/u16-strnlen'.
16274         * modules/unistr/u16-strnlen-tests: New file.
16275         * tests/unistr/test-u16-strnlen.c: New file.
16276
16277         Tests for module 'unistr/u8-strnlen'.
16278         * modules/unistr/u8-strnlen-tests: New file.
16279         * tests/unistr/test-u8-strnlen.c: New file.
16280         * tests/unistr/test-strnlen.h: New file.
16281
16282         Tests for module 'unistr/u32-strlen'.
16283         * modules/unistr/u32-strlen-tests: New file.
16284         * tests/unistr/test-u32-strlen.c: New file.
16285
16286         Tests for module 'unistr/u16-strlen'.
16287         * modules/unistr/u16-strlen-tests: New file.
16288         * tests/unistr/test-u16-strlen.c: New file.
16289
16290         Tests for module 'unistr/u8-strlen'.
16291         * modules/unistr/u8-strlen-tests: New file.
16292         * tests/unistr/test-u8-strlen.c: New file.
16293
16294         Tests for module 'unistr/u32-prev'.
16295         * modules/unistr/u32-prev-tests: New file.
16296         * tests/unistr/test-u32-prev.c: New file.
16297
16298         Tests for module 'unistr/u16-prev'.
16299         * modules/unistr/u16-prev-tests: New file.
16300         * tests/unistr/test-u16-prev.c: New file.
16301
16302         Tests for module 'unistr/u8-prev'.
16303         * modules/unistr/u8-prev-tests: New file.
16304         * tests/unistr/test-u8-prev.c: New file.
16305
16306         Tests for module 'unistr/u32-next'.
16307         * modules/unistr/u32-next-tests: New file.
16308         * tests/unistr/test-u32-next.c: New file.
16309
16310         Tests for module 'unistr/u16-next'.
16311         * modules/unistr/u16-next-tests: New file.
16312         * tests/unistr/test-u16-next.c: New file.
16313
16314         Tests for module 'unistr/u8-next'.
16315         * modules/unistr/u8-next-tests: New file.
16316         * tests/unistr/test-u8-next.c: New file.
16317
16318         Tests for module 'unistr/u32-strmbtouc'.
16319         * modules/unistr/u32-strmbtouc-tests: New file.
16320         * tests/unistr/test-u32-strmbtouc.c: New file.
16321
16322         Tests for module 'unistr/u16-strmbtouc'.
16323         * modules/unistr/u16-strmbtouc-tests: New file.
16324         * tests/unistr/test-u16-strmbtouc.c: New file.
16325
16326         Tests for module 'unistr/u8-strmbtouc'.
16327         * modules/unistr/u8-strmbtouc-tests: New file.
16328         * tests/unistr/test-u8-strmbtouc.c: New file.
16329
16330         Tests for module 'unistr/u32-strmblen'.
16331         * modules/unistr/u32-strmblen-tests: New file.
16332         * tests/unistr/test-u32-strmblen.c: New file.
16333
16334         Tests for module 'unistr/u16-strmblen'.
16335         * modules/unistr/u16-strmblen-tests: New file.
16336         * tests/unistr/test-u16-strmblen.c: New file.
16337
16338         Tests for module 'unistr/u8-strmblen'.
16339         * modules/unistr/u8-strmblen-tests: New file.
16340         * tests/unistr/test-u8-strmblen.c: New file.
16341
16342         Tests for module 'unistr/u32-cpy-alloc'.
16343         * modules/unistr/u32-cpy-alloc-tests: New file.
16344         * tests/unistr/test-u32-cpy-alloc.c: New file.
16345
16346         Tests for module 'unistr/u16-cpy-alloc'.
16347         * modules/unistr/u16-cpy-alloc-tests: New file.
16348         * tests/unistr/test-u16-cpy-alloc.c: New file.
16349
16350         Tests for module 'unistr/u8-cpy-alloc'.
16351         * modules/unistr/u8-cpy-alloc-tests: New file.
16352         * tests/unistr/test-u8-cpy-alloc.c: New file.
16353         * tests/unistr/test-cpy-alloc.h: New file.
16354
16355         Tests for module 'unistr/u32-mbsnlen'.
16356         * modules/unistr/u32-mbsnlen-tests: New file.
16357         * tests/unistr/test-u32-mbsnlen.c: New file.
16358
16359         Tests for module 'unistr/u16-mbsnlen'.
16360         * modules/unistr/u16-mbsnlen-tests: New file.
16361         * tests/unistr/test-u16-mbsnlen.c: New file.
16362
16363         Tests for module 'unistr/u8-mbsnlen'.
16364         * modules/unistr/u8-mbsnlen-tests: New file.
16365         * tests/unistr/test-u8-mbsnlen.c: New file.
16366
16367         Tests for module 'unistr/u32-chr'.
16368         * modules/unistr/u32-chr-tests: New file.
16369         * tests/unistr/test-u32-chr.c: New file.
16370
16371         Tests for module 'unistr/u16-chr'.
16372         * modules/unistr/u16-chr-tests: New file.
16373         * tests/unistr/test-u16-chr.c: New file.
16374
16375         Tests for module 'unistr/u8-chr'.
16376         * modules/unistr/u8-chr-tests: New file.
16377         * tests/unistr/test-u8-chr.c: New file.
16378         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
16379
16380         Tests for module 'unistr/u32-cmp2'.
16381         * modules/unistr/u32-cmp2-tests: New file.
16382         * tests/unistr/test-u32-cmp2.c: New file.
16383
16384         Tests for module 'unistr/u16-cmp2'.
16385         * modules/unistr/u16-cmp2-tests: New file.
16386         * tests/unistr/test-u16-cmp2.c: New file.
16387
16388         Tests for module 'unistr/u8-cmp2'.
16389         * modules/unistr/u8-cmp2-tests: New file.
16390         * tests/unistr/test-u8-cmp2.c: New file.
16391         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
16392
16393         Tests for module 'unistr/u32-cmp'.
16394         * modules/unistr/u32-cmp-tests: New file.
16395         * tests/unistr/test-u32-cmp.c: New file.
16396
16397         Tests for module 'unistr/u16-cmp'.
16398         * modules/unistr/u16-cmp-tests: New file.
16399         * tests/unistr/test-u16-cmp.c: New file.
16400
16401         Tests for module 'unistr/u8-cmp'.
16402         * modules/unistr/u8-cmp-tests: New file.
16403         * tests/unistr/test-u8-cmp.c: New file.
16404         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
16405
16406         Tests for module 'unistr/u32-set'.
16407         * modules/unistr/u32-set-tests: New file.
16408         * tests/unistr/test-u32-set.c: New file.
16409
16410         Tests for module 'unistr/u16-set'.
16411         * modules/unistr/u16-set-tests: New file.
16412         * tests/unistr/test-u16-set.c: New file.
16413
16414         Tests for module 'unistr/u8-set'.
16415         * modules/unistr/u8-set-tests: New file.
16416         * tests/unistr/test-u8-set.c: New file.
16417         * tests/unistr/test-set.h: New file.
16418
16419         Tests for module 'unistr/u32-move'.
16420         * modules/unistr/u32-move-tests: New file.
16421         * tests/unistr/test-u32-move.c: New file.
16422
16423         Tests for module 'unistr/u16-move'.
16424         * modules/unistr/u16-move-tests: New file.
16425         * tests/unistr/test-u16-move.c: New file.
16426
16427         Tests for module 'unistr/u8-move'.
16428         * modules/unistr/u8-move-tests: New file.
16429         * tests/unistr/test-u8-move.c: New file.
16430         * tests/unistr/test-move.h: New file.
16431
16432         Tests for module 'unistr/u32-cpy'.
16433         * modules/unistr/u32-cpy-tests: New file.
16434         * tests/unistr/test-u32-cpy.c: New file.
16435
16436         Tests for module 'unistr/u16-cpy'.
16437         * modules/unistr/u16-cpy-tests: New file.
16438         * tests/unistr/test-u16-cpy.c: New file.
16439
16440         Tests for module 'unistr/u8-cpy'.
16441         * modules/unistr/u8-cpy-tests: New file.
16442         * tests/unistr/test-u8-cpy.c: New file.
16443         * tests/unistr/test-cpy.h: New file.
16444
16445 2010-01-09  Bruno Haible  <bruno@clisp.org>
16446
16447         Tests for module 'unistr/u32-uctomb'.
16448         * modules/unistr/u32-uctomb-tests: New file.
16449         * tests/unistr/test-u32-uctomb.c: New file.
16450
16451         Tests for module 'unistr/u16-uctomb'.
16452         * modules/unistr/u16-uctomb-tests: New file.
16453         * tests/unistr/test-u16-uctomb.c: New file.
16454
16455         Tests for module 'unistr/u8-uctomb'.
16456         * modules/unistr/u8-uctomb-tests: New file.
16457         * tests/unistr/test-u8-uctomb.c: New file.
16458
16459         Tests for module 'unistr/u32-mbtoucr'.
16460         * modules/unistr/u32-mbtoucr-tests: New file.
16461         * tests/unistr/test-u32-mbtoucr.c: New file.
16462
16463         Tests for module 'unistr/u16-mbtoucr'.
16464         * modules/unistr/u16-mbtoucr-tests: New file.
16465         * tests/unistr/test-u16-mbtoucr.c: New file.
16466
16467         Tests for module 'unistr/u8-mbtoucr'.
16468         * modules/unistr/u8-mbtoucr-tests: New file.
16469         * tests/unistr/test-u8-mbtoucr.c: New file.
16470
16471         Tests for module 'unistr/u32-mbtouc'.
16472         * modules/unistr/u32-mbtouc-tests: New file.
16473         * tests/unistr/test-u32-mbtouc.c: New file.
16474
16475         Tests for module 'unistr/u16-mbtouc'.
16476         * modules/unistr/u16-mbtouc-tests: New file.
16477         * tests/unistr/test-u16-mbtouc.c: New file.
16478
16479         Tests for module 'unistr/u8-mbtouc'.
16480         * modules/unistr/u8-mbtouc-tests: New file.
16481         * tests/unistr/test-u8-mbtouc.c: New file.
16482
16483         Tests for module 'unistr/u32-mbtouc-unsafe'.
16484         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
16485         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
16486         * tests/unistr/test-u32-mbtouc.h: New file.
16487
16488         Tests for module 'unistr/u16-mbtouc-unsafe'.
16489         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
16490         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
16491         * tests/unistr/test-u16-mbtouc.h: New file.
16492
16493         Tests for module 'unistr/u8-mbtouc-unsafe'.
16494         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
16495         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
16496         * tests/unistr/test-u8-mbtouc.h: New file.
16497
16498         Tests for module 'unistr/u32-mblen'.
16499         * modules/unistr/u32-mblen-tests: New file.
16500         * tests/unistr/test-u32-mblen.c: New file.
16501
16502         Tests for module 'unistr/u16-mblen'.
16503         * modules/unistr/u16-mblen-tests: New file.
16504         * tests/unistr/test-u16-mblen.c: New file.
16505
16506         Tests for module 'unistr/u8-mblen'.
16507         * modules/unistr/u8-mblen-tests: New file.
16508         * tests/unistr/test-u8-mblen.c: New file.
16509
16510         Tests for module 'unistr/u32-to-u16'.
16511         * modules/unistr/u32-to-u16-tests: New file.
16512         * tests/unistr/test-u32-to-u16.c: New file.
16513
16514         Tests for module 'unistr/u32-to-u8'.
16515         * modules/unistr/u32-to-u8-tests: New file.
16516         * tests/unistr/test-u32-to-u8.c: New file.
16517
16518         Tests for module 'unistr/u16-to-u32'.
16519         * modules/unistr/u16-to-u32-tests: New file.
16520         * tests/unistr/test-u16-to-u32.c: New file.
16521
16522         Tests for module 'unistr/u16-to-u8'.
16523         * modules/unistr/u16-to-u8-tests: New file.
16524         * tests/unistr/test-u16-to-u8.c: New file.
16525
16526         Tests for module 'unistr/u8-to-u32'.
16527         * modules/unistr/u8-to-u32-tests: New file.
16528         * tests/unistr/test-u8-to-u32.c: New file.
16529
16530         Tests for module 'unistr/u8-to-u16'.
16531         * modules/unistr/u8-to-u16-tests: New file.
16532         * tests/unistr/test-u8-to-u16.c: New file.
16533
16534         Tests for module 'unistr/u32-check'.
16535         * modules/unistr/u32-check-tests: New file.
16536         * tests/unistr/test-u32-check.c: New file.
16537
16538         Tests for module 'unistr/u16-check'.
16539         * modules/unistr/u16-check-tests: New file.
16540         * tests/unistr/test-u16-check.c: New file.
16541
16542         Tests for module 'unistr/u8-check'.
16543         * modules/unistr/u8-check-tests: New file.
16544         * tests/unistr/test-u8-check.c: New file.
16545
16546         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
16547         (category_equals): New function.
16548         (main): Add more tests.
16549         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
16550
16551         * tests/unictype/test-bidi_byname.c (main): Add more tests.
16552
16553 2010-01-10  Bruno Haible  <bruno@clisp.org>
16554
16555         unistr/u*-strcoll: Try harder to distinguish different strings.
16556         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
16557         compare s1 and s2 to see if they are different.
16558
16559 2010-01-10  Bruno Haible  <bruno@clisp.org>
16560
16561         unistr/u*-stpncpy: Fix the return value.
16562         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
16563         description of the return value consistent with stpncpy in glibc.
16564         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
16565         written non-NUL unit.
16566
16567 2010-01-10  Bruno Haible  <bruno@clisp.org>
16568
16569         unistr/u*-next: Add missing dependencies.
16570         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
16571         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
16572         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
16573
16574 2010-01-10  Bruno Haible  <bruno@clisp.org>
16575
16576         unistr/u8-mbsnlen: Fix return value for incomplete character.
16577         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
16578         u8_mblen.
16579         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
16580         Remove unistr/u8-mblen.
16581         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
16582         u16_mblen.
16583         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
16584         Remove unistr/u16-mblen.
16585
16586 2010-01-10  Bruno Haible  <bruno@clisp.org>
16587
16588         wchar: Fix compilation error when <wchar.h> is used from coreutils.
16589         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
16590         Reported by Brian Gough <bjg@gnu.org> and
16591         Chris Clayton <chris2553@googlemail.com> via
16592         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
16593
16594 2010-01-09  Bruno Haible  <bruno@clisp.org>
16595
16596         unistr/u16-to-u32: Reject invalid input.
16597         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
16598         u16_mbtouc.
16599         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
16600         Remove unistr/u16-mbtouc.
16601
16602         unistr/u16-to-u8: Reject invalid input.
16603         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
16604         u16_mbtouc.
16605         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
16606         Remove unistr/u16-mbtouc.
16607
16608         unistr/u8-to-u32: Reject invalid input.
16609         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
16610         u8_mbtouc.
16611         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
16612         Remove unistr/u8-mbtouc.
16613
16614         unistr/u8-to-u16: Reject invalid input.
16615         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
16616         u8_mbtouc.
16617         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
16618         Remove unistr/u8-mbtouc.
16619
16620 2010-01-09  Bruno Haible  <bruno@clisp.org>
16621
16622         Tests for module 'getlogin'.
16623         * modules/getlogin-tests: New file.
16624         * tests/test-getlogin.c: New file.
16625
16626         New module 'getlogin'.
16627         * lib/unistd.in.h (getlogin): New declaration.
16628         * lib/getlogin.c: New file.
16629         * m4/getlogin.m4: New file.
16630         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
16631         HAVE_GETLOGIN.
16632         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
16633         HAVE_GETLOGIN.
16634         * modules/getlogin: New file.
16635         * doc/posix-functions/getlogin.texi: Mention the new module.
16636         Reported by John W. Eaton <jwe@gnu.org>.
16637
16638 2010-01-09  Bruno Haible  <bruno@clisp.org>
16639
16640         getlogin_r: Support for native Windows.
16641         * lib/getlogin_r.c: Include <windows.h>
16642         (getlogin_r): Implement for native Windows.
16643         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
16644         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
16645         via John W. Eaton <jwe@gnu.org>.
16646
16647 2010-01-09  Bruno Haible  <bruno@clisp.org>
16648
16649         getlogin_r: Small fixes.
16650         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
16651         succeeds.
16652         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
16653         before testing whether getlogin_r is declared. No need to set
16654         HAVE_DECL_GETLOGIN_R to 1.
16655         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
16656
16657 2010-01-09  Bruno Haible  <bruno@clisp.org>
16658
16659         * lib/unistd.in.h (getlogin_r): Add comment.
16660
16661 2010-01-09  Bruno Haible  <bruno@clisp.org>
16662
16663         Tests for module 'getlogin_r'.
16664         * modules/getlogin_r-tests: New file.
16665         * tests/test-getlogin_r.c: New file.
16666
16667 2010-01-09  Jim Meyering  <meyering@redhat.com>
16668
16669         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
16670         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
16671         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
16672
16673 2010-01-08  Simon Josefsson  <simon@josefsson.org>
16674
16675         * lib/dup2.c (rpl_dup2): Improve comment.
16676
16677 2010-01-08  Eric Blake  <ebb9@byu.net>
16678
16679         maint.mk: allow packages to add makefile @@ exceptions
16680         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
16681         (sc_makefile_check): Rename...
16682         (sc_makefile_at_at_check): ...to this, and use hook.
16683
16684         dup2: work around mingw bug
16685         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
16686         Reported by Simon Josefsson.
16687
16688 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
16689
16690         glob: Fix C++ compilation.
16691         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
16692         C++.
16693
16694 2010-01-07  Bruno Haible  <bruno@clisp.org>
16695
16696         Fix indentation of wctype.in.h, broken since 2007-01-06.
16697         * lib/wctype.in.h: Fix indentation of preprocessor directives.
16698
16699 2010-01-07  Bruno Haible  <bruno@clisp.org>
16700
16701         mbslen: Avoid collision with system function.
16702         * lib/string.in.h [MirBSD]: Include <wchar.h>.
16703         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
16704         * m4/mbslen.m4: New file.
16705         * modules/mbslen (Files): Add it.
16706         (configure.ac): Invoke gl_MBSLEN.
16707         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
16708         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
16709         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
16710         via Ian Beckwith <ianb@erislabs.net>.
16711
16712 2010-01-07  Bruno Haible  <bruno@clisp.org>
16713
16714         dirent: Document the last fix.
16715         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
16716
16717 2010-01-07  Bruno Haible  <bruno@clisp.org>
16718
16719         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
16720         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
16721         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
16722         va_list are defined.
16723         * doc/posix-headers/stdio.texi: Document the bug of missing types.
16724         Reported by Eric Blake.
16725
16726 2010-01-07  Bruno Haible  <bruno@clisp.org>
16727
16728         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
16729         * modules/xlist (Depends-on): Add 'list',
16730         * modules/xoset (Depends-on): Add 'oset'.
16731         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16732
16733 2010-01-07  Bruno Haible  <bruno@clisp.org>
16734
16735         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
16736         * doc/posix-functions/strncasecmp.texi: Likewise.
16737
16738 2010-01-07  Bruno Haible  <bruno@clisp.org>
16739
16740         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
16741
16742 2010-01-07  John W. Eaton  <jwe@octave.org>
16743
16744         wctype: allow C++ use
16745         * lib/wctype.in.h: Add extern "C" block for C++.
16746
16747 2010-01-06  Eric Blake  <ebb9@byu.net>
16748
16749         maint.mk: detect incorrect GFDL usage
16750         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
16751
16752 2010-01-06  Jim Meyering  <meyering@redhat.com>
16753         and Eric Blake  <ebb9@byu.net>
16754
16755         maint.mk: ignore multi-line copyright in NEWS
16756         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
16757
16758 2010-01-06  Eric Blake  <ebb9@byu.net>
16759
16760         select: add missing dependency
16761         * modules/select-tests (Depends-on): Move sockets dependency...
16762         * modules/select (Depends-on): ...here.
16763         Reported by Ian Beckwith.
16764
16765         doc: regenerate INSTALL
16766         * doc/INSTALL: Reflect recent autoconf update.
16767         * doc/INSTALL.ISO: Likewise.
16768         * doc/INSTALL.UTF-8: Likewise.
16769
16770         pread: fix compilation on glibc
16771         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
16772         Reported by Ralf Wildenhues.
16773
16774         dirent: fix test failure
16775         * lib/dirent.in.h (includes): Guarantee ino_t.
16776         Reported by Ralf Wildenhues.
16777
16778 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
16779
16780         linkat, renameat: avoid bad free
16781         * lib/at-func2.c (at_func2): Fix typo.
16782         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
16783
16784 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16785
16786         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
16787         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
16788         to avoid failure of symlink test later.
16789
16790 2010-01-06  Eric Blake  <ebb9@byu.net>
16791
16792         stdio, unistd: guarantee ssize_t
16793         * lib/unistd.in.h (includes): Ensure that types required by POSIX
16794         2008 are exposed when needed.
16795         * lib/stdio.in.h (includes): Likewise.
16796         Reported by Ralf Wildenhues.
16797
16798 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
16799
16800         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
16801         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
16802         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
16803
16804 2010-01-06  Jim Meyering  <meyering@redhat.com>
16805
16806         readtokens: this module *does* require xalloc.h
16807         It uses only functions that were omitted by the old syntax-check rule.
16808         * lib/readtokens.c: Include "xalloc.h" once again.
16809         * modules/readtokens (Depends-on): Add xalloc.
16810         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
16811
16812 2010-01-05  Eric Blake  <ebb9@byu.net>
16813
16814         maint: support 'make announcement' from a VPATH build
16815         * top/maint.mk (announcement): Look for correct NEWS file.
16816
16817 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
16818
16819         utimens (fdutimens): ignore a negative FD, per contract
16820         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
16821         when we have a valid file descriptor.  Otherwise, using a brand
16822         new glibc (with just-patched futimens that now fails with EBADF)
16823         would cause this function to fail with ENOSYS.
16824         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
16825         See also http://bugzilla.redhat.com/552320.
16826
16827 2010-01-05  Eric Blake  <ebb9@byu.net>
16828
16829         strcase: document what it provides
16830         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
16831         gnulib module.
16832         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
16833         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
16834
16835 2010-01-05  Jim Meyering  <meyering@redhat.com>
16836
16837         maint: remove useless inclusions of "xalloc.h"
16838         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
16839         * lib/readtokens.c: Likewise.
16840         * lib/same.c: Likewise.
16841         * modules/getloadavg (Depends-on): Remove xalloc.
16842         * modules/readtokens: Likewise.
16843         * modules/same: Likewise.
16844
16845         maint.mk: include 4 more function names in alloca.h-checking regexp
16846         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
16847         regexp.  Before, we would give a false-positive (saying alloca.h
16848         is included unnecessarily) when the only uses involved omitted symbols.
16849
16850         xalloc.h: use consistent formatting
16851         * lib/xalloc.h: Move declarations to start in the first column.
16852
16853 2010-01-05  Eric Blake  <ebb9@byu.net>
16854
16855         mkdir: avoid xalloc
16856         * lib/mkdir.c (includes): Drop unused header.
16857         Reported by John W. Eaton.
16858
16859 2010-01-04  Jim Meyering  <meyering@redhat.com>
16860
16861         nl_langinfo: avoid configure-time syntax error
16862         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
16863         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
16864         the empty string.  Don't let that provoke a shell syntax error.
16865
16866         regcomp, regexec, fnmatch: avoid array bounds read error
16867         * lib/regcomp.c (build_equiv_class): From glibc:
16868         Use only the low 24 bits of a findidx return value as an index
16869         into the weights array.  Patch by Ulrich Drepper:
16870         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
16871         * lib/regexec.c (check_node_accept_bytes): Likewise.
16872         * lib/fnmatch_loop.c (FCT): Likewise.
16873
16874         regcomp: skip collseq lookup when there are no rules
16875         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
16876         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
16877
16878         regcomp: recognize ill-formed { } expressions
16879         * lib/regcomp.c (parse_dup_op): From glibc:
16880         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
16881
16882         regcomp: fix typo in comment
16883         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
16884         s/satisfy/satisfies/.
16885
16886         regcomp: sync from glibc: remove dead store
16887         * lib/regcomp.c (duplicate_node_closure): Remove useless
16888         search_duplicated_node call and dead store.
16889
16890         regcomp: sync from glibc; always use nl_langinfo
16891         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
16892         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
16893         * modules/regex (Depends-on): Add nl_langinfo.
16894
16895 2010-01-04  Eric Blake  <ebb9@byu.net>
16896
16897         fdopendir: fix configure test
16898         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
16899
16900 2010-01-01  Bruno Haible  <bruno@clisp.org>
16901
16902         wchar: Remove unused configure check.
16903         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
16904
16905 2010-01-01  Eric Blake  <ebb9@byu.net>
16906
16907         headers: make check of system header explicit
16908         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
16909         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
16910         ourselves.
16911         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
16912         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
16913         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
16914         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
16915         internals.
16916         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
16917         missing.
16918         Suggested by Bruno Haible.
16919
16920 2010-01-01  Jim Meyering  <meyering@redhat.com>
16921
16922         ChangeLog: tweak to eliminate unnecessary copyright line
16923         * ChangeLog: Remove a copyright line that was mistakenly updated
16924         by today's update-copyright run.  Reported by Eric Blake.
16925
16926         test-update-copyright: don't let envvar setting cause test failure
16927         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
16928
16929 2010-01-01  Bruno Haible  <bruno@clisp.org>
16930
16931         localename: Avoid gcc warning.
16932         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
16933         function if it is not used.
16934
16935 2010-01-01  Jim Meyering  <meyering@redhat.com>
16936
16937         update nearly all FSF copyright year lists to include 2010
16938         Use the same procedure as for 2009, outlined in
16939         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
16940
16941         version-etc: set COPYRIGHT_YEAR to 2010
16942         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
16943
16944 2009-12-31  Eric Blake  <ebb9@byu.net>
16945
16946         doc: correct availability of cygwin 1.5.x getopt
16947         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
16948         variables.
16949         * doc/posix-functions/opterr.texi (opterr): Likewise.
16950         * doc/posix-functions/optind.texi (optind): Likewise.
16951         * doc/posix-functions/optopt.texi (optopt): Likewise.
16952         * doc/posix-functions/tzname.texi (tzname): Likewise.
16953
16954         openat: update maintainer
16955         * modules/openat (Maintainer): Add myself.
16956
16957         utimens: avoid shadowing warning
16958         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
16959         buffers into one, to avoid shadowing, as well as avoiding a
16960         redundant stat.
16961         Reported by Jim Meyering.
16962
16963         test-dup2: avoid compiler warning
16964         * tests/test-dup2.c (is_inheritable): Only define if used.
16965
16966 2010-01-01  Bruno Haible  <bruno@clisp.org>
16967
16968         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
16969         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
16970         defined, use wctomb instead of wcrtomb.
16971
16972 2010-01-01  Bruno Haible  <bruno@clisp.org>
16973
16974         iconv: Reject native Solaris iconv.
16975         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
16976         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
16977
16978 2009-12-31  Bruno Haible  <bruno@clisp.org>
16979
16980         * tests/test-signal.c (main): Remove test of 'SIG'.
16981
16982 2009-12-31  Bruno Haible  <bruno@clisp.org>
16983
16984         spawn: Fix incomplete fix.
16985         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
16986         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
16987         warnings for GNULIB_POSIXCHECK again.
16988         Reported by Eric Blake.
16989
16990 2009-12-31  Bruno Haible  <bruno@clisp.org>
16991
16992         Avoid namespace pollution on glibc systems.
16993         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
16994         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
16995         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
16996         glibc systems.
16997
16998 2009-12-31  Bruno Haible  <bruno@clisp.org>
16999
17000         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
17001         (gl_REPLACE_WCHAR_H): Turn into a no-op.
17002         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
17003         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
17004         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
17005         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
17006         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
17007
17008 2009-12-31  Bruno Haible  <bruno@clisp.org>
17009
17010         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
17011         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
17012         afterwards.
17013
17014 2009-12-31  Bruno Haible  <bruno@clisp.org>
17015
17016         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
17017         SYS_UTSNAME_H.
17018
17019 2009-12-31  Bruno Haible  <bruno@clisp.org>
17020
17021         spawn: Fix misapplied patch.
17022         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
17023         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
17024         warnings for GNULIB_POSIXCHECK.
17025
17026 2009-12-31  Bruno Haible  <bruno@clisp.org>
17027
17028         times: Update after sys_times changed.
17029         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
17030         * modules/times (Files): Add it.
17031         (configure.ac): Invoke gl_FUNC_TIMES.
17032
17033 2009-12-31  Bruno Haible  <bruno@clisp.org>
17034
17035         Use AC_C_INLINE where necessary.
17036         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
17037         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
17038         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
17039         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
17040         * m4/mbfile.m4 (gl_MBFILE): Likewise.
17041         * m4/mbiter.m4 (gl_MBITER): Likewise.
17042         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
17043         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17044         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
17045         * modules/u64 (configure.ac): Likewise.
17046
17047 2009-12-31  Bruno Haible  <bruno@clisp.org>
17048
17049         Use AC_C_INLINE instead of module 'inline' where possible.
17050         * modules/inline (Description): Clarify purpose.
17051         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
17052         * modules/count-one-bits (Depends-on): Remove inline.
17053         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
17054         * modules/openat (Depends-on): Remove inline.
17055         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
17056         instead of depending on module 'inline'.
17057         * modules/filevercmp (Depends-on, configure.ac): Likewise.
17058         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
17059         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
17060         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
17061         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
17062         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
17063         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
17064         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
17065         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
17066         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
17067         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
17068         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
17069         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
17070         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
17071         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
17072         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
17073         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
17074         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
17075         Likewise.
17076         * modules/unictype/property-ascii-hex-digit (Depends-on,
17077         configure.ac): Likewise.
17078         * modules/unictype/property-bidi-arabic-digit (Depends-on,
17079         configure.ac): Likewise.
17080         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
17081         configure.ac): Likewise.
17082         * modules/unictype/property-bidi-block-separator (Depends-on,
17083         configure.ac): Likewise.
17084         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
17085         configure.ac): Likewise.
17086         * modules/unictype/property-bidi-common-separator (Depends-on,
17087         configure.ac): Likewise.
17088         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
17089         Likewise.
17090         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
17091         configure.ac): Likewise.
17092         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
17093         configure.ac): Likewise.
17094         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
17095         configure.ac): Likewise.
17096         * modules/unictype/property-bidi-european-digit (Depends-on,
17097         configure.ac): Likewise.
17098         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
17099         configure.ac): Likewise.
17100         * modules/unictype/property-bidi-left-to-right (Depends-on,
17101         configure.ac): Likewise.
17102         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
17103         configure.ac): Likewise.
17104         * modules/unictype/property-bidi-other-neutral (Depends-on,
17105         configure.ac): Likewise.
17106         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
17107         Likewise.
17108         * modules/unictype/property-bidi-segment-separator (Depends-on,
17109         configure.ac): Likewise.
17110         * modules/unictype/property-bidi-whitespace (Depends-on,
17111         configure.ac): Likewise.
17112         * modules/unictype/property-combining (Depends-on, configure.ac):
17113         Likewise.
17114         * modules/unictype/property-composite (Depends-on, configure.ac):
17115         Likewise.
17116         * modules/unictype/property-currency-symbol (Depends-on,
17117         configure.ac): Likewise.
17118         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
17119         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
17120         Likewise.
17121         * modules/unictype/property-default-ignorable-code-point (Depends-on,
17122         configure.ac): Likewise.
17123         * modules/unictype/property-deprecated (Depends-on, configure.ac):
17124         Likewise.
17125         * modules/unictype/property-diacritic (Depends-on, configure.ac):
17126         Likewise.
17127         * modules/unictype/property-extender (Depends-on, configure.ac):
17128         Likewise.
17129         * modules/unictype/property-format-control (Depends-on, configure.ac):
17130         Likewise.
17131         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
17132         Likewise.
17133         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
17134         Likewise.
17135         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
17136         Likewise.
17137         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
17138         Likewise.
17139         * modules/unictype/property-hyphen (Depends-on, configure.ac):
17140         Likewise.
17141         * modules/unictype/property-id-continue (Depends-on, configure.ac):
17142         Likewise.
17143         * modules/unictype/property-id-start (Depends-on, configure.ac):
17144         Likewise.
17145         * modules/unictype/property-ideographic (Depends-on, configure.ac):
17146         Likewise.
17147         * modules/unictype/property-ids-binary-operator (Depends-on,
17148         configure.ac): Likewise.
17149         * modules/unictype/property-ids-trinary-operator (Depends-on,
17150         configure.ac): Likewise.
17151         * modules/unictype/property-ignorable-control (Depends-on,
17152         configure.ac): Likewise.
17153         * modules/unictype/property-iso-control (Depends-on, configure.ac):
17154         Likewise.
17155         * modules/unictype/property-join-control (Depends-on, configure.ac):
17156         Likewise.
17157         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
17158         Likewise.
17159         * modules/unictype/property-line-separator (Depends-on, configure.ac):
17160         Likewise.
17161         * modules/unictype/property-logical-order-exception (Depends-on,
17162         configure.ac): Likewise.
17163         * modules/unictype/property-lowercase (Depends-on, configure.ac):
17164         Likewise.
17165         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
17166         * modules/unictype/property-non-break (Depends-on, configure.ac):
17167         Likewise.
17168         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
17169         Likewise.
17170         * modules/unictype/property-numeric (Depends-on, configure.ac):
17171         Likewise.
17172         * modules/unictype/property-other-alphabetic (Depends-on,
17173         configure.ac): Likewise.
17174         * modules/unictype/property-other-default-ignorable-code-point
17175         (Depends-on, configure.ac): Likewise.
17176         * modules/unictype/property-other-grapheme-extend (Depends-on,
17177         configure.ac): Likewise.
17178         * modules/unictype/property-other-id-continue (Depends-on,
17179         configure.ac): Likewise.
17180         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
17181         Likewise.
17182         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
17183         Likewise.
17184         * modules/unictype/property-other-math (Depends-on, configure.ac):
17185         Likewise.
17186         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
17187         Likewise.
17188         * modules/unictype/property-paired-punctuation (Depends-on,
17189         configure.ac): Likewise.
17190         * modules/unictype/property-paragraph-separator (Depends-on,
17191         configure.ac): Likewise.
17192         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
17193         Likewise.
17194         * modules/unictype/property-pattern-white-space (Depends-on,
17195         configure.ac): Likewise.
17196         * modules/unictype/property-private-use (Depends-on, configure.ac):
17197         Likewise.
17198         * modules/unictype/property-punctuation (Depends-on, configure.ac):
17199         Likewise.
17200         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
17201         Likewise.
17202         * modules/unictype/property-radical (Depends-on, configure.ac):
17203         Likewise.
17204         * modules/unictype/property-sentence-terminal (Depends-on,
17205         configure.ac): Likewise.
17206         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
17207         Likewise.
17208         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
17209         * modules/unictype/property-terminal-punctuation (Depends-on,
17210         configure.ac): Likewise.
17211         * modules/unictype/property-titlecase (Depends-on, configure.ac):
17212         Likewise.
17213         * modules/unictype/property-unassigned-code-value (Depends-on,
17214         configure.ac): Likewise.
17215         * modules/unictype/property-unified-ideograph (Depends-on,
17216         configure.ac): Likewise.
17217         * modules/unictype/property-uppercase (Depends-on, configure.ac):
17218         Likewise.
17219         * modules/unictype/property-variation-selector (Depends-on,
17220         configure.ac): Likewise.
17221         * modules/unictype/property-white-space (Depends-on, configure.ac):
17222         Likewise.
17223         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
17224         Likewise.
17225         * modules/unictype/property-xid-start (Depends-on, configure.ac):
17226         Likewise.
17227         * modules/unictype/property-zero-width (Depends-on, configure.ac):
17228         Likewise.
17229         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
17230         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
17231         Likewise.
17232
17233 2009-12-31  Bruno Haible  <bruno@clisp.org>
17234
17235         Remove unnecessary AC_C_INLINE invocation.
17236         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
17237         since 2009-08-21.
17238
17239 2009-12-31  Jim Meyering  <meyering@redhat.com>
17240
17241         maint.mk: don't require explicit gpg_key_ID in cfg.mk
17242         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
17243         With this change, we can all remove the gpg_key_ID = ... definition
17244         from our respective cfg.mk files.
17245
17246         maint.mk: create announcement template in ~/, not in /tmp
17247         * top/maint.mk (emit_upload_commands): Adjust.
17248         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
17249         Remove temporary file, .ci-msg.
17250
17251 2009-12-31  Eric Blake  <ebb9@byu.net>
17252
17253         link-warning: always build headers with link warnings
17254         * modules/arpa_inet (Makefile.am): Always build replacement
17255         header.
17256         * modules/ctype (Makefile.am): Likewise.
17257         * modules/dirent (Makefile.am): Likewise.
17258         * modules/inttypes (Makefile.am): Likewise.
17259         * modules/langinfo (Makefile.am): Likewise.
17260         * modules/locale (Makefile.am): Likewise.
17261         * modules/spawn (Makefile.am): Likewise.
17262         * modules/sys_file (Makefile.am): Likewise.
17263         * modules/sys_ioctl (Makefile.am): Likewise.
17264         * modules/sys_select (Makefile.am): Likewise.
17265         * modules/sys_socket (Makefile.am): Likewise.
17266         * modules/sys_times (Makefile.am): Likewise.
17267         * modules/sys_utsname (Makefile.am): Likewise.
17268         * modules/sys_wait (Makefile.am): Likewise.
17269         * modules/wchar (Makefile.am): Likewise.
17270         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
17271         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
17272         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
17273         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
17274         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
17275         Likewise.
17276         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
17277         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
17278         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
17279         Likewise.
17280         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
17281         Likewise.
17282         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
17283         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
17284         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
17285         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17286         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17287         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
17288         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
17289         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
17290         (gl_WCHAR_H_DEFAULTS): Likewise.
17291
17292 2009-12-31  Eric Blake  <ebb9@byu.net>
17293
17294         signal, spawn: use link warnings
17295         * lib/signal.in.h (sigset_t): Make unconditional.
17296         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
17297         (sigpending, sigprocmask, sigaction): Add link warnings.
17298         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
17299         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
17300         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
17301         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
17302         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
17303         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
17304         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
17305         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
17306         (posix_spawn_file_actions_destroy)
17307         (posix_spawn_file_actions_addopen)
17308         (posix_spawn_file_actions_addclose)
17309         (posix_spawn_file_actions_adddup2): Likewise.
17310         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
17311         * tests/test-signal.c (main): Enhance test.
17312
17313         spawn: improve wrapper support
17314         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
17315         (gl_SPAWN_H_DEFAULTS): New defaults.
17316         * modules/spawn (Makefile.am): Substitute them.
17317         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
17318         Only declare if missing or broken.
17319
17320         sys_times, sys_utsname: use include_next
17321         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
17322         header.
17323         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
17324         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
17325         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
17326         * modules/sys_times (Depends-on): Add include_next.
17327         (Makefile.am): Substitute additional values.
17328         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
17329         * lib/sys_times.in.h (includes): Include native header, if
17330         available.
17331         * lib/sys_utsname.in.h (includes): Likewise.
17332         * tests/test-sys_times.c (main): Enhance test.
17333
17334         fdutimensat: revert prior patch
17335         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
17336         utimens.h.
17337         Reported by Bruno Haible.
17338
17339 2009-12-30  Eric Blake  <ebb9@byu.net>
17340
17341         sys_wait: drop link-warning dependency
17342         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
17343         link-warning efforts.
17344         * lib/sys_wait.in.h: Likewise.
17345
17346         fdutimensat: remove bogus dependency
17347         * modules/fdutimensat (Depends-on): Drop inline.
17348
17349         unistd: fix typo
17350         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
17351
17352 2009-12-30  Bruno Haible  <bruno@clisp.org>
17353
17354         Fix compilation error with Solaris cc.
17355         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
17356         * lib/unicase/u16-is-invariant.c: Likewise.
17357         * lib/unicase/u32-is-invariant.c: Likewise.
17358         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
17359
17360 2009-12-30  Bruno Haible  <bruno@clisp.org>
17361
17362         Fix test crash.
17363         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
17364         locales.
17365         Reported by Simon Josefsson <simon@josefsson.org>.
17366
17367 2009-12-30  Bruno Haible  <bruno@clisp.org>
17368
17369         Fix compilation error on most platforms.
17370         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
17371         Reported by Simon Josefsson <simon@josefsson.org>
17372         and Nelson H. F. Beebe <beebe@math.utah.edu>.
17373
17374 2009-12-30  Eric Blake  <ebb9@byu.net>
17375
17376         futimens, utimensat: work around ntfs-3g bug
17377         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
17378         a ctime bug is present, and expand workaround to cover ntfs-3g.
17379         * lib/utimens.c (fdutimens, lutimens): Likewise.
17380         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
17381         (validate_timespec): Adjust return value.
17382         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
17383         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
17384         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
17385
17386 2009-12-29  Eric Blake  <ebb9@byu.net>
17387
17388         link-warning: make usage consistent
17389         * modules/ctype (Depends-on): Add link-warning.
17390         (Makefile.am): Update rules accordingly.
17391         * modules/langinfo (Depends-on, Makefile.am): Likewise.
17392         * modules/locale (Depends-on, Makefile.am): Likewise.
17393         * modules/sys_file (Makefile.am): Likewise.
17394         * modules/getopt-posix (Makefile.am): Delete unused link warning
17395         efforts.
17396         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
17397         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
17398         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
17399         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
17400
17401         stdio: remove unused variables
17402         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
17403         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
17404         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
17405
17406         tests: test more substitute headers
17407         * modules/ctype-tests: New file.
17408         * modules/dirent-tests: Likewise.
17409         * modules/spawn-tests: Likewise.
17410         * modules/sys_file-tests: Likewise.
17411         * modules/sys_ioctl-tests: Likewise.
17412         * modules/sys_wait-tests: Likewise.
17413         * tests/test-ctype.c: Likewise.
17414         * tests/test-dirent.c: Likewise.
17415         * tests/test-spawn.c: Likewise.
17416         * tests/test-sys_file.c: Likewise.
17417         * tests/test-sys_ioctl.c: Likewise.
17418         * tests/test-sys_wait.c: Likewise.
17419         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
17420         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
17421         whether or not flock is in use.
17422
17423         tests: remove License section from module
17424         * modules/arpa_inet-tests: Remove unneeded section.
17425         * modules/byteswap-tests: Likewise.
17426         * modules/ceilf-tests: Likewise.
17427         * modules/ceill-tests: Likewise.
17428         * modules/crypto/des-tests: Likewise.
17429         * modules/crypto/gc-arcfour-tests: Likewise.
17430         * modules/crypto/gc-arctwo-tests: Likewise.
17431         * modules/crypto/gc-des-tests: Likewise.
17432         * modules/crypto/gc-hmac-md5-tests: Likewise.
17433         * modules/crypto/gc-hmac-sha1-tests: Likewise.
17434         * modules/crypto/gc-md2-tests: Likewise.
17435         * modules/crypto/gc-md4-tests: Likewise.
17436         * modules/crypto/gc-md5-tests: Likewise.
17437         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
17438         * modules/crypto/gc-rijndael-tests: Likewise.
17439         * modules/crypto/gc-sha1-tests: Likewise.
17440         * modules/crypto/gc-tests: Likewise.
17441         * modules/crypto/md2-tests: Likewise.
17442         * modules/crypto/md4-tests: Likewise.
17443         * modules/fcntl-h-tests: Likewise.
17444         * modules/floorf-tests: Likewise.
17445         * modules/floorl-tests: Likewise.
17446         * modules/frexp-nolibm-tests: Likewise.
17447         * modules/frexp-tests: Likewise.
17448         * modules/frexpl-nolibm-tests: Likewise.
17449         * modules/frexpl-tests: Likewise.
17450         * modules/getaddrinfo-tests: Likewise.
17451         * modules/inttypes-tests: Likewise.
17452         * modules/isfinite-tests: Likewise.
17453         * modules/isinf-tests: Likewise.
17454         * modules/ldexpl-tests: Likewise.
17455         * modules/locale-tests: Likewise.
17456         * modules/math-tests: Likewise.
17457         * modules/netdb-tests: Likewise.
17458         * modules/netinet_in-tests: Likewise.
17459         * modules/printf-frexp-tests: Likewise.
17460         * modules/printf-frexpl-tests: Likewise.
17461         * modules/priv-set-tests: Likewise.
17462         * modules/random_r-tests: Likewise.
17463         * modules/round-tests: Likewise.
17464         * modules/roundf-tests: Likewise.
17465         * modules/roundl-tests: Likewise.
17466         * modules/search-tests: Likewise.
17467         * modules/select-tests: Likewise.
17468         * modules/signal-tests: Likewise.
17469         * modules/stdbool-tests: Likewise.
17470         * modules/stddef-tests: Likewise.
17471         * modules/stdint-tests: Likewise.
17472         * modules/stdio-tests: Likewise.
17473         * modules/stdlib-tests: Likewise.
17474         * modules/string-tests: Likewise.
17475         * modules/strings-tests: Likewise.
17476         * modules/sys_select-tests: Likewise.
17477         * modules/sys_socket-tests: Likewise.
17478         * modules/sys_stat-tests: Likewise.
17479         * modules/sys_time-tests: Likewise.
17480         * modules/sys_utsname-tests: Likewise.
17481         * modules/sysexits-tests: Likewise.
17482         * modules/time-tests: Likewise.
17483         * modules/trunc-tests: Likewise.
17484         * modules/truncf-tests: Likewise.
17485         * modules/truncl-tests: Likewise.
17486         * modules/tsearch-tests: Likewise.
17487         * modules/unistd-tests: Likewise.
17488         * modules/wchar-tests: Likewise.
17489         * modules/wctype-tests: Likewise.
17490
17491         tests: fix license on several tests
17492         * tests/test-des.c: Update to GPLv3+.
17493         * tests/test-flock.c: Likewise.
17494         * tests/test-fsync.c: Likewise.
17495         * tests/test-futimens.h: Likewise.
17496         * tests/test-gc-arcfour.c: Likewise.
17497         * tests/test-gc-arctwo.c: Likewise.
17498         * tests/test-gc-des.c: Likewise.
17499         * tests/test-gc-hmac-md5.c: Likewise.
17500         * tests/test-gc-hmac-sha1.c: Likewise.
17501         * tests/test-gc-md2.c: Likewise.
17502         * tests/test-gc-md4.c: Likewise.
17503         * tests/test-gc-md5.c: Likewise.
17504         * tests/test-gc-pbkdf2-sha1.c: Likewise.
17505         * tests/test-gc-rijndael.c: Likewise.
17506         * tests/test-gc-sha1.c: Likewise.
17507         * tests/test-gc.c: Likewise.
17508         * tests/test-getcwd.c: Likewise.
17509         * tests/test-link.c: Likewise.
17510         * tests/test-link.h: Likewise.
17511         * tests/test-lutimens.h: Likewise.
17512         * tests/test-md2.c: Likewise.
17513         * tests/test-md4.c: Likewise.
17514         * tests/test-mkdir.h: Likewise.
17515         * tests/test-rename.c: Likewise.
17516         * tests/test-rename.h: Likewise.
17517         * tests/test-safe-alloc.c: Likewise.
17518         * tests/test-utimens-common.h: Likewise.
17519         * tests/test-utimens.h: Likewise.
17520
17521         maint: sync license texts
17522         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
17523         * doc/gpl-3.0.texi: Revert copyright year update.
17524         * doc/lgpl-3.0.texi: Likewise.
17525
17526 2009-12-29  Jim Meyering  <meyering@redhat.com>
17527
17528         update nearly all FSF copyright year lists to include 2009
17529         The files named by the following are exempted:
17530             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
17531               test -f "$dst" && { echo "$dst"; continue; }
17532               test -d "$dst" || continue
17533               echo "$dst"/$(basename "$src")
17534             done > exempt
17535             git ls-files tests/unictype >> exempt
17536         In the remaining files, convert to all-interval notation if
17537         - there is already at least one year interval like 2000-2003
17538         - the file is maintained by me
17539         - the file is in lib/uni*/, where that style already prevails
17540         Otherwise, use update-copyright's default.
17541
17542 2009-12-29  Simon Josefsson  <simon@josefsson.org>
17543         and Eric Blake  <ebb9@byu.net>
17544
17545         tests: don't require debug system() to pass
17546         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
17547         * tests/test-rmdir.h (test_rmdir_func): Likewise.
17548         * tests/test-unlink.h (test_unlink_func): Likewise.
17549         * tests/test-fstatat.c (main): ...into callers.
17550         * tests/test-lstat.c (main): Likewise.
17551         * tests/test-rmdir.c (main): Likewise.
17552         * tests/test-unlink.c (main): Likewise.
17553         * tests/test-unlinkat.c (main): Likewise.
17554         * tests/test-areadlink-with-size.c (main): Don't require a
17555         debug-only system call to pass, aiding cross-testing to mingw.
17556         * tests/test-areadlink.c (main): Likewise.
17557         * tests/test-areadlinkat-with-size.c (main): Likewise.
17558         * tests/test-areadlinkat.c (main): Likewise.
17559         * tests/test-canonicalize-lgpl.c (main): Likewise.
17560         * tests/test-canonicalize.c (main): Likewise.
17561         * tests/test-chown.c (main): Likewise.
17562         * tests/test-fchownat.c (main): Likewise.
17563         * tests/test-lchown.c (main): Likewise.
17564         * tests/test-fdutimensat.c (main): Likewise.
17565         * tests/test-futimens.c (main): Likewise.
17566         * tests/test-link.c (main): Likewise.
17567         * tests/test-linkat.c (main): Likewise.
17568         * tests/test-mkdir.c (main): Likewise.
17569         * tests/test-mkdirat.c (main): Likewise.
17570         * tests/test-mkfifo.c (main): Likewise.
17571         * tests/test-mkfifoat.c (main): Likewise.
17572         * tests/test-mknod.c (main): Likewise.
17573         * tests/test-readlink.c (main): Likewise.
17574         * tests/test-remove.c (main): Likewise.
17575         * tests/test-rename.c (main): Likewise.
17576         * tests/test-renameat.c (main): Likewise.
17577         * tests/test-symlink.c (main): Likewise.
17578         * tests/test-symlinkat.c (main): Likewise.
17579         * tests/test-utimens.c (main): Likewise.
17580         * tests/test-utimensat.c (main): Likewise.
17581
17582 2009-12-29  Simon Josefsson  <simon@josefsson.org>
17583
17584         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
17585         on $(UNUSED_PARAMETER_H) to avoid build failure.
17586
17587 2009-12-28  Jim Meyering  <meyering@redhat.com>
17588
17589         update-copyright: you may specify a max. line length other than 72
17590         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
17591
17592         maint: use consistent FSF copyright line syntax
17593         * lib/posixtm.c: Add missing comma in FSF copyright line.
17594         * lib/posixtm.h: Likewise.
17595         * lib/getugroups.c: Add missing ", Inc.".
17596
17597         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
17598         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
17599         FSF copyright line.  Remove trailing blanks.
17600
17601 2009-12-28  Eric Blake  <ebb9@byu.net>
17602
17603         test-dup2: reduce dependencies
17604         * modules/cloexec (Configure.ac): Set witness.
17605         * modules/dup2-tests (Depends-on): Drop cloexec.
17606         * tests/test-dup2.c (main): Skip portion of test if cloexec module
17607         not present.
17608         Suggested by Bruno Haible.
17609
17610 2009-12-26  Bruno Haible  <bruno@clisp.org>
17611
17612         Remove an unneeded dependency.
17613         * modules/fseterr (Depends-on): Remove dup2.
17614
17615 2009-12-26  Eric Blake  <ebb9@byu.net>
17616
17617         tests: use macros.h in more places
17618         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
17619         (ASSERT_STREAM): Provide default of stderr.
17620         * tests/test-dirent-safer.c: Include macros.h, using alternate
17621         stream for assertions.
17622         * tests/test-dup-safer.c: Likewise.
17623         * tests/test-freopen-safer.c: Likewise.
17624         * tests/test-getopt.c: Likewise.
17625         * tests/test-openat-safer.c: Likewise.
17626         * tests/test-pipe.c: Likewise.
17627         * tests/test-popen-safer.c: Likewise.
17628         * modules/dirent-safer-tests (Files): Include macros.h.
17629         * modules/unistd-safer-tests (Files): Likewise.
17630         * modules/freopen-safer-tests (Files): Likewise.
17631         * modules/getopt-posix-tests (Files): Likewise.
17632         * modules/openat-safer-tests (Files): Likewise.
17633         * modules/pipe-tests (Files): Likewise.
17634
17635 2009-12-26  Bruno Haible  <bruno@clisp.org>
17636
17637         javacomp: Portability fix.
17638         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
17639         that it also works on Solaris.
17640
17641 2009-12-26  Bruno Haible  <bruno@clisp.org>
17642
17643         localename: Fix storage allocation of gl_locale_name_thread's result.
17644         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
17645         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
17646         all platforms that have 'uselocale'.
17647         (gl_locale_name_thread_unsafe): New function, extracted from
17648         gl_locale_name_thread.
17649         (gl_locale_name_thread): Call struniq on all platforms that have
17650         'uselocale'.
17651         * tests/test-localename.c (test_locale_name_thread): Check that the
17652         resulting strings are permanently allocated.
17653         * modules/localename-tests (Depends-on): Add strdup.
17654
17655 2009-12-26  Bruno Haible  <bruno@clisp.org>
17656
17657         * tests/test-localename.c (categories): Fill in the strings.
17658
17659 2009-12-26  Jim Meyering  <meyering@redhat.com>
17660
17661         isdir: complete the removal of m4/isdir.m4
17662         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
17663
17664         isdir: clean up, since at least grep still uses it
17665         * lib/isdir.c: Include "isdir.h".
17666         (S_ISDIR): Remove now-unneeded definition.
17667         * modules/isdir (Files): Add lib/isdir.h.
17668         * lib/isdir.h: New file, with declaration.
17669         * m4/isdir.m4: Remove file -- unneeded.
17670
17671 2009-12-25  Bruno Haible  <bruno@clisp.org>
17672
17673         selinux-h: Make generated .h files standalone.
17674         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
17675         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
17676         * lib/se-selinux.in.h: Likewise.
17677         * modules/selinux-h (Depends-on): Add unused-parameter.
17678         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
17679         selinux/selinux.h and selinux/context.h.
17680         Suggested by Eric Blake.
17681
17682 2009-12-25  Bruno Haible  <bruno@clisp.org>
17683
17684         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
17685         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
17686         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
17687         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
17688         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
17689
17690 2009-12-24  Bruno Haible  <bruno@clisp.org>
17691
17692         openat: Fix warning.
17693         * lib/openat-proc.c: Include <unistd.h>.
17694
17695 2009-12-24  Bruno Haible  <bruno@clisp.org>
17696
17697         New module 'unused-parameter'.
17698         * build-aux/unused-parameter.h: New file, extracted from earlier
17699         gnulib-common.m4.
17700         * modules/unused-parameter: New file.
17701         * lib/unistr.h: Include unused-parameter.h.
17702         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
17703         _GL_UNUSED.
17704         * modules/unistr/base (Depends-on): Add unused-parameter.
17705
17706 2009-12-24  Bruno Haible  <bruno@clisp.org>
17707
17708         Add missing dependencies to 'extensions' module.
17709         * m4/extensions.m4: Add comment.
17710         * modules/accept4 (Depends-on): Add extensions.
17711         * modules/dup3 (Depends-on): Likewise.
17712         * modules/fcntl (Depends-on): Likewise.
17713         * modules/futimens (Depends-on): Likewise.
17714         * modules/mknod (Depends-on): Likewise.
17715         * modules/pipe2 (Depends-on): Likewise.
17716         * modules/stat-time (Depends-on): Likewise.
17717         * modules/strcasestr-simple (Depends-on): Likewise.
17718         * modules/strsignal (Depends-on): Likewise.
17719         * modules/utimensat (Depends-on): Likewise.
17720         * modules/localcharset (Depends-on): Likewise. Needed because of
17721         gl_FCNTL_O_FLAGS.
17722         * modules/wcrtomb (Depends-on): Likewise. Needed because of
17723         AC_TYPE_MBSTATE_T.
17724         * modules/wcsnrtombs (Depends-on): Likewise.
17725         * modules/wcsrtombs (Depends-on): Likewise.
17726
17727 2009-12-24  Bruno Haible  <bruno@clisp.org>
17728
17729         binary-io: Avoid gcc warning due to SET_BINARY.
17730         * lib/binary-io.h (SET_BINARY): Cast the result to void.
17731         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
17732
17733 2009-12-24  Bruno Haible  <bruno@clisp.org>
17734
17735         Avoid future namespace pollution on glibc systems.
17736         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
17737         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
17738         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
17739         glibc systems.
17740
17741 2009-12-24  Bruno Haible  <bruno@clisp.org>
17742
17743         Refactor common macros used in tests.
17744         * tests/macros.h: New file.
17745         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
17746         and/or <stdlib.h>, if appropriate.
17747         (ASSERT, SIZEOF): Remove macros.
17748         * tests/test-areadlink-with-size.c: Likewise.
17749         * tests/test-areadlinkat.c: Likewise.
17750         * tests/test-areadlinkat-with-size.c: Likewise.
17751         * tests/test-argmatch.c: Likewise.
17752         * tests/test-argv-iter.c: Likewise.
17753         * tests/test-array-mergesort.c: Likewise.
17754         * tests/test-array_list.c: Likewise.
17755         * tests/test-array_oset.c: Likewise.
17756         * tests/test-avltree_list.c: Likewise.
17757         * tests/test-avltree_oset.c: Likewise.
17758         * tests/test-avltreehash_list.c: Likewise.
17759         * tests/test-base64.c: Likewise.
17760         * tests/test-binary-io.c: Likewise.
17761         * tests/test-bitrotate.c: Likewise.
17762         * tests/test-btowc.c: Likewise.
17763         * tests/test-byteswap.c: Likewise.
17764         * tests/test-c-ctype.c: Likewise.
17765         * tests/test-c-stack.c: Likewise.
17766         * tests/test-c-strcasecmp.c: Likewise.
17767         * tests/test-c-strcasestr.c: Likewise.
17768         * tests/test-c-strncasecmp.c: Likewise.
17769         * tests/test-c-strstr.c: Likewise.
17770         * tests/test-canonicalize-lgpl.c: Likewise.
17771         * tests/test-canonicalize.c: Likewise.
17772         * tests/test-carray_list.c: Likewise.
17773         * tests/test-ceilf1.c: Likewise.
17774         * tests/test-ceilf2.c: Likewise.
17775         * tests/test-ceill.c: Likewise.
17776         * tests/test-chown.c: Likewise.
17777         * tests/test-cloexec.c: Likewise.
17778         * tests/test-copy-acl.c: Likewise.
17779         * tests/test-copy-file.c: Likewise.
17780         * tests/test-count-one-bits.c: Likewise.
17781         * tests/test-dprintf-posix.c: Likewise.
17782         * tests/test-dup2.c: Likewise.
17783         * tests/test-dup3.c: Likewise.
17784         * tests/test-duplocale.c: Likewise.
17785         * tests/test-fbufmode.c: Likewise.
17786         * tests/test-fchdir.c: Likewise.
17787         * tests/test-fchownat.c: Likewise.
17788         * tests/test-fcntl-safer.c: Likewise.
17789         * tests/test-fcntl.c: Likewise.
17790         * tests/test-fdopendir.c: Likewise.
17791         * tests/test-fdutimensat.c: Likewise.
17792         * tests/test-fflush2.c: Likewise.
17793         * tests/test-file-has-acl.c: Likewise.
17794         * tests/test-filevercmp.c: Likewise.
17795         * tests/test-flock.c: Likewise.
17796         * tests/test-floorf1.c: Likewise.
17797         * tests/test-floorf2.c: Likewise.
17798         * tests/test-floorl.c: Likewise.
17799         * tests/test-fnmatch.c: Likewise.
17800         * tests/test-fopen.h: Likewise.
17801         * tests/test-fpending.c: Likewise.
17802         * tests/test-fprintf-posix.c: Likewise.
17803         * tests/test-fpurge.c: Likewise.
17804         * tests/test-freadable.c: Likewise.
17805         * tests/test-freadahead.c: Likewise.
17806         * tests/test-freading.c: Likewise.
17807         * tests/test-freadptr.c: Likewise.
17808         * tests/test-freadptr2.c: Likewise.
17809         * tests/test-freadseek.c: Likewise.
17810         * tests/test-freopen.c: Likewise.
17811         * tests/test-frexp.c: Likewise.
17812         * tests/test-frexpl.c: Likewise.
17813         * tests/test-fseek.c: Likewise.
17814         * tests/test-fseeko.c: Likewise.
17815         * tests/test-fstatat.c: Likewise.
17816         * tests/test-fstrcmp.c: Likewise.
17817         * tests/test-fsync.c: Likewise.
17818         * tests/test-ftell.c: Likewise.
17819         * tests/test-ftello.c: Likewise.
17820         * tests/test-func.c: Likewise.
17821         * tests/test-futimens.c: Likewise.
17822         * tests/test-fwritable.c: Likewise.
17823         * tests/test-fwriting.c: Likewise.
17824         * tests/test-getcwd.c: Likewise.
17825         * tests/test-getdate.c: Likewise.
17826         * tests/test-getdelim.c: Likewise.
17827         * tests/test-getdtablesize.c: Likewise.
17828         * tests/test-getgroups.c: Likewise.
17829         * tests/test-getline.c: Likewise.
17830         * tests/test-getndelim2.c: Likewise.
17831         * tests/test-glob.c: Likewise.
17832         * tests/test-hash.c: Likewise.
17833         * tests/test-i-ring.c: Likewise.
17834         * tests/test-iconv-utf.c: Likewise.
17835         * tests/test-iconv.c: Likewise.
17836         * tests/test-idpriv-drop.c: Likewise.
17837         * tests/test-idpriv-droptemp.c: Likewise.
17838         * tests/test-inet_ntop.c: Likewise.
17839         * tests/test-inet_pton.c: Likewise.
17840         * tests/test-isblank.c: Likewise.
17841         * tests/test-isfinite.c: Likewise.
17842         * tests/test-isinf.c: Likewise.
17843         * tests/test-isnan.c: Likewise.
17844         * tests/test-isnand.h: Likewise.
17845         * tests/test-isnanf.h: Likewise.
17846         * tests/test-isnanl.h: Likewise.
17847         * tests/test-lchown.c: Likewise.
17848         * tests/test-ldexpl.c: Likewise.
17849         * tests/test-link.c: Likewise.
17850         * tests/test-linkat.c: Likewise.
17851         * tests/test-linked_list.c: Likewise.
17852         * tests/test-linkedhash_list.c: Likewise.
17853         * tests/test-localename.c: Likewise.
17854         * tests/test-lseek.c: Likewise.
17855         * tests/test-lstat.c: Likewise.
17856         * tests/test-mbmemcasecmp.c: Likewise.
17857         * tests/test-mbmemcasecoll.c: Likewise.
17858         * tests/test-mbrtowc.c: Likewise.
17859         * tests/test-mbscasecmp.c: Likewise.
17860         * tests/test-mbscasestr1.c: Likewise.
17861         * tests/test-mbscasestr2.c: Likewise.
17862         * tests/test-mbscasestr3.c: Likewise.
17863         * tests/test-mbscasestr4.c: Likewise.
17864         * tests/test-mbschr.c: Likewise.
17865         * tests/test-mbscspn.c: Likewise.
17866         * tests/test-mbsinit.c: Likewise.
17867         * tests/test-mbsncasecmp.c: Likewise.
17868         * tests/test-mbsnrtowcs.c: Likewise.
17869         * tests/test-mbspbrk.c: Likewise.
17870         * tests/test-mbspcasecmp.c: Likewise.
17871         * tests/test-mbsrchr.c: Likewise.
17872         * tests/test-mbsrtowcs.c: Likewise.
17873         * tests/test-mbsspn.c: Likewise.
17874         * tests/test-mbsstr1.c: Likewise.
17875         * tests/test-mbsstr2.c: Likewise.
17876         * tests/test-mbsstr3.c: Likewise.
17877         * tests/test-memchr.c: Likewise.
17878         * tests/test-memchr2.c: Likewise.
17879         * tests/test-memcmp.c: Likewise.
17880         * tests/test-memmem.c: Likewise.
17881         * tests/test-memrchr.c: Likewise.
17882         * tests/test-mkdir.c: Likewise.
17883         * tests/test-mkdirat.c: Likewise.
17884         * tests/test-mkfifo.c: Likewise.
17885         * tests/test-mkfifoat.c: Likewise.
17886         * tests/test-mknod.c: Likewise.
17887         * tests/test-nanosleep.c: Likewise.
17888         * tests/test-nl_langinfo.c: Likewise.
17889         * tests/test-obstack-printf.c: Likewise.
17890         * tests/test-open.c: Likewise.
17891         * tests/test-openat.c: Likewise.
17892         * tests/test-pipe-filter-gi1.c: Likewise.
17893         * tests/test-pipe-filter-gi2-main.c: Likewise.
17894         * tests/test-pipe-filter-ii1.c: Likewise.
17895         * tests/test-pipe-filter-ii2-main.c: Likewise.
17896         * tests/test-pipe2.c: Likewise.
17897         * tests/test-popen.h: Likewise.
17898         * tests/test-posixtm.c: Likewise.
17899         * tests/test-pread.c: Likewise.
17900         * tests/test-printf-frexp.c: Likewise.
17901         * tests/test-printf-frexpl.c: Likewise.
17902         * tests/test-printf-posix.c: Likewise.
17903         * tests/test-priv-set.c: Likewise.
17904         * tests/test-quotearg.c: Likewise.
17905         * tests/test-random_r.c: Likewise.
17906         * tests/test-rawmemchr.c: Likewise.
17907         * tests/test-rbtree_list.c: Likewise.
17908         * tests/test-rbtree_oset.c: Likewise.
17909         * tests/test-rbtreehash_list.c: Likewise.
17910         * tests/test-readlink.c: Likewise.
17911         * tests/test-remove.c: Likewise.
17912         * tests/test-rename.c: Likewise.
17913         * tests/test-renameat.c: Likewise.
17914         * tests/test-rmdir.c: Likewise.
17915         * tests/test-round1.c: Likewise.
17916         * tests/test-roundf1.c: Likewise.
17917         * tests/test-roundl.c: Likewise.
17918         * tests/test-safe-alloc.c: Likewise.
17919         * tests/test-sameacls.c: Likewise.
17920         * tests/test-set-mode-acl.c: Likewise.
17921         * tests/test-setenv.c: Likewise.
17922         * tests/test-sigaction.c: Likewise.
17923         * tests/test-signbit.c: Likewise.
17924         * tests/test-sleep.c: Likewise.
17925         * tests/test-snprintf-posix.c: Likewise.
17926         * tests/test-snprintf.c: Likewise.
17927         * tests/test-sprintf-posix.c: Likewise.
17928         * tests/test-stat-time.c: Likewise.
17929         * tests/test-stat.c: Likewise.
17930         * tests/test-strcasestr.c: Likewise.
17931         * tests/test-strchrnul.c: Likewise.
17932         * tests/test-strerror.c: Likewise.
17933         * tests/test-striconv.c: Likewise.
17934         * tests/test-striconveh.c: Likewise.
17935         * tests/test-striconveha.c: Likewise.
17936         * tests/test-strsignal.c: Likewise.
17937         * tests/test-strstr.c: Likewise.
17938         * tests/test-strtod.c: Likewise.
17939         * tests/test-strverscmp.c: Likewise.
17940         * tests/test-symlink.c: Likewise.
17941         * tests/test-symlinkat.c: Likewise.
17942         * tests/test-trunc1.c: Likewise.
17943         * tests/test-trunc2.c: Likewise.
17944         * tests/test-truncf1.c: Likewise.
17945         * tests/test-truncf2.c: Likewise.
17946         * tests/test-truncl.c: Likewise.
17947         * tests/test-uname.c: Likewise.
17948         * tests/test-unlink.c: Likewise.
17949         * tests/test-unlinkat.c: Likewise.
17950         * tests/test-unsetenv.c: Likewise.
17951         * tests/test-usleep.c: Likewise.
17952         * tests/test-utimens.c: Likewise.
17953         * tests/test-utimensat.c: Likewise.
17954         * tests/test-vasnprintf-posix.c: Likewise.
17955         * tests/test-vasnprintf-posix2.c: Likewise.
17956         * tests/test-vasnprintf.c: Likewise.
17957         * tests/test-vasprintf-posix.c: Likewise.
17958         * tests/test-vasprintf.c: Likewise.
17959         * tests/test-vdprintf-posix.c: Likewise.
17960         * tests/test-vfprintf-posix.c: Likewise.
17961         * tests/test-vprintf-posix.c: Likewise.
17962         * tests/test-vsnprintf-posix.c: Likewise.
17963         * tests/test-vsnprintf.c: Likewise.
17964         * tests/test-vsprintf-posix.c: Likewise.
17965         * tests/test-wcrtomb.c: Likewise.
17966         * tests/test-wcsnrtombs.c: Likewise.
17967         * tests/test-wcsrtombs.c: Likewise.
17968         * tests/test-wctype.c: Likewise.
17969         * tests/test-wcwidth.c: Likewise.
17970         * tests/test-xfprintf-posix.c: Likewise.
17971         * tests/test-xmemdup0.c: Likewise.
17972         * tests/test-xprintf-posix.c: Likewise.
17973         * tests/test-xvasprintf.c: Likewise.
17974         * tests/unicase/test-locale-language.c: Likewise.
17975         * tests/unicase/test-mapping-part1.h: Likewise.
17976         * tests/unicase/test-predicate-part1.h: Likewise.
17977         * tests/unicase/test-u8-casecmp.c: Likewise.
17978         * tests/unicase/test-u8-casecoll.c: Likewise.
17979         * tests/unicase/test-u8-casefold.c: Likewise.
17980         * tests/unicase/test-u8-is-cased.c: Likewise.
17981         * tests/unicase/test-u8-is-casefolded.c: Likewise.
17982         * tests/unicase/test-u8-is-lowercase.c: Likewise.
17983         * tests/unicase/test-u8-is-titlecase.c: Likewise.
17984         * tests/unicase/test-u8-is-uppercase.c: Likewise.
17985         * tests/unicase/test-u8-tolower.c: Likewise.
17986         * tests/unicase/test-u8-totitle.c: Likewise.
17987         * tests/unicase/test-u8-toupper.c: Likewise.
17988         * tests/unicase/test-u16-casecmp.c: Likewise.
17989         * tests/unicase/test-u16-casecoll.c: Likewise.
17990         * tests/unicase/test-u16-casefold.c: Likewise.
17991         * tests/unicase/test-u16-is-cased.c: Likewise.
17992         * tests/unicase/test-u16-is-casefolded.c: Likewise.
17993         * tests/unicase/test-u16-is-lowercase.c: Likewise.
17994         * tests/unicase/test-u16-is-titlecase.c: Likewise.
17995         * tests/unicase/test-u16-is-uppercase.c: Likewise.
17996         * tests/unicase/test-u16-tolower.c: Likewise.
17997         * tests/unicase/test-u16-totitle.c: Likewise.
17998         * tests/unicase/test-u16-toupper.c: Likewise.
17999         * tests/unicase/test-u32-casecmp.c: Likewise.
18000         * tests/unicase/test-u32-casecoll.c: Likewise.
18001         * tests/unicase/test-u32-casefold.c: Likewise.
18002         * tests/unicase/test-u32-is-cased.c: Likewise.
18003         * tests/unicase/test-u32-is-casefolded.c: Likewise.
18004         * tests/unicase/test-u32-is-lowercase.c: Likewise.
18005         * tests/unicase/test-u32-is-titlecase.c: Likewise.
18006         * tests/unicase/test-u32-is-uppercase.c: Likewise.
18007         * tests/unicase/test-u32-tolower.c: Likewise.
18008         * tests/unicase/test-u32-totitle.c: Likewise.
18009         * tests/unicase/test-u32-toupper.c: Likewise.
18010         * tests/unicase/test-ulc-casecmp.c: Likewise.
18011         * tests/unicase/test-ulc-casecoll.c: Likewise.
18012         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
18013         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
18014         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
18015         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
18016         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
18017         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
18018         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
18019         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
18020         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
18021         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
18022         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
18023         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
18024         * tests/unictype/test-bidi_byname.c: Likewise.
18025         * tests/unictype/test-bidi_name.c: Likewise.
18026         * tests/unictype/test-bidi_of.c: Likewise.
18027         * tests/unictype/test-bidi_test.c: Likewise.
18028         * tests/unictype/test-block_list.c: Likewise.
18029         * tests/unictype/test-block_of.c: Likewise.
18030         * tests/unictype/test-block_test.c: Likewise.
18031         * tests/unictype/test-categ_and.c: Likewise.
18032         * tests/unictype/test-categ_and_not.c: Likewise.
18033         * tests/unictype/test-categ_byname.c: Likewise.
18034         * tests/unictype/test-categ_name.c: Likewise.
18035         * tests/unictype/test-categ_none.c: Likewise.
18036         * tests/unictype/test-categ_of.c: Likewise.
18037         * tests/unictype/test-categ_or.c: Likewise.
18038         * tests/unictype/test-categ_test_withtable.c: Likewise.
18039         * tests/unictype/test-combining.c: Likewise.
18040         * tests/unictype/test-decdigit.c: Likewise.
18041         * tests/unictype/test-digit.c: Likewise.
18042         * tests/unictype/test-mirror.c: Likewise.
18043         * tests/unictype/test-numeric.c: Likewise.
18044         * tests/unictype/test-pr_byname.c: Likewise.
18045         * tests/unictype/test-pr_test.c: Likewise.
18046         * tests/unictype/test-predicate-part1.h: Likewise.
18047         * tests/unictype/test-scripts.c: Likewise.
18048         * tests/unictype/test-sy_c_ident.c: Likewise.
18049         * tests/unictype/test-sy_java_ident.c: Likewise.
18050         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
18051         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
18052         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
18053         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
18054         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
18055         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
18056         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
18057         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
18058         * tests/uninorm/test-canonical-decomposition.c: Likewise.
18059         * tests/uninorm/test-compat-decomposition.c: Likewise.
18060         * tests/uninorm/test-composition.c: Likewise.
18061         * tests/uninorm/test-decomposing-form.c: Likewise.
18062         * tests/uninorm/test-decomposition.c: Likewise.
18063         * tests/uninorm/test-u8-nfc.c: Likewise.
18064         * tests/uninorm/test-u8-nfd.c: Likewise.
18065         * tests/uninorm/test-u8-nfkc.c: Likewise.
18066         * tests/uninorm/test-u8-nfkd.c: Likewise.
18067         * tests/uninorm/test-u8-normcmp.c: Likewise.
18068         * tests/uninorm/test-u8-normcoll.c: Likewise.
18069         * tests/uninorm/test-u16-nfc.c: Likewise.
18070         * tests/uninorm/test-u16-nfd.c: Likewise.
18071         * tests/uninorm/test-u16-nfkc.c: Likewise.
18072         * tests/uninorm/test-u16-nfkd.c: Likewise.
18073         * tests/uninorm/test-u16-normcmp.c: Likewise.
18074         * tests/uninorm/test-u16-normcoll.c: Likewise.
18075         * tests/uninorm/test-u32-nfc.c: Likewise.
18076         * tests/uninorm/test-u32-nfd.c: Likewise.
18077         * tests/uninorm/test-u32-nfkc.c: Likewise.
18078         * tests/uninorm/test-u32-nfkd.c: Likewise.
18079         * tests/uninorm/test-u32-normalize-big.c: Likewise.
18080         * tests/uninorm/test-u32-normcmp.c: Likewise.
18081         * tests/uninorm/test-u32-normcoll.c: Likewise.
18082         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
18083         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
18084         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
18085         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
18086         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
18087         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
18088         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
18089         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
18090         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
18091         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
18092         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
18093         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
18094         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
18095         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
18096         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
18097         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
18098         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
18099         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
18100         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
18101         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
18102         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
18103         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
18104         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
18105         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
18106         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
18107         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
18108         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
18109         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
18110         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
18111         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
18112         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
18113         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
18114         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
18115         * tests/uniwidth/test-u8-strwidth.c: Likewise.
18116         * tests/uniwidth/test-u8-width.c: Likewise.
18117         * tests/uniwidth/test-u16-strwidth.c: Likewise.
18118         * tests/uniwidth/test-u16-width.c: Likewise.
18119         * tests/uniwidth/test-u32-strwidth.c: Likewise.
18120         * tests/uniwidth/test-u32-width.c: Likewise.
18121         * tests/uniwidth/test-uc_width.c: Likewise.
18122         * tests/uniwidth/test-uc_width2.c: Likewise.
18123         * modules/acl-tests (Files): Add tests/macros.h.
18124         * modules/areadlink-tests (Files): Likewise.
18125         * modules/areadlink-with-size-tests (Files): Likewise.
18126         * modules/areadlinkat-tests (Files): Likewise.
18127         * modules/areadlinkat-with-size-tests (Files): Likewise.
18128         * modules/argmatch-tests (Files): Likewise.
18129         * modules/argv-iter-tests (Files): Likewise.
18130         * modules/array-list-tests (Files): Likewise.
18131         * modules/array-mergesort-tests (Files): Likewise.
18132         * modules/array-oset-tests (Files): Likewise.
18133         * modules/avltree-list-tests (Files): Likewise.
18134         * modules/avltree-oset-tests (Files): Likewise.
18135         * modules/avltreehash-list-tests (Files): Likewise.
18136         * modules/base64-tests (Files): Likewise.
18137         * modules/binary-io-tests (Files): Likewise.
18138         * modules/bitrotate-tests (Files): Likewise.
18139         * modules/btowc-tests (Files): Likewise.
18140         * modules/byteswap-tests (Files): Likewise.
18141         * modules/c-ctype-tests (Files): Likewise.
18142         * modules/c-stack-tests (Files): Likewise.
18143         * modules/c-strcase-tests (Files): Likewise.
18144         * modules/c-strcasestr-tests (Files): Likewise.
18145         * modules/c-strstr-tests (Files): Likewise.
18146         * modules/canonicalize-lgpl-tests (Files): Likewise.
18147         * modules/canonicalize-tests (Files): Likewise.
18148         * modules/carray-list-tests (Files): Likewise.
18149         * modules/ceilf-tests (Files): Likewise.
18150         * modules/ceill-tests (Files): Likewise.
18151         * modules/chown-tests (Files): Likewise.
18152         * modules/cloexec-tests (Files): Likewise.
18153         * modules/copy-file-tests (Files): Likewise.
18154         * modules/count-one-bits-tests (Files): Likewise.
18155         * modules/dprintf-posix-tests (Files): Likewise.
18156         * modules/dup2-tests (Files): Likewise.
18157         * modules/dup3-tests (Files): Likewise.
18158         * modules/duplocale-tests (Files): Likewise.
18159         * modules/fbufmode-tests (Files): Likewise.
18160         * modules/fchdir-tests (Files): Likewise.
18161         * modules/fcntl-safer-tests (Files): Likewise.
18162         * modules/fcntl-tests (Files): Likewise.
18163         * modules/fdopendir-tests (Files): Likewise.
18164         * modules/fdutimensat-tests (Files): Likewise.
18165         * modules/fflush-tests (Files): Likewise.
18166         * modules/filevercmp-tests (Files): Likewise.
18167         * modules/flock-tests (Files): Likewise.
18168         * modules/floorf-tests (Files): Likewise.
18169         * modules/floorl-tests (Files): Likewise.
18170         * modules/fnmatch-tests (Files): Likewise.
18171         * modules/fopen-safer-tests (Files): Likewise.
18172         * modules/fopen-tests (Files): Likewise.
18173         * modules/fpending-tests (Files): Likewise.
18174         * modules/fprintf-posix-tests (Files): Likewise.
18175         * modules/fpurge-tests (Files): Likewise.
18176         * modules/freadable-tests (Files): Likewise.
18177         * modules/freadahead-tests (Files): Likewise.
18178         * modules/freading-tests (Files): Likewise.
18179         * modules/freadptr-tests (Files): Likewise.
18180         * modules/freadseek-tests (Files): Likewise.
18181         * modules/freopen-tests (Files): Likewise.
18182         * modules/frexp-nolibm-tests (Files): Likewise.
18183         * modules/frexp-tests (Files): Likewise.
18184         * modules/frexpl-nolibm-tests (Files): Likewise.
18185         * modules/frexpl-tests (Files): Likewise.
18186         * modules/fseek-tests (Files): Likewise.
18187         * modules/fseeko-tests (Files): Likewise.
18188         * modules/fstrcmp-tests (Files): Likewise.
18189         * modules/fsync-tests (Files): Likewise.
18190         * modules/ftell-tests (Files): Likewise.
18191         * modules/ftello-tests (Files): Likewise.
18192         * modules/func-tests (Files): Likewise.
18193         * modules/futimens-tests (Files): Likewise.
18194         * modules/fwritable-tests (Files): Likewise.
18195         * modules/fwriting-tests (Files): Likewise.
18196         * modules/getcwd-tests (Files): Likewise.
18197         * modules/getdate-tests (Files): Likewise.
18198         * modules/getdelim-tests (Files): Likewise.
18199         * modules/getdtablesize-tests (Files): Likewise.
18200         * modules/getgroups-tests (Files): Likewise.
18201         * modules/getline-tests (Files): Likewise.
18202         * modules/getndelim2-tests (Files): Likewise.
18203         * modules/glob-tests (Files): Likewise.
18204         * modules/hash-tests (Files): Likewise.
18205         * modules/i-ring-tests (Files): Likewise.
18206         * modules/iconv-tests (Files): Likewise.
18207         * modules/iconv_open-utf-tests (Files): Likewise.
18208         * modules/idpriv-drop-tests (Files): Likewise.
18209         * modules/idpriv-droptemp-tests (Files): Likewise.
18210         * modules/inet_ntop-tests (Files): Likewise.
18211         * modules/inet_pton-tests (Files): Likewise.
18212         * modules/isblank-tests (Files): Likewise.
18213         * modules/isfinite-tests (Files): Likewise.
18214         * modules/isinf-tests (Files): Likewise.
18215         * modules/isnan-tests (Files): Likewise.
18216         * modules/isnand-nolibm-tests (Files): Likewise.
18217         * modules/isnand-tests (Files): Likewise.
18218         * modules/isnanf-nolibm-tests (Files): Likewise.
18219         * modules/isnanf-tests (Files): Likewise.
18220         * modules/isnanl-nolibm-tests (Files): Likewise.
18221         * modules/isnanl-tests (Files): Likewise.
18222         * modules/lchown-tests (Files): Likewise.
18223         * modules/ldexpl-tests (Files): Likewise.
18224         * modules/link-tests (Files): Likewise.
18225         * modules/linkat-tests (Files): Likewise.
18226         * modules/linked-list-tests (Files): Likewise.
18227         * modules/linkedhash-list-tests (Files): Likewise.
18228         * modules/localename-tests (Files): Likewise.
18229         * modules/lseek-tests (Files): Likewise.
18230         * modules/lstat-tests (Files): Likewise.
18231         * modules/mbmemcasecmp-tests (Files): Likewise.
18232         * modules/mbmemcasecoll-tests (Files): Likewise.
18233         * modules/mbrtowc-tests (Files): Likewise.
18234         * modules/mbscasecmp-tests (Files): Likewise.
18235         * modules/mbscasestr-tests (Files): Likewise.
18236         * modules/mbschr-tests (Files): Likewise.
18237         * modules/mbscspn-tests (Files): Likewise.
18238         * modules/mbsinit-tests (Files): Likewise.
18239         * modules/mbsncasecmp-tests (Files): Likewise.
18240         * modules/mbsnrtowcs-tests (Files): Likewise.
18241         * modules/mbspbrk-tests (Files): Likewise.
18242         * modules/mbspcasecmp-tests (Files): Likewise.
18243         * modules/mbsrchr-tests (Files): Likewise.
18244         * modules/mbsrtowcs-tests (Files): Likewise.
18245         * modules/mbsspn-tests (Files): Likewise.
18246         * modules/mbsstr-tests (Files): Likewise.
18247         * modules/memchr-tests (Files): Likewise.
18248         * modules/memchr2-tests (Files): Likewise.
18249         * modules/memcmp-tests (Files): Likewise.
18250         * modules/memmem-tests (Files): Likewise.
18251         * modules/memrchr-tests (Files): Likewise.
18252         * modules/mkdir-tests (Files): Likewise.
18253         * modules/mkfifo-tests (Files): Likewise.
18254         * modules/mkfifoat-tests (Files): Likewise.
18255         * modules/mknod-tests (Files): Likewise.
18256         * modules/nanosleep-tests (Files): Likewise.
18257         * modules/nl_langinfo-tests (Files): Likewise.
18258         * modules/obstack-printf-tests (Files): Likewise.
18259         * modules/open-tests (Files): Likewise.
18260         * modules/openat-tests (Files): Likewise.
18261         * modules/pipe-filter-gi-tests (Files): Likewise.
18262         * modules/pipe-filter-ii-tests (Files): Likewise.
18263         * modules/pipe2-tests (Files): Likewise.
18264         * modules/popen-safer-tests (Files): Likewise.
18265         * modules/popen-tests (Files): Likewise.
18266         * modules/posixtm-tests (Files): Likewise.
18267         * modules/pread-tests (Files): Likewise.
18268         * modules/printf-frexp-tests (Files): Likewise.
18269         * modules/printf-frexpl-tests (Files): Likewise.
18270         * modules/printf-posix-tests (Files): Likewise.
18271         * modules/priv-set-tests (Files): Likewise.
18272         * modules/quotearg-tests (Files): Likewise.
18273         * modules/random_r-tests (Files): Likewise.
18274         * modules/rawmemchr-tests (Files): Likewise.
18275         * modules/rbtree-list-tests (Files): Likewise.
18276         * modules/rbtree-oset-tests (Files): Likewise.
18277         * modules/rbtreehash-list-tests (Files): Likewise.
18278         * modules/readlink-tests (Files): Likewise.
18279         * modules/remove-tests (Files): Likewise.
18280         * modules/rename-tests (Files): Likewise.
18281         * modules/renameat-tests (Files): Likewise.
18282         * modules/rmdir-tests (Files): Likewise.
18283         * modules/round-tests (Files): Likewise.
18284         * modules/roundf-tests (Files): Likewise.
18285         * modules/roundl-tests (Files): Likewise.
18286         * modules/safe-alloc-tests (Files): Likewise.
18287         * modules/setenv-tests (Files): Likewise.
18288         * modules/sigaction-tests (Files): Likewise.
18289         * modules/signbit-tests (Files): Likewise.
18290         * modules/sleep-tests (Files): Likewise.
18291         * modules/snprintf-posix-tests (Files): Likewise.
18292         * modules/snprintf-tests (Files): Likewise.
18293         * modules/sprintf-posix-tests (Files): Likewise.
18294         * modules/stat-tests (Files): Likewise.
18295         * modules/stat-time-tests (Files): Likewise.
18296         * modules/strcasestr-tests (Files): Likewise.
18297         * modules/strchrnul-tests (Files): Likewise.
18298         * modules/strerror-tests (Files): Likewise.
18299         * modules/striconv-tests (Files): Likewise.
18300         * modules/striconveh-tests (Files): Likewise.
18301         * modules/striconveha-tests (Files): Likewise.
18302         * modules/strsignal-tests (Files): Likewise.
18303         * modules/strstr-tests (Files): Likewise.
18304         * modules/strtod-tests (Files): Likewise.
18305         * modules/strverscmp-tests (Files): Likewise.
18306         * modules/symlink-tests (Files): Likewise.
18307         * modules/symlinkat-tests (Files): Likewise.
18308         * modules/trunc-tests (Files): Likewise.
18309         * modules/truncf-tests (Files): Likewise.
18310         * modules/truncl-tests (Files): Likewise.
18311         * modules/uname-tests (Files): Likewise.
18312         * modules/unicase/cased-tests (Files): Likewise.
18313         * modules/unicase/ignorable-tests (Files): Likewise.
18314         * modules/unicase/locale-language-tests (Files): Likewise.
18315         * modules/unicase/tolower-tests (Files): Likewise.
18316         * modules/unicase/totitle-tests (Files): Likewise.
18317         * modules/unicase/toupper-tests (Files): Likewise.
18318         * modules/unicase/u8-casecmp-tests (Files): Likewise.
18319         * modules/unicase/u8-casecoll-tests (Files): Likewise.
18320         * modules/unicase/u8-casefold-tests (Files): Likewise.
18321         * modules/unicase/u8-is-cased-tests (Files): Likewise.
18322         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
18323         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
18324         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
18325         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
18326         * modules/unicase/u8-tolower-tests (Files): Likewise.
18327         * modules/unicase/u8-totitle-tests (Files): Likewise.
18328         * modules/unicase/u8-toupper-tests (Files): Likewise.
18329         * modules/unicase/u16-casecmp-tests (Files): Likewise.
18330         * modules/unicase/u16-casecoll-tests (Files): Likewise.
18331         * modules/unicase/u16-casefold-tests (Files): Likewise.
18332         * modules/unicase/u16-is-cased-tests (Files): Likewise.
18333         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
18334         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
18335         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
18336         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
18337         * modules/unicase/u16-tolower-tests (Files): Likewise.
18338         * modules/unicase/u16-totitle-tests (Files): Likewise.
18339         * modules/unicase/u16-toupper-tests (Files): Likewise.
18340         * modules/unicase/u32-casecmp-tests (Files): Likewise.
18341         * modules/unicase/u32-casecoll-tests (Files): Likewise.
18342         * modules/unicase/u32-casefold-tests (Files): Likewise.
18343         * modules/unicase/u32-is-cased-tests (Files): Likewise.
18344         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
18345         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
18346         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
18347         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
18348         * modules/unicase/u32-tolower-tests (Files): Likewise.
18349         * modules/unicase/u32-totitle-tests (Files): Likewise.
18350         * modules/unicase/u32-toupper-tests (Files): Likewise.
18351         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
18352         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
18353         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
18354         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
18355         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
18356         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
18357         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
18358         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
18359         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
18360         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
18361         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
18362         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
18363         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
18364         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
18365         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
18366         * modules/unictype/bidicategory-name-tests (Files): Likewise.
18367         * modules/unictype/bidicategory-of-tests (Files): Likewise.
18368         * modules/unictype/bidicategory-test-tests (Files): Likewise.
18369         * modules/unictype/block-list-tests (Files): Likewise.
18370         * modules/unictype/block-of-tests (Files): Likewise.
18371         * modules/unictype/block-test-tests (Files): Likewise.
18372         * modules/unictype/category-C-tests (Files): Likewise.
18373         * modules/unictype/category-Cc-tests (Files): Likewise.
18374         * modules/unictype/category-Cf-tests (Files): Likewise.
18375         * modules/unictype/category-Cn-tests (Files): Likewise.
18376         * modules/unictype/category-Co-tests (Files): Likewise.
18377         * modules/unictype/category-Cs-tests (Files): Likewise.
18378         * modules/unictype/category-L-tests (Files): Likewise.
18379         * modules/unictype/category-Ll-tests (Files): Likewise.
18380         * modules/unictype/category-Lm-tests (Files): Likewise.
18381         * modules/unictype/category-Lo-tests (Files): Likewise.
18382         * modules/unictype/category-Lt-tests (Files): Likewise.
18383         * modules/unictype/category-Lu-tests (Files): Likewise.
18384         * modules/unictype/category-M-tests (Files): Likewise.
18385         * modules/unictype/category-Mc-tests (Files): Likewise.
18386         * modules/unictype/category-Me-tests (Files): Likewise.
18387         * modules/unictype/category-Mn-tests (Files): Likewise.
18388         * modules/unictype/category-N-tests (Files): Likewise.
18389         * modules/unictype/category-Nd-tests (Files): Likewise.
18390         * modules/unictype/category-Nl-tests (Files): Likewise.
18391         * modules/unictype/category-No-tests (Files): Likewise.
18392         * modules/unictype/category-P-tests (Files): Likewise.
18393         * modules/unictype/category-Pc-tests (Files): Likewise.
18394         * modules/unictype/category-Pd-tests (Files): Likewise.
18395         * modules/unictype/category-Pe-tests (Files): Likewise.
18396         * modules/unictype/category-Pf-tests (Files): Likewise.
18397         * modules/unictype/category-Pi-tests (Files): Likewise.
18398         * modules/unictype/category-Po-tests (Files): Likewise.
18399         * modules/unictype/category-Ps-tests (Files): Likewise.
18400         * modules/unictype/category-S-tests (Files): Likewise.
18401         * modules/unictype/category-Sc-tests (Files): Likewise.
18402         * modules/unictype/category-Sk-tests (Files): Likewise.
18403         * modules/unictype/category-Sm-tests (Files): Likewise.
18404         * modules/unictype/category-So-tests (Files): Likewise.
18405         * modules/unictype/category-Z-tests (Files): Likewise.
18406         * modules/unictype/category-Zl-tests (Files): Likewise.
18407         * modules/unictype/category-Zp-tests (Files): Likewise.
18408         * modules/unictype/category-Zs-tests (Files): Likewise.
18409         * modules/unictype/category-and-not-tests (Files): Likewise.
18410         * modules/unictype/category-and-tests (Files): Likewise.
18411         * modules/unictype/category-byname-tests (Files): Likewise.
18412         * modules/unictype/category-name-tests (Files): Likewise.
18413         * modules/unictype/category-none-tests (Files): Likewise.
18414         * modules/unictype/category-of-tests (Files): Likewise.
18415         * modules/unictype/category-or-tests (Files): Likewise.
18416         * modules/unictype/category-test-withtable-tests (Files): Likewise.
18417         * modules/unictype/combining-class-tests (Files): Likewise.
18418         * modules/unictype/ctype-alnum-tests (Files): Likewise.
18419         * modules/unictype/ctype-alpha-tests (Files): Likewise.
18420         * modules/unictype/ctype-blank-tests (Files): Likewise.
18421         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
18422         * modules/unictype/ctype-digit-tests (Files): Likewise.
18423         * modules/unictype/ctype-graph-tests (Files): Likewise.
18424         * modules/unictype/ctype-lower-tests (Files): Likewise.
18425         * modules/unictype/ctype-print-tests (Files): Likewise.
18426         * modules/unictype/ctype-punct-tests (Files): Likewise.
18427         * modules/unictype/ctype-space-tests (Files): Likewise.
18428         * modules/unictype/ctype-upper-tests (Files): Likewise.
18429         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
18430         * modules/unictype/decimal-digit-tests (Files): Likewise.
18431         * modules/unictype/digit-tests (Files): Likewise.
18432         * modules/unictype/mirror-tests (Files): Likewise.
18433         * modules/unictype/numeric-tests (Files): Likewise.
18434         * modules/unictype/property-alphabetic-tests (Files): Likewise.
18435         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
18436         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
18437         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
18438         Likewise.
18439         * modules/unictype/property-bidi-block-separator-tests (Files):
18440         Likewise.
18441         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
18442         Likewise.
18443         * modules/unictype/property-bidi-common-separator-tests (Files):
18444         Likewise.
18445         * modules/unictype/property-bidi-control-tests (Files): Likewise.
18446         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
18447         Likewise.
18448         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
18449         Likewise.
18450         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
18451         Likewise.
18452         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
18453         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
18454         Likewise.
18455         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
18456         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
18457         Likewise.
18458         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
18459         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
18460         * modules/unictype/property-bidi-segment-separator-tests (Files):
18461         Likewise.
18462         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
18463         * modules/unictype/property-byname-tests (Files): Likewise.
18464         * modules/unictype/property-combining-tests (Files): Likewise.
18465         * modules/unictype/property-composite-tests (Files): Likewise.
18466         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
18467         * modules/unictype/property-dash-tests (Files): Likewise.
18468         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
18469         * modules/unictype/property-default-ignorable-code-point-tests (Files):
18470         Likewise.
18471         * modules/unictype/property-deprecated-tests (Files): Likewise.
18472         * modules/unictype/property-diacritic-tests (Files): Likewise.
18473         * modules/unictype/property-extender-tests (Files): Likewise.
18474         * modules/unictype/property-format-control-tests (Files): Likewise.
18475         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
18476         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
18477         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
18478         * modules/unictype/property-hex-digit-tests (Files): Likewise.
18479         * modules/unictype/property-hyphen-tests (Files): Likewise.
18480         * modules/unictype/property-id-continue-tests (Files): Likewise.
18481         * modules/unictype/property-id-start-tests (Files): Likewise.
18482         * modules/unictype/property-ideographic-tests (Files): Likewise.
18483         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
18484         * modules/unictype/property-ids-trinary-operator-tests (Files):
18485         Likewise.
18486         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
18487         * modules/unictype/property-iso-control-tests (Files): Likewise.
18488         * modules/unictype/property-join-control-tests (Files): Likewise.
18489         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
18490         * modules/unictype/property-line-separator-tests (Files): Likewise.
18491         * modules/unictype/property-logical-order-exception-tests (Files):
18492         Likewise.
18493         * modules/unictype/property-lowercase-tests (Files): Likewise.
18494         * modules/unictype/property-math-tests (Files): Likewise.
18495         * modules/unictype/property-non-break-tests (Files): Likewise.
18496         * modules/unictype/property-not-a-character-tests (Files): Likewise.
18497         * modules/unictype/property-numeric-tests (Files): Likewise.
18498         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
18499         * modules/unictype/property-other-default-ignorable-code-point-tests
18500         (Files): Likewise.
18501         * modules/unictype/property-other-grapheme-extend-tests (Files):
18502         Likewise.
18503         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
18504         * modules/unictype/property-other-id-start-tests (Files): Likewise.
18505         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
18506         * modules/unictype/property-other-math-tests (Files): Likewise.
18507         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
18508         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
18509         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
18510         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
18511         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
18512         * modules/unictype/property-private-use-tests (Files): Likewise.
18513         * modules/unictype/property-punctuation-tests (Files): Likewise.
18514         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
18515         * modules/unictype/property-radical-tests (Files): Likewise.
18516         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
18517         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
18518         * modules/unictype/property-space-tests (Files): Likewise.
18519         * modules/unictype/property-terminal-punctuation-tests (Files):
18520         Likewise.
18521         * modules/unictype/property-test-tests (Files): Likewise.
18522         * modules/unictype/property-titlecase-tests (Files): Likewise.
18523         * modules/unictype/property-unassigned-code-value-tests (Files):
18524         Likewise.
18525         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
18526         * modules/unictype/property-uppercase-tests (Files): Likewise.
18527         * modules/unictype/property-variation-selector-tests (Files): Likewise.
18528         * modules/unictype/property-white-space-tests (Files): Likewise.
18529         * modules/unictype/property-xid-continue-tests (Files): Likewise.
18530         * modules/unictype/property-xid-start-tests (Files): Likewise.
18531         * modules/unictype/property-zero-width-tests (Files): Likewise.
18532         * modules/unictype/scripts-tests (Files): Likewise.
18533         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
18534         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
18535         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
18536         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
18537         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
18538         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
18539         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
18540         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
18541         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
18542         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
18543         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
18544         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
18545         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
18546         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
18547         * modules/uninorm/composition-tests (Files): Likewise.
18548         * modules/uninorm/decomposing-form-tests (Files): Likewise.
18549         * modules/uninorm/decomposition-tests (Files): Likewise.
18550         * modules/uninorm/filter-tests (Files): Likewise.
18551         * modules/uninorm/nfc-tests (Files): Likewise.
18552         * modules/uninorm/nfd-tests (Files): Likewise.
18553         * modules/uninorm/nfkc-tests (Files): Likewise.
18554         * modules/uninorm/nfkd-tests (Files): Likewise.
18555         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
18556         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
18557         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
18558         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
18559         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
18560         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
18561         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
18562         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
18563         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
18564         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
18565         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
18566         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
18567         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
18568         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
18569         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
18570         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
18571         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
18572         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
18573         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
18574         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
18575         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
18576         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
18577         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
18578         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
18579         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
18580         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
18581         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
18582         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
18583         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
18584         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
18585         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
18586         * modules/uniwidth/u8-width-tests (Files): Likewise.
18587         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
18588         * modules/uniwidth/u16-width-tests (Files): Likewise.
18589         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
18590         * modules/uniwidth/u32-width-tests (Files): Likewise.
18591         * modules/uniwidth/width-tests (Files): Likewise.
18592         * modules/unlink-tests (Files): Likewise.
18593         * modules/unsetenv-tests (Files): Likewise.
18594         * modules/usleep-tests (Files): Likewise.
18595         * modules/utimens-tests (Files): Likewise.
18596         * modules/utimensat-tests (Files): Likewise.
18597         * modules/vasnprintf-posix-tests (Files): Likewise.
18598         * modules/vasnprintf-tests (Files): Likewise.
18599         * modules/vasprintf-posix-tests (Files): Likewise.
18600         * modules/vasprintf-tests (Files): Likewise.
18601         * modules/vdprintf-posix-tests (Files): Likewise.
18602         * modules/vfprintf-posix-tests (Files): Likewise.
18603         * modules/vprintf-posix-tests (Files): Likewise.
18604         * modules/vsnprintf-posix-tests (Files): Likewise.
18605         * modules/vsnprintf-tests (Files): Likewise.
18606         * modules/vsprintf-posix-tests (Files): Likewise.
18607         * modules/wcrtomb-tests (Files): Likewise.
18608         * modules/wcsnrtombs-tests (Files): Likewise.
18609         * modules/wcsrtombs-tests (Files): Likewise.
18610         * modules/wctype-tests (Files): Likewise.
18611         * modules/wcwidth-tests (Files): Likewise.
18612         * modules/xmemdup0-tests (Files): Likewise.
18613         * modules/xprintf-posix-tests (Files): Likewise.
18614         * modules/xvasprintf-tests (Files): Likewise.
18615
18616 2009-12-24  Eric Blake  <ebb9@byu.net>
18617
18618         test-nanosleep: fix typo
18619         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
18620         patch.
18621         Reported by Bruno Haible.
18622
18623 2009-12-24  Bruno Haible  <bruno@clisp.org>
18624
18625         Reduce namespace pollution on glibc systems.
18626         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
18627         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
18628         systems.
18629         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
18630         <getopt.h> on glibc systems.
18631         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
18632         systems.
18633         * lib/fcntl.c: Include <unistd.h> here instead.
18634
18635 2009-12-24  Bruno Haible  <bruno@clisp.org>
18636
18637         * lib/stdlib.in.h (includes): Fix typo in today's commit.
18638
18639 2009-12-24  Eric Blake  <ebb9@byu.net>
18640
18641         tests: add signature checks
18642         * tests/signature.h (SIGNATURE_CHECK): New file.
18643         * modules/atexit-tests (Files): Use it.
18644         * modules/btowc-tests (Files): Likewise.
18645         * modules/canonicalize-lgpl-tests (Files): Likewise.
18646         * modules/ceilf-tests (Files): Likewise.
18647         * modules/ceill-tests (Files): Likewise.
18648         * modules/chown-tests (Files): Likewise.
18649         * modules/dprintf-posix-tests (Files): Likewise.
18650         * modules/dup2-tests (Files): Likewise.
18651         * modules/dup3-tests (Files): Likewise.
18652         * modules/duplocale-tests (Files): Likewise.
18653         * modules/fchdir-tests (Files): Likewise.
18654         * modules/fcntl-tests (Files): Likewise.
18655         * modules/fdopendir-tests (Files): Likewise.
18656         * modules/fflush-tests (Files): Likewise.
18657         * modules/flock-tests (Files): Likewise.
18658         * modules/floorf-tests (Files): Likewise.
18659         * modules/floorl-tests (Files): Likewise.
18660         * modules/fnmatch-tests (Files): Likewise.
18661         * modules/fopen-tests (Files): Likewise.
18662         * modules/fprintf-posix-tests (Files): Likewise.
18663         * modules/freopen-tests (Files): Likewise.
18664         * modules/frexp-nolibm-tests (Files): Likewise.
18665         * modules/frexp-tests (Files): Likewise.
18666         * modules/frexpl-nolibm-tests (Files): Likewise.
18667         * modules/frexpl-tests (Files): Likewise.
18668         * modules/fseek-tests (Files): Likewise.
18669         * modules/fseeko-tests (Files): Likewise.
18670         * modules/fsync-tests (Files): Likewise.
18671         * modules/ftell-tests (Files): Likewise.
18672         * modules/ftello-tests (Files): Likewise.
18673         * modules/futimens-tests (Files): Likewise.
18674         * modules/getaddrinfo-tests (Files): Likewise.
18675         * modules/getcwd-tests (Files): Likewise.
18676         * modules/getdelim-tests (Files): Likewise.
18677         * modules/getdtablesize-tests (Files): Likewise.
18678         * modules/getgroups-tests (Files): Likewise.
18679         * modules/gethostname-tests (Files): Likewise.
18680         * modules/getline-tests (Files): Likewise.
18681         * modules/getopt-posix-tests (Files): Likewise.
18682         * modules/gettimeofday-tests (Files): Likewise.
18683         * modules/glob-tests (Files): Likewise.
18684         * modules/iconv-tests (Files): Likewise.
18685         * modules/inet_ntop-tests (Files): Likewise.
18686         * modules/inet_pton-tests (Files): Likewise.
18687         * modules/isblank-tests (Files): Likewise.
18688         * modules/lchown-tests (Files): Likewise.
18689         * modules/ldexpl-tests (Files): Likewise.
18690         * modules/link-tests (Files): Likewise.
18691         * modules/linkat-tests (Files): Likewise.
18692         * modules/lseek-tests (Files): Likewise.
18693         * modules/lstat-tests (Files): Likewise.
18694         * modules/mbrtowc-tests (Files): Likewise.
18695         * modules/mbsinit-tests (Files): Likewise.
18696         * modules/mbsnrtowcs-tests (Files): Likewise.
18697         * modules/mbsrtowcs-tests (Files): Likewise.
18698         * modules/memchr-tests (Files): Likewise.
18699         * modules/memcmp-tests (Files): Likewise.
18700         * modules/memmem-tests (Files): Likewise.
18701         * modules/memrchr-tests (Files): Likewise.
18702         * modules/mkdir-tests (Files): Likewise.
18703         * modules/mkfifo-tests (Files): Likewise.
18704         * modules/mkfifoat-tests (Files): Likewise.
18705         * modules/mknod-tests (Files): Likewise.
18706         * modules/nanosleep-tests (Files): Likewise.
18707         * modules/nl_langinfo-tests (Files): Likewise.
18708         * modules/obstack-printf-tests (Files): Likewise.
18709         * modules/open-tests (Files): Likewise.
18710         * modules/openat-tests (Files): Likewise.
18711         * modules/perror-tests (Files): Likewise.
18712         * modules/pipe2-tests (Files): Likewise.
18713         * modules/poll-tests (Files): Likewise.
18714         * modules/popen-tests (Files): Likewise.
18715         * modules/posix_spawn-tests (Files): Likewise.
18716         * modules/posix_spawnp-tests (Files): Likewise.
18717         * modules/pread-tests (Files): Likewise.
18718         * modules/printf-posix-tests (Files): Likewise.
18719         * modules/pty-tests (Files): Likewise.
18720         * modules/random_r-tests (Files): Likewise.
18721         * modules/rawmemchr-tests (Files): Likewise.
18722         * modules/readlink-tests (Files): Likewise.
18723         * modules/remove-tests (Files): Likewise.
18724         * modules/rename-tests (Files): Likewise.
18725         * modules/renameat-tests (Files): Likewise.
18726         * modules/rmdir-tests (Files): Likewise.
18727         * modules/round-tests (Files): Likewise.
18728         * modules/roundf-tests (Files): Likewise.
18729         * modules/roundl-tests (Files): Likewise.
18730         * modules/select-tests (Files): Likewise.
18731         * modules/setenv-tests (Files): Likewise.
18732         * modules/sigaction-tests (Files): Likewise.
18733         * modules/sleep-tests (Files): Likewise.
18734         * modules/snprintf-posix-tests (Files): Likewise.
18735         * modules/snprintf-tests (Files): Likewise.
18736         * modules/sprintf-posix-tests (Files): Likewise.
18737         * modules/stat-tests (Files): Likewise.
18738         * modules/strcasestr-tests (Files): Likewise.
18739         * modules/strchrnul-tests (Files): Likewise.
18740         * modules/strerror-tests (Files): Likewise.
18741         * modules/strsignal-tests (Files): Likewise.
18742         * modules/strstr-tests (Files): Likewise.
18743         * modules/strtod-tests (Files): Likewise.
18744         * modules/strverscmp-tests (Files): Likewise.
18745         * modules/symlink-tests (Files): Likewise.
18746         * modules/symlinkat-tests (Files): Likewise.
18747         * modules/times-tests (Files): Likewise.
18748         * modules/trunc-tests (Files): Likewise.
18749         * modules/truncf-tests (Files): Likewise.
18750         * modules/truncl-tests (Files): Likewise.
18751         * modules/tsearch-tests (Files): Likewise.
18752         * modules/uname-tests (Files): Likewise.
18753         * modules/unlink-tests (Files): Likewise.
18754         * modules/unsetenv-tests (Files): Likewise.
18755         * modules/usleep-tests (Files): Likewise.
18756         * modules/utimensat-tests (Files): Likewise.
18757         * modules/vasprintf-tests (Files): Likewise.
18758         * modules/vdprintf-posix-tests (Files): Likewise.
18759         * modules/vfprintf-posix-tests (Files): Likewise.
18760         * modules/vprintf-posix-tests (Files): Likewise.
18761         * modules/vsnprintf-posix-tests (Files): Likewise.
18762         * modules/vsnprintf-tests (Files): Likewise.
18763         * modules/vsprintf-posix-tests (Files): Likewise.
18764         * modules/wcrtomb-tests (Files): Likewise.
18765         * modules/wcsnrtombs-tests (Files): Likewise.
18766         * modules/wcsrtombs-tests (Files): Likewise.
18767         * modules/wcwidth-tests (Files): Likewise.
18768         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
18769         * tests/test-isinf.c (isinf): Likewise.
18770         * tests/test-isnan.c (isnan): Likewise.
18771         * tests/test-signbit.c (signbit): Likewise.
18772         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
18773         declaration, either as macro or with correct signature.
18774         (select): Ensure function under test is declared with correct
18775         signature in correct header.
18776         * tests/test-atexit.c (atexit): Likewise.
18777         * tests/test-btowc.c (btowc): Likewise.
18778         * tests/test-canonicalize-lgpl.c (realpath)
18779         (canonicalize_file_name): Likewise.
18780         * tests/test-ceilf1.c (ceilf): Likewise.
18781         * tests/test-ceill.c (ceill): Likewise.
18782         * tests/test-chown.c (chown): Likewise.
18783         * tests/test-dprintf-posix.c (dprintf): Likewise.
18784         * tests/test-dup2.c (dup2): Likewise.
18785         * tests/test-dup3.c (dup3): Likewise.
18786         * tests/test-duplocale.c (duplocale): Likewise.
18787         * tests/test-fchdir.c (fchdir): Likewise.
18788         * tests/test-fchownat.c (fchownat): Likewise.
18789         * tests/test-fcntl.c (fcntl): Likewise.
18790         * tests/test-fdopendir.c (fdopendir): Likewise.
18791         * tests/test-fflush.c (fflush): Likewise.
18792         * tests/test-flock.c (flock): Likewise.
18793         * tests/test-floorf1.c (floorf): Likewise.
18794         * tests/test-floorl.c (floorl): Likewise.
18795         * tests/test-fnmatch.c (fnmatch): Likewise.
18796         * tests/test-fopen.c (fopen): Likewise.
18797         * tests/test-fprintf-posix.c (fprintf): Likewise.
18798         * tests/test-freopen.c (freopen): Likewise.
18799         * tests/test-frexp.c (frexp): Likewise.
18800         * tests/test-frexpl.c (frexpl): Likewise.
18801         * tests/test-fseek.c (fseek): Likewise.
18802         * tests/test-fseeko.c (fseeko): Likewise.
18803         * tests/test-fstatat.c (fstatat): Likewise.
18804         * tests/test-fsync.c (fsync): Likewise.
18805         * tests/test-ftell.c (ftell): Likewise.
18806         * tests/test-ftello.c (ftello): Likewise.
18807         * tests/test-futimens.c (futimens): Likewise.
18808         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
18809         (gai_strerror): Likewise.
18810         * tests/test-getcwd.c (getcwd): Likewise.
18811         * tests/test-getdelim.c (getdelim): Likewise.
18812         * tests/test-getdtablesize.c (getdtablesize): Likewise.
18813         * tests/test-getgroups.c (getgroups): Likewise.
18814         * tests/test-gethostname.c (gethostname): Likewise.
18815         * tests/test-getline.c (getline): Likewise.
18816         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
18817         Likewise.
18818         * tests/test-gettimeofday.c (gettimeofday): Likewise.
18819         * tests/test-glob.c (glob, globfree): Likewise.
18820         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
18821         * tests/test-inet_ntop.c (inet_ntop): Likewise.
18822         * tests/test-inet_pton.c (inet_pton): Likewise.
18823         * tests/test-isblank.c (isblank): Likewise.
18824         * tests/test-lchown.c (lchown): Likewise.
18825         * tests/test-ldexpl.c (ldexpl): Likewise.
18826         * tests/test-link.c (link): Likewise.
18827         * tests/test-linkat.c (linkat): Likewise.
18828         * tests/test-lseek.c (lseek): Likewise.
18829         * tests/test-lstat.c (lstat): Likewise.
18830         * tests/test-mbrtowc.c (mbrtowc): Likewise.
18831         * tests/test-mbsinit.c (mbsinit): Likewise.
18832         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
18833         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
18834         * tests/test-memchr.c (memchr): Likewise.
18835         * tests/test-memcmp.c (memcmp): Likewise.
18836         * tests/test-memmem.c (memmem): Likewise.
18837         * tests/test-memrchr.c (memrchr): Likewise.
18838         * tests/test-mkdir.c (mkdir): Likewise.
18839         * tests/test-mkdirat.c (mkdirat): Likewise.
18840         * tests/test-mkfifo.c (mkfifo): Likewise.
18841         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
18842         * tests/test-mknod.c (mknod): Likewise.
18843         * tests/test-nanosleep.c (nanosleep): Likewise.
18844         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
18845         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
18846         Likewise.
18847         * tests/test-open.c (open): Likewise.
18848         * tests/test-openat.c (openat): Likewise.
18849         * tests/test-perror.c (perror): Likewise.
18850         * tests/test-pipe2.c (pipe2): Likewise.
18851         * tests/test-poll.c (poll): Likewise.
18852         * tests/test-popen.c (popen, pclose): Likewise.
18853         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
18854         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
18855         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
18856         (posix_spawn_file_actions_destroy)
18857         (posix_spawn_file_actions_addclose)
18858         (posix_spawn_file_actions_addopen)
18859         (posix_spawn_file_actions_adddup2): Likewise.
18860         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
18861         * tests/test-pread.c (pread): Likewise.
18862         * tests/test-printf-posix.c (printf): Likewise.
18863         * tests/test-pty.c (openpty, forkpty): Likewise.
18864         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
18865         (random_r): Likewise.
18866         * tests/test-rawmemchr.c (rawmemchr): Likewise.
18867         * tests/test-readlink.c (readlink): Likewise.
18868         * tests/test-remove.c (remove): Likewise.
18869         * tests/test-rename.c (rename): Likewise.
18870         * tests/test-renameat.c (renameat): Likewise.
18871         * tests/test-rmdir.c (rmdir): Likewise.
18872         * tests/test-round1.c (round): Likewise.
18873         * tests/test-roundf1.c (roundf): Likewise.
18874         * tests/test-roundl.c (roundl): Likewise.
18875         * tests/test-setenv.c (setenv): Likewise.
18876         * tests/test-sigaction.c (sigaction): Likewise.
18877         * tests/test-sleep.c (sleep): Likewise.
18878         * tests/test-snprintf.c (snprintf): Likewise.
18879         * tests/test-sprintf-posix.c (sprintf): Likewise.
18880         * tests/test-stat.c (stat): Likewise.
18881         * tests/test-stpncpy.c (stpncpy): Likewise.
18882         * tests/test-strcasestr.c (strcasestr): Likewise.
18883         * tests/test-strchrnul.c (strchrnul): Likewise.
18884         * tests/test-strerror.c (strerror): Likewise.
18885         * tests/test-strsignal.c (strsignal): Likewise.
18886         * tests/test-strstr.c (strstr): Likewise.
18887         * tests/test-strtod.c (strtod): Likewise.
18888         * tests/test-strverscmp.c (strverscmp): Likewise.
18889         * tests/test-symlink.c (symlink): Likewise.
18890         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
18891         * tests/test-times.c (times): Likewise.
18892         * tests/test-trunc1.c (trunc): Likewise.
18893         * tests/test-truncf1.c (truncf): Likewise.
18894         * tests/test-truncl.c (truncl): Likewise.
18895         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
18896         Likewise.
18897         * tests/test-uname.c (uname): Likewise.
18898         * tests/test-unlink.c (unlink): Likewise.
18899         * tests/test-unlinkat.c (unlinkat): Likewise.
18900         * tests/test-unsetenv.c (unsetenv): Likewise.
18901         * tests/test-usleep.c (usleep): Likewise.
18902         * tests/test-utimensat.c (utimensat): Likewise.
18903         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
18904         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
18905         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
18906         * tests/test-vprintf-posix.c (vprintf): Likewise.
18907         * tests/test-vsnprintf.c (vsnprintf): Likewise.
18908         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
18909         * tests/test-wcrtomb.c (wcrtomb): Likewise.
18910         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
18911         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
18912         * tests/test-wcwidth.c (wcwidth): Likewise.
18913
18914         build: pull in conditional headers during GNULIB_POSIXCHECK
18915         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
18916         definitions from any conditionally-included headers.
18917         * lib/stdlib.in.h (includes): Likewise.
18918         * lib/unistd.in.h (includes): Likewise.
18919
18920 2009-12-24  Bruno Haible  <bruno@clisp.org>
18921
18922         * tests/test-argv-iter.c: Include header file being tested immediately
18923         after config.h.
18924         * tests/test-base64.c: Likewise.
18925         * tests/test-flock.c: Likewise.
18926         * tests/test-fsync.c: Likewise.
18927         * tests/test-getdate.c: Likewise.
18928         * tests/test-getndelim2.c: Likewise.
18929         * tests/test-isfinite.c: Likewise.
18930         * tests/test-isinf.c: Likewise.
18931         * tests/test-strerror.c: Likewise.
18932         * tests/test-strsignal.c: Likewise.
18933
18934 2009-12-23  Eric Blake  <ebb9@byu.net>
18935
18936         unistd: work around cygwin bug
18937         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
18938         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
18939         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
18940
18941 2009-12-23  Bruno Haible  <bruno@clisp.org>
18942
18943         localename: More tests.
18944         * tests/test-localename.c (SIZEOF): New macro.
18945         (categories): New variable.
18946         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
18947         test_locale_name_default): Add test w.r.t. thread locale.
18948         (test_locale_name_thread): New function.
18949         (main): Invoke it.
18950
18951         localename: Make aware of thread locale.
18952         * lib/localename.h (gl_locale_name_thread): New declaration.
18953         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
18954         behaviour with respect to thread locale.
18955         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
18956         <langinfo.h>, glthread/lock.h.
18957         (SIZE_BITS): New macro.
18958         (string_hash): New function.
18959         (struct hash_node): New type.
18960         (HASH_TABLE_SIZE): New macro.
18961         (struniq_hash_table, struniq_lock): New variables.
18962         (struniq): New function.
18963         (gl_locale_name_thread): New function.
18964         (gl_locale_name): Invoke it.
18965         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
18966         * modules/localename (Depends-on): Add lock.
18967         Reported by Mike Gran <spk121@yahoo.com>.
18968
18969 2009-12-23  Eric Blake  <ebb9@byu.net>
18970
18971         va-args: new module
18972         * modules/va-args: New file.
18973         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
18974         * MODULES.html.sh (Core language properties): Mention it.
18975
18976         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
18977         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
18978         named alias for __attribute__((__unused__)).
18979         * lib/chown.c: Update client.
18980         * lib/fchmodat.c: Likewise.
18981         * lib/fts.c: Likewise.
18982         * lib/getdate.y: Likewise.
18983         * lib/getgroups.c: Likewise.
18984         * lib/getopt.c: Likewise.
18985         * lib/getugroups.c: Likewise.
18986         * lib/mkdir.c: Likewise.
18987         * lib/mkfifo.c: Likewise.
18988         * lib/mkfifoat.c: Likewise.
18989         * lib/mknod.c: Likewise.
18990         * lib/mknodat.c: Likewise.
18991         * lib/readlink.c: Likewise.
18992         * lib/se-context.in.h: Likewise.
18993         * lib/se-selinux.in.h: Likewise.
18994         * lib/sockets.c: Likewise.
18995         * lib/symlink.c: Likewise.
18996         * lib/symlinkat.c: Likewise.
18997         * lib/unicodeio.c: Likewise.
18998         * lib/unistr.h: Likewise.
18999         * tests/test-areadlink.c: Likewise.
19000         * tests/test-areadlinkat.c: Likewise.
19001         * tests/test-filenamecat.c: Likewise.
19002         * tests/test-fseeko.c: Likewise.
19003         * tests/test-ftello.c: Likewise.
19004         * tests/test-getdate.c: Likewise.
19005         * tests/test-getgroups.c: Likewise.
19006         * tests/test-gethostname.c: Likewise.
19007         * tests/test-quotearg.c: Likewise.
19008         * tests/test-version-etc.c: Likewise.
19009         * tests/test-xalloc-die.c: Likewise.
19010         * tests/test-xfprintf-posix.c: Likewise.
19011         * tests/test-xprintf-posix.c: Likewise.
19012         * tests/test-xvasprintf.c: Likewise.
19013
19014         tests: avoid compiler warnings
19015         * tests/test-fcntl.c (main): Delete unused parameters.
19016         * tests/test-freopen-safer.c (main): Likewise.
19017         * tests/test-xalloc-die.c (main): Mark unused parameters.
19018         * tests/test-fseeko.c (main): Likewise.
19019         * tests/test-ftello.c (main): Likewise.
19020         * tests/test-nanosleep.c (main): Avoid declaration warning.
19021         * tests/test-sleep.c (main): Likewise.
19022         * tests/test-unsetenv.c (main): Silence warning about string
19023         literal.
19024         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
19025
19026 2009-12-23  Bruno Haible  <bruno@clisp.org>
19027
19028         * tests/test-localename.c (test_locale_name): New function, extracted
19029         from main. Also test mixed situations.
19030         (test_locale_name_posix, test_locale_name_environ,
19031         test_locale_name_default): New functions.
19032         (main): Invoke them all.
19033         * modules/localename-tests (configure.ac): Test for newlocale.
19034
19035 2009-12-23  Bruno Haible  <bruno@clisp.org>
19036
19037         unistd: Ensure getcwd gets declared before being overridden.
19038         * lib/unistd.in.h: Conditionally include <io.h>.
19039
19040 2009-12-22  Bruno Haible  <bruno@clisp.org>
19041
19042         wchar: Diagnose broken combination of glibc and gcc versions and flags.
19043         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
19044         (gl_WCHAR_H): Invoke it.
19045         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
19046         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
19047         Reported by Karl Berry <karl@freefriends.org>.
19048
19049 2009-12-22  Eric Blake  <ebb9@byu.net>
19050
19051         math, unistd: avoid redundant includes
19052         * lib/math.in.h (isnan): No need to re-include <math.h>.
19053         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
19054
19055         getsubopt: work around cygwin bug
19056         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
19057         avoid conflicting with system getsubopt.
19058         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
19059         bug.
19060
19061         getopt: synchronize from glibc
19062         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
19063         parameter order.  Adjust all callers.
19064         (_getopt_internal_r, main): Adjust quoting in error messages.
19065         Drop considerations for outdated POSIX 1003.2 error message.
19066         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
19067         callers.
19068         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
19069
19070         test-getopt: test stderr behavior
19071         * modules/getopt-posix-tests (Depends-on): Add dup2.
19072         * tests/test-getopt.c (ASSERT): Avoid stderr.
19073         (main): Move stderr to a temporary file.
19074         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
19075         Instead, add parameter to inform caller if output occurred.
19076         (test_getopt): Adjust all existing tests to expect silence, and
19077         add new tests of leading ":".
19078         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
19079         glibc shortcomings with leading "-:" or "+:" in optstring.
19080         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
19081         Likewise.
19082         * doc/posix-functions/getopt.texi (getopt): Likewise.
19083
19084         test-getopt: enhance test
19085         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
19086         supports optind=0.
19087         * tests/test-getopt.c (OPTIND_MIN): Move...
19088         * tests/test-getopt.h (OPTIND_MIN): ...here.
19089         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
19090         Require that optind=0 works, since modern BSD supports it in
19091         addition to optreset, and since coreutils expects it.
19092         (test_getopt_long_only): New test.
19093         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
19094         glibc shortcomings with 'W;', and enforcement of optind=0.
19095         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
19096         Likewise.
19097
19098 2009-12-21  Bruno Haible  <bruno@clisp.org>
19099
19100         localename: Improvements for MacOS X and Cygwin.
19101         * lib/localename.h (gl_locale_name_environ): New declaration.
19102         * lib/localename.c (gl_locale_name_environ): New function, extracted from
19103         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
19104         (gl_locale_name_posix): Invoke it.
19105         (gl_locale_name_default): Add comments. Use Windows native API also on
19106         Cygwin.
19107
19108 2009-12-21  Bruno Haible  <bruno@clisp.org>
19109
19110         Update list of Win32 locale ids.
19111         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
19112         (LANG_SAMI): Renamed from LANG_SAAMI.
19113         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
19114         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
19115         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
19116         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
19117         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
19118         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
19119         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
19120         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
19121         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
19122         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
19123         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
19124         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
19125         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
19126         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
19127         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
19128         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
19129         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
19130         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
19131         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
19132         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
19133         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
19134         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
19135         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
19136         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
19137         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
19138         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
19139         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
19140         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
19141         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
19142         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
19143         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
19144         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
19145         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
19146         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
19147         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
19148         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
19149         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
19150         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
19151         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
19152         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
19153         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
19154         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
19155         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
19156         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
19157         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
19158         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
19159         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
19160         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
19161         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
19162         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
19163         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
19164         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
19165         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
19166         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
19167         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
19168         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
19169         Add more languages and countries for Sami, Sorbian. Add more countries
19170         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
19171         for Pashto. Change country for Syriac, Tswana.
19172
19173 2009-12-21  Eric Blake  <ebb9@byu.net>
19174
19175         test-utimens: avoid spurious failure
19176         * tests/test-chown.h (nap): Factor...
19177         * tests/nap.h: ...into new file.
19178         * tests/test-lchown.h (nap): Avoid duplication.
19179         * tests/test-utimens-common.h (nap): Use shared implementation,
19180         necessary on file systems with 1-second resolution.
19181         * modules/chown-tests (Files): Include new file.
19182         * modules/fdutimensat-tests (Files): Likewise.
19183         * modules/futimens-tests (Files): Likewise.
19184         * modules/lchown-tests (Files): Likewise.
19185         * modules/openat-tests (Files): Likewise.
19186         * modules/utimens-tests (Files): Likewise.
19187         * modules/utimensat-tests (Files): Likewise.
19188
19189 2009-12-19  Eric Blake  <ebb9@byu.net>
19190
19191         futimens, utimensat: work around Linux bug
19192         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
19193         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
19194         * lib/utimensat.c (rpl_utimensat): Work around it.
19195         * lib/futimens.c (rpl_futimens): Adjust comment.
19196
19197         utimens: work around Linux ctime bug
19198         * lib/utimens.c (detect_ctime_bug): New helper function.
19199         (update_timespec): Differentiate between workaround needed for
19200         this bug vs. what is needed for systems that lack utimensat.
19201         (fdutimens, lutimens): Work around bug.
19202
19203         utimens: check for ctime update
19204         * tests/test-utimens-common.h (check_ctime): Define.
19205         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
19206         * tests/test-futimens.h (test_futimens): Likewise.
19207         * tests/test-lutimens.h (test_lutimens): Likewise.
19208         * doc/posix-functions/futimens.texi (futimens): Document the bug.
19209         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
19210
19211 2009-12-19  Bruno Haible  <bruno@clisp.org>
19212
19213         dprintf-posix: Check against memory leak fixed on 2009-12-15.
19214         * tests/test-dprintf-posix2.sh: New file.
19215         * tests/test-dprintf-posix2.c: New file.
19216         * modules/dprintf-posix-tests (Files): Add them.
19217         (configure.ac): Check for getrlimit and setrlimit.
19218         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
19219
19220 2009-12-19  Bruno Haible  <bruno@clisp.org>
19221
19222         fprintf-posix: Check against memory leak fixed on 2009-12-15.
19223         * tests/test-fprintf-posix3.sh: New file.
19224         * tests/test-fprintf-posix3.c: New file.
19225         * modules/fprintf-posix-tests (Files): Add them.
19226         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
19227
19228 2009-12-19  Eric Blake  <ebb9@byu.net>
19229
19230         dirfd: fix prototype
19231         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
19232         * lib/dirfd.c (dirfd): Likewise.
19233
19234         canonicalize: reduce memory usage
19235         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
19236         allocation to size.
19237         Reported by Solar Designer <solar@openwall.com>.
19238
19239 2009-12-19  Bruno Haible  <bruno@clisp.org>
19240
19241         New module attribute 'Applicability'.
19242         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
19243         * gnulib-tool: New option --extract-applicability.
19244         (func_usage): Document it.
19245         (sed_extract_prog): Recognize it.
19246         (func_get_applicability): New function.
19247         (func_import): Generalize handling of 'link-warning' module.
19248         * modules/link-warning (Applicability): New section.
19249         * modules/arg-nonnull (Applicability): New section.
19250         Repoted by Simon Josefsson <simon@josefsson.org>.
19251
19252 2009-12-19  Bruno Haible  <bruno@clisp.org>
19253
19254         fflush: tweak
19255         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
19256         * lib/fseeko.c (rpl_fseeko): Likewise.
19257
19258 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
19259
19260         * lib/gl_list.h: Fix typo in comment.
19261
19262 2009-12-16  Eric Blake  <ebb9@byu.net>
19263
19264         fcntl: use to simplify other modules
19265         * modules/cloexec (Depends-on): Add fcntl.
19266         * modules/fchdir (Depends-on): Likewise.
19267         * modules/fd-safer-flag (Depends-on): Likewise.
19268         * modules/unistd-safer (Depends-on): Likewise.
19269         * modules/dup3 (configure.ac): Set module indicator.
19270         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
19271         missing.
19272         * lib/fchdir.c (_gl_register_dup): Fix comment.
19273         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
19274         * lib/dup-safer.c (dup_safer): Likewise.
19275         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
19276         * lib/dup3.c (dup3): Likewise.
19277         * tests/test-fchdir.c (main): Enhance test.
19278         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
19279
19280         fcntl: port portions of fcntl to mingw
19281         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
19282         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
19283         replacement for mingw.
19284         * modules/fcntl (Description): Update.
19285         (Depends-on): Add dup2.
19286         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
19287         * modules/fcntl-h (Makefile.am): Substitute it.
19288         * lib/fcntl.in.h (fcntl): Update declaration.
19289         (F_DUPFD, F_GETFD): New macros, when needed.
19290         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
19291         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
19292         * tests/test-fcntl.c (check_flags, main): Enhance test for items
19293         we now guarantee.
19294
19295         fcntl: work around cygwin bug in F_DUPFD
19296         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
19297         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
19298         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
19299         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
19300         * doc/posix-functions/fcntl.texi (fcntl): Document it.
19301
19302         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
19303         * modules/fcntl (Files): List new files.
19304         (configure.ac): Run a test.
19305         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
19306         * lib/fcntl.c (rpl_fcntl): Likewise.
19307         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
19308         (gl_FCNTL_H): Always replace fcntl.h.
19309         * modules/fcntl-h (Makefile.am): Substitute witnesses.
19310         * lib/fcntl.in.h (fcntl): Declare replacement.
19311         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
19312         needed, plus a witness.
19313         * doc/posix-functions/fcntl.texi (fcntl): Document this.
19314         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
19315         * tests/test-fcntl.c: New file.
19316         * modules/fcntl-tests: Likewise.
19317
19318         binary-io: avoid potential compilation warning
19319         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
19320         directives.
19321
19322         fflush: avoid compilation error on NetBSD
19323         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
19324         between off_t and fpos_t, since the latter is sometimes a struct.
19325         * lib/fseeko.c (rpl_fseeko): Likewise.
19326         Reported by Alexander Nasonov <alnsn@yandex.ru>.
19327
19328 2009-12-15  Eric Blake  <ebb9@byu.net>
19329
19330         fcntl-h, stdio, sys_ioctl: fix declarations
19331         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
19332         function must not take arguments.
19333         * lib/sys_ioctl.in.h (ioctl): Likewise.
19334         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
19335         (open): Add a link warning.
19336
19337 2009-12-15  Jim Meyering  <meyering@redhat.com>
19338
19339         areadlink, areadlink-with-size: relax license to LGPLv2+
19340         * modules/areadlink (License): Relax to LGPLv2+.
19341         * modules/areadlink-with-size (License): Likewise.
19342
19343 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
19344             Bruno Haible  <bruno@clisp.org>
19345
19346         *printf: Fix memory leak.
19347         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
19348         * lib/vfprintf.c (vfprintf): Likewise.
19349         * lib/dprintf.c (dprintf): Likewise.
19350         * lib/vdprintf.c (vdprintf): Likewise.
19351
19352 2009-12-14  Eric Blake  <ebb9@byu.net>
19353
19354         accept4: adjust module dependencies
19355         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
19356
19357         utimens: one more try at avoiding compiler warning
19358         * lib/utimens.c (lutimens): Lower scope of result.
19359
19360 2009-12-13  Bruno Haible  <bruno@clisp.org>
19361
19362         Move the malloc checking from module 'list' to new module 'xlist'.
19363         * modules/xlist: New file.
19364         * lib/gl_xlist.h: New file.
19365         * lib/gl_xlist.c: New file.
19366         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
19367         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
19368         gl_list_add_last, gl_list_add_before, gl_list_add_after,
19369         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
19370         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
19371         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
19372         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
19373         gl_sortedlist_nx_add): New declarations.
19374         (struct gl_list_implementation): Rename and change methods accordingly.
19375         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
19376         (gl_list_nx_create): Renamed from gl_list_create.
19377         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
19378         (gl_list_nx_set_at): Renamed from gl_list_set_at.
19379         (gl_list_nx_add_first): Renamed from gl_list_add_first.
19380         (gl_list_nx_add_last): Renamed from gl_list_add_last.
19381         (gl_list_nx_add_before): Renamed from gl_list_add_before.
19382         (gl_list_nx_add_after): Renamed from gl_list_add_after.
19383         (gl_list_nx_add_at): Renamed from gl_list_add_at.
19384         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
19385         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
19386         gl_list_create_empty.
19387         (gl_list_nx_create): Renamed from gl_list_create.
19388         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
19389         (gl_list_nx_set_at): Renamed from gl_list_set_at.
19390         (gl_list_nx_add_first): Renamed from gl_list_add_first.
19391         (gl_list_nx_add_last): Renamed from gl_list_add_last.
19392         (gl_list_nx_add_before): Renamed from gl_list_add_before.
19393         (gl_list_nx_add_after): Renamed from gl_list_add_after.
19394         (gl_list_nx_add_at): Renamed from gl_list_add_at.
19395         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
19396         * lib/gl_array_list.c: Don't include xalloc.h.
19397         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
19398         NULL upon out-of-memory.
19399         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
19400         out-of-memory.
19401         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
19402         Change return type to 'int'.
19403         (gl_array_nx_set_at): Renamed from gl_array_set_at.
19404         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
19405         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
19406         upon out-of-memory.
19407         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
19408         upon out-of-memory.
19409         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
19410         upon out-of-memory.
19411         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
19412         upon out-of-memory.
19413         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
19414         out-of-memory.
19415         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
19416         Update.
19417         (gl_array_list_implementation): Update.
19418         * lib/gl_carray_list.c: Don't include xalloc.h.
19419         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
19420         Return NULL upon out-of-memory.
19421         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
19422         out-of-memory.
19423         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
19424         Change return type to 'int'.
19425         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
19426         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
19427         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
19428         upon out-of-memory.
19429         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
19430         upon out-of-memory.
19431         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
19432         out-of-memory.
19433         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
19434         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
19435         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
19436         Update.
19437         (gl_carray_list_implementation): Update.
19438         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
19439         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
19440         gl_linked_create_empty. Return NULL upon out-of-memory.
19441         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
19442         out-of-memory.
19443         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
19444         Change return type to 'int'. Return -1 upon out-of-memory.
19445         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
19446         out-of-memory.
19447         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
19448         upon out-of-memory.
19449         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
19450         upon out-of-memory.
19451         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
19452         NULL upon out-of-memory.
19453         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
19454         upon out-of-memory.
19455         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
19456         out-of-memory.
19457         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
19458         Update.
19459         * lib/gl_linked_list.c: Don't include xalloc.h.
19460         (gl_linked_list_implementation): Update.
19461         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
19462         (add_to_bucket): Change return type to 'int'.
19463         (gl_linkedhash_list_implementation): Update.
19464         * lib/gl_anytree_list1.h (free_subtree): New function.
19465         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
19466         gl_tree_create_empty. Return NULL upon out-of-memory.
19467         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
19468         Change return type to 'int'. Return -1 upon out-of-memory.
19469         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
19470         out-of-memory.
19471         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
19472         (gl_tree_remove_node): New function, moved here from
19473         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
19474         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
19475         Update.
19476         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
19477         malloc, not xmalloc. Return NULL upon out-of-memory.
19478         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
19479         out-of-memory.
19480         (gl_tree_remove_node_from_tree): New function, extracted from
19481         gl_tree_remove_node.
19482         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
19483         upon out-of-memory.
19484         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
19485         out-of-memory.
19486         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
19487         upon out-of-memory.
19488         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
19489         upon out-of-memory.
19490         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
19491         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
19492         not xmalloc. Return NULL upon out-of-memory.
19493         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
19494         out-of-memory.
19495         (gl_tree_remove_node_from_tree): New function, extracted from
19496         gl_tree_remove_node.
19497         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
19498         upon out-of-memory.
19499         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
19500         out-of-memory.
19501         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
19502         upon out-of-memory.
19503         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
19504         upon out-of-memory.
19505         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
19506         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
19507         gl_anytree_list1.h before gl_anyavltree_list2.h.
19508         (gl_avltree_list_implementation): Update.
19509         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
19510         gl_anytree_list1.h before gl_anyavltree_list2.h.
19511         (gl_rbtree_list_implementation): Update.
19512         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
19513         Change return type to 'int'. Return -1 upon out-of-memory. Use
19514         __builtin_expect.
19515         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
19516         (gl_avltreehash_list_implementation): Update.
19517         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
19518         (gl_rbtreehash_list_implementation): Update.
19519         * modules/array-list (Depends-on): Remove xalloc.
19520         * modules/carray-list (Depends-on): Likewise.
19521         * modules/linked-list (Depends-on): Likewise.
19522         * modules/linkedhash-list (Depends-on): Likewise.
19523         * modules/avltree-list (Depends-on): Likewise.
19524         * modules/rbtree-list (Depends-on): Likewise.
19525         * modules/avltreehash-list (Depends-on): Likewise.
19526         * modules/rbtreehash-list (Depends-on): Likewise.
19527
19528         * modules/xsublist: New file.
19529         * lib/gl_xsublist.h: New file.
19530         * lib/gl_xsublist.c: New file.
19531         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
19532         (gl_sublist_nx_create): New declaration.
19533         * lib/gl_sublist.c: Don't include xalloc.h.
19534         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
19535         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
19536         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
19537         Change return type to 'int'. Return -1 upon out-of-memory.
19538         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
19539         upon out-of-memory.
19540         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
19541         NULL upon out-of-memory.
19542         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
19543         upon out-of-memory.
19544         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
19545         NULL upon out-of-memory.
19546         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
19547         NULL upon out-of-memory.
19548         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
19549         upon out-of-memory.
19550         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
19551         (gl_sublist_list_implementation): Update.
19552         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
19553         upon out-of-memory.
19554         * modules/sublist (Depends-on): Remove xalloc.
19555
19556         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
19557         * tests/test-carray_list.c: Likewise.
19558         * tests/test-linked_list.c: Likewise.
19559         * tests/test-linkedhash_list.c: Likewise.
19560         * tests/test-avltree_list.c: Likewise.
19561         * tests/test-rbtree_list.c: Likewise.
19562         * tests/test-avltreehash_list.c: Likewise.
19563         * tests/test-rbtreehash_list.c: Likewise.
19564         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
19565         * modules/carray-list-tests (Makefile.am): Likewise.
19566         * modules/linked-list-tests (Makefile.am): Likewise.
19567         * modules/linkedhash-list-tests (Makefile.am): Likewise.
19568         * modules/avltree-list-tests (Makefile.am): Likewise.
19569         * modules/rbtree-list-tests (Makefile.am): Likewise.
19570         * modules/avltreehash-list-tests (Makefile.am): Likewise.
19571         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
19572
19573         * NEWS: Mention the changes.
19574
19575         * lib/clean-temp.c: Include gl_xlist.h.
19576         * modules/clean-temp (Depends-on): Add xlist.
19577
19578         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
19579         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
19580
19581         * tests/test-array_oset.c: Include gl_xlist.h.
19582         * modules/array-oset-tests (Depends-on): Add xlist.
19583
19584         Reported by José E. Marchesi <jemarch@gnu.org>.
19585
19586 2009-12-13  Bruno Haible  <bruno@clisp.org>
19587
19588         Move the malloc checking from module 'oset' to new module 'xoset'.
19589         * modules/xoset: New file.
19590         * lib/gl_xoset.h: New file.
19591         * lib/gl_xoset.c: New file.
19592         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
19593         declarations.
19594         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
19595         (struct gl_oset_implementation): Rename and change methods accordingly.
19596         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
19597         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
19598         'int'. Mark as __warn_unused_result__.
19599         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
19600         gl_oset_create_empty.
19601         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
19602         'int'.
19603         * lib/gl_array_oset.c: Don't include xalloc.h.
19604         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
19605         malloc, not xmalloc.
19606         (grow): Change return type to 'int'. Don't call xalloc_die.
19607         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
19608         to 'int'.
19609         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
19610         'int'.
19611         (gl_array_oset_implementation): Update.
19612         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
19613         gl_tree_create_empty.
19614         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
19615         'int'.
19616         * lib/gl_avltree_oset.c: Don't include xalloc.h.
19617         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
19618         xmalloc.
19619         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
19620         not xmalloc.
19621         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
19622         xmalloc.
19623         (gl_avltree_oset_implementation): Update.
19624         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
19625         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
19626         xmalloc.
19627         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
19628         not xmalloc.
19629         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
19630         xmalloc.
19631         (gl_rbtree_oset_implementation): Update.
19632         * modules/array-oset (Depends-on): Remove xalloc.
19633         * modules/avltree-oset (Depends-on): Likewise.
19634         * modules/rbtree-oset (Depends-on): Likewise.
19635         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
19636         * tests/test-avltree_oset.c: Likewise.
19637         * tests/test-rbtree_oset.c: Likewise.
19638         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
19639         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
19640         * modules/rbtree-oset-tests (Makefile.am): Likewise.
19641         * NEWS: Mention the change.
19642
19643 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
19644
19645         maint.mk: allow a project to override release-prep commands
19646         * top/maint.mk (alpha, beta, stable): Move release-preparatory
19647         commands into a new rule.
19648         (release-prep): New rule.
19649         (release-prep-hook): New overridable variable.
19650
19651 2009-12-13  Bruno Haible  <bruno@clisp.org>
19652
19653         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
19654
19655 2009-12-13  Jim Meyering  <meyering@redhat.com>
19656
19657         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
19658         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
19659
19660 2009-12-12  Bruno Haible  <bruno@clisp.org>
19661
19662         duplocale: Tweak.
19663         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
19664
19665 2009-12-12  Karl Berry  <karl@gnu.org>
19666
19667         * config/srclist.txt (strtoll.c): tab changes, no more sync.
19668
19669 2009-12-12  Bruno Haible  <bruno@clisp.org>
19670
19671         * m4/po.m4: Undo incorrect untabification.
19672
19673 2009-12-12  Bruno Haible  <bruno@clisp.org>
19674
19675         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
19676         * modules/c-strtod (Depends-on): Add locale.
19677         * modules/c-strtold (Depends-on): Likewise.
19678
19679 2009-12-12  Bruno Haible  <bruno@clisp.org>
19680
19681         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
19682
19683 2009-12-11  Eric Blake  <ebb9@byu.net>
19684
19685         setenv: relax requirement in light of POSIX ruling
19686         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
19687         not NULL.
19688         * tests/test-setenv.c (main): Relax test.
19689         * tests/test-unsetenv.c (main): Likewise.
19690         * doc/posix-functions/setenv.texi (setenv): Document this.
19691         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
19692
19693 2009-12-11  Bruno Haible  <bruno@clisp.org>
19694
19695         New module 'fd-safer-flag'.
19696         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
19697         * lib/dup-safer.c (dup_safer_flag): Remove function.
19698         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
19699         * lib/fd-safer.c (fd_safer_flag): Remove function.
19700         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
19701         * modules/cloexec (configure.ac): Drop indicator macro.
19702         * modules/fd-safer-flag: New file.
19703         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
19704         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
19705         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
19706
19707 2009-12-11  Bruno Haible  <bruno@clisp.org>
19708
19709         Tests for module 'nl_langinfo'.
19710         * modules/nl_langinfo-tests: New file.
19711         * tests/test-nl_langinfo.sh: New file.
19712         * tests/test-nl_langinfo.c: New file.
19713
19714         New module 'nl_langinfo'.
19715         * lib/nl_langinfo.c: New file.
19716         * m4/nl_langinfo.m4: New file.
19717         * modules/nl_langinfo: New file.
19718         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
19719
19720 2009-12-11  Bruno Haible  <bruno@clisp.org>
19721
19722         Tests for module 'langinfo'.
19723         * modules/langinfo-tests: New file.
19724         * tests/test-langinfo.c: New file.
19725
19726         New module 'langinfo'.
19727         * lib/langinfo.in.h: New file.
19728         * m4/langinfo_h.m4: New file.
19729         * modules/langinfo: New file.
19730         * doc/posix-headers/langinfo.texi: Mention the new module.
19731
19732 2009-12-11  Bruno Haible  <bruno@clisp.org>
19733
19734         * lib/config.charset: Untabify.
19735
19736 2009-12-11  Bruno Haible  <bruno@clisp.org>
19737
19738         * modules/unistd-safer (configure.ac): Drop indicator macro.
19739
19740 2009-12-11  Bruno Haible  <bruno@clisp.org>
19741
19742         Move pipe2-safer code to its own file.
19743         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
19744         * lib/pipe-safer.c (pipe2_safer): Remove function.
19745         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
19746         (Makefile.am): Add it to lib_SOURCES.
19747
19748 2009-12-10  Bruno Haible  <bruno@clisp.org>
19749
19750         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
19751
19752 2009-12-10  Bruno Haible  <bruno@clisp.org>
19753
19754         Declare which arguments expect non-NULL values, for GCC and clang.
19755         * build-aux/arg-nonnull.h: New file.
19756         * modules/arg-nonnull: New file.
19757         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
19758         (inet_ntop, inet_pton): Use it.
19759         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
19760         (closedir, dirfd, opendir, scandir, alphasort): Use it.
19761         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
19762         (open, openat): Use it.
19763         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
19764         (fnmatch): Use it.
19765         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
19766         (getopt, getopt_long, getopt_long_only): Use it.
19767         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
19768         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
19769         Use it.
19770         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
19771         (iconv_open): Use it.
19772         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
19773         (strtoimax, strtoumax): Use it.
19774         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
19775         (duplocale): Use it.
19776         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
19777         (frexp, frexpl): Use it.
19778         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
19779         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
19780         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
19781         (tsearch, tfind, tdelete, twalk): Use it.
19782         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
19783         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
19784         sigpending): Use it.
19785         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
19786         (posix_spawn, posix_spawnp, posix_spawnattr_init,
19787         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
19788         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
19789         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
19790         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
19791         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
19792         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
19793         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
19794         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
19795         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
19796         Use it.
19797         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
19798         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
19799         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
19800         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
19801         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
19802         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
19803         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
19804         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
19805         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
19806         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
19807         strtoull, unsetenv): Use it.
19808         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
19809         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
19810         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
19811         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
19812         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
19813         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
19814         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
19815         (strcasecmp, strncasecmp): Use it.
19816         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
19817         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
19818         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
19819         rpl_setsockopt): Use it.
19820         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
19821         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
19822         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
19823         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
19824         (gettimeofday): Use it.
19825         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
19826         (times): Use it.
19827         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
19828         (uname): Use it.
19829         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
19830         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
19831         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
19832         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
19833         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
19834         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
19835         unlinkat, write): Use it.
19836         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
19837         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
19838         * lib/argv-iter.h: Include arg-nonnull.h.
19839         (_ATTRIBUTE_NONNULL_): Remove macro.
19840         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
19841         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
19842         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
19843         optimization.
19844         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
19845         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
19846         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
19847         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
19848         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
19849         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
19850         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
19851         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
19852         * modules/arpa_inet (Depends-on): Add arg-nonnull.
19853         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
19854         * modules/dirent (Depends-on): Add arg-nonnull.
19855         (Makefile.am): Insert arg-nonnull.h into dirent.h.
19856         * modules/fcntl-h (Depends-on): Add arg-nonnull.
19857         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
19858         * modules/fnmatch (Depends-on): Add arg-nonnull.
19859         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
19860         * modules/getopt-posix (Depends-on): Add arg-nonnull.
19861         (Makefile.am): Insert arg-nonnull.h into getopt.h.
19862         * modules/glob (Depends-on): Add arg-nonnull.
19863         (Makefile.am): Insert arg-nonnull.h into glob.h.
19864         * modules/iconv_open (Depends-on): Add arg-nonnull.
19865         (Makefile.am): Insert arg-nonnull.h into iconv.h.
19866         * modules/inttypes (Depends-on): Add arg-nonnull.
19867         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
19868         * modules/locale (Depends-on): Add arg-nonnull.
19869         (Makefile.am): Insert arg-nonnull.h into locale.h.
19870         * modules/math (Depends-on): Add arg-nonnull.
19871         (Makefile.am): Insert arg-nonnull.h into math.h.
19872         * modules/netdb (Depends-on): Add arg-nonnull.
19873         (Makefile.am): Insert arg-nonnull.h into netdb.h.
19874         * modules/search (Depends-on): Add arg-nonnull.
19875         (Makefile.am): Insert arg-nonnull.h into search.h.
19876         * modules/signal (Depends-on): Add arg-nonnull.
19877         (Makefile.am): Insert arg-nonnull.h into signal.h.
19878         * modules/spawn (Depends-on): Add arg-nonnull.
19879         (Makefile.am): Insert arg-nonnull.h into spawn.h.
19880         * modules/stdio (Depends-on): Add arg-nonnull.
19881         (Makefile.am): Insert arg-nonnull.h into stdio.h.
19882         * modules/stdlib (Depends-on): Add arg-nonnull.
19883         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
19884         * modules/string (Depends-on): Add arg-nonnull.
19885         (Makefile.am): Insert arg-nonnull.h into string.h.
19886         * modules/strings (Depends-on): Add arg-nonnull.
19887         (Makefile.am): Insert arg-nonnull.h into strings.h.
19888         * modules/sys_socket (Depends-on): Add arg-nonnull.
19889         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
19890         * modules/sys_stat (Depends-on): Add arg-nonnull.
19891         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
19892         * modules/sys_time (Depends-on): Add arg-nonnull.
19893         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
19894         * modules/sys_times (Depends-on): Add arg-nonnull.
19895         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
19896         * modules/sys_utsname (Depends-on): Add arg-nonnull.
19897         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
19898         * modules/time (Depends-on): Add arg-nonnull.
19899         (Makefile.am): Insert arg-nonnull.h into time.h.
19900         * modules/unistd (Depends-on): Add arg-nonnull.
19901         (Makefile.am): Insert arg-nonnull.h into unistd.h.
19902         * modules/wchar (Depends-on): Add arg-nonnull.
19903         (Makefile.am): Insert arg-nonnull.h into wchar.h.
19904         * modules/argv-iter (Depends-on): Add arg-nonnull.
19905         * tests/test-canonicalize.c (null_ptr): New function.
19906         (main): Use it.
19907         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
19908         (main): Use it.
19909         * tests/test-memmem.c (null_ptr): New function.
19910         (main): Use it.
19911         Reported by Jim Meyering.
19912
19913 2009-12-10  Bruno Haible  <bruno@clisp.org>
19914
19915         Use spaces for indentation, not tabs.
19916         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
19917         * m4/*.m4: Untabify.
19918         * build-aux/*.h: Untabify.
19919         * tests/**/*.[hc]: Untabify.
19920         * README: New section "Indent with spaces, not TABs", based on
19921         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
19922         * NEWS: Mention the change.
19923
19924 2009-12-10  Bruno Haible  <bruno@clisp.org>
19925
19926         pty test: Fix link error.
19927         * modules/pty-tests (Makefile.am): Add the default LDADD value to
19928         test_pty_LDADD.
19929
19930 2009-12-07  Simon Josefsson  <simon@josefsson.org>
19931
19932         * modules/pty: New file.
19933         * modules/pty-tests: New file.
19934         * m4/pty.m4: New file.
19935         * tests/test-pty.c: New file.
19936         * doc/glibc-headers/pty.texi: Modified.
19937         * doc/glibc-functions/forkpty.texi: Modified.
19938         * doc/glibc-functions/openpty.texi: Modified.
19939
19940 2009-12-10  Bruno Haible  <bruno@clisp.org>
19941
19942         Avoid syntax error in C++ mode.
19943         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
19944
19945 2009-12-10  Bruno Haible  <bruno@clisp.org>
19946
19947         Use sed with option -e.
19948         * gnulib-tool (func_version, func_emit_copyright_notice,
19949         func_emit_initmacro_end, func_import, func_create_testdir): Pass
19950         option -e to sed.
19951         * modules/link-warning (Makefile.am): Likewise.
19952
19953 2009-12-10  Jim Meyering  <meyering@redhat.com>
19954
19955         mgetgroups: do not write bytes beyond end of malloc'd buffer
19956         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
19957         username, we call getgroups with a one-element-shorter buffer,
19958         but still told it the length was original, max_n_groups.
19959
19960 2009-12-09  Eric Blake  <ebb9@byu.net>
19961
19962         cloexec: relax license
19963         * modules/cloexec (Maintainer): Add myself.
19964         (License): Use LGPL, not GPL.
19965
19966         link-warning: optimize generation
19967         * modules/link-warning (Makefile.am): Reduce process usage.
19968
19969 2009-12-09  Bruno Haible  <bruno@clisp.org>
19970
19971         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
19972         workaround was added on 2009-11-17.
19973
19974 2009-12-09  Jim Meyering  <meyering@redhat.com>
19975             Bruno Haible  <bruno@clisp.org>
19976
19977         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
19978         * modules/link-warning (Makefile.am): Make the comment-removing sed
19979         command more robust in the face of bootstrap-prepended comment lines.
19980
19981 2009-12-09  Bruno Haible  <bruno@clisp.org>
19982
19983         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
19984         most one group.
19985
19986 2009-12-09  Simon Josefsson <simon@josefsson.org>
19987             Bruno Haible  <bruno@clisp.org>
19988
19989         * build-aux/link-warning.h: Add copyright notice.
19990         * modules/link-warning (Makefile.am): Generate link-warning.h from
19991         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
19992         * NEWS: Mention change in link-warning module.
19993         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
19994         * modules/dirent (Makefile.am): Add dependency to dirent.h.
19995         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
19996         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
19997         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
19998         * modules/math (Makefile.am): Add dependency to math.h.
19999         * modules/search (Makefile.am): Add dependency to search.h.
20000         * modules/signal (Makefile.am): Add dependency to signal.h.
20001         * modules/spawn (Makefile.am): Add dependency to spawn.h.
20002         * modules/stdio (Makefile.am): Add dependency to stdio.h.
20003         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
20004         * modules/string (Makefile.am): Add dependency to string.h.
20005         * modules/strings (Makefile.am): Add dependency to strings.h.
20006         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
20007         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
20008         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
20009         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
20010         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
20011         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
20012         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
20013         * modules/unistd (Makefile.am): Add dependency to unistd.h.
20014         * modules/wchar (Makefile.am): Add dependency to wchar.h.
20015
20016 2009-12-09  Bruno Haible  <bruno@clisp.org>
20017
20018         fchdir: Optimize away rpl_fstat when possible.
20019         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
20020         REPLACE_OPEN_DIRECTORY.
20021         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
20022
20023 2009-12-09  Bruno Haible  <bruno@clisp.org>
20024
20025         * lib/fchdir.c: Update comment.
20026
20027 2009-12-09  Bruno Haible  <bruno@clisp.org>
20028
20029         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
20030
20031 2009-12-08  Eric Blake  <ebb9@byu.net>
20032
20033         fchdir: avoid memory leak on re-registration.
20034         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
20035
20036 2009-12-08  Jim Meyering  <meyering@redhat.com>
20037
20038         init.sh: avoid Solaris 10 /bin/sh portability problem
20039         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
20040         sourced script:
20041           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
20042           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
20043           bar
20044         tests/init.sh relied on that, accepting a --set-path=DIR argument,
20045         and two tests used that idiom.
20046         * tests/init.sh: Update suggested usage comments.
20047         (path_prepend_): New function, to be used in place
20048         of the --src-path=DIR option.
20049         (setup_): Move PATH-prepending code into path_prepend_.
20050         * tests/test-pread.sh: Adapt to new usage.
20051         * tests/test-xalloc-die.sh: Likewise.
20052
20053 2009-12-08  Simon Josefsson  <simon@josefsson.org>
20054
20055         * doc/gnulib.texi (Glibc pty.h): Add.
20056         * doc/glibc-functions/forkpty.texi: Add.
20057         * doc/glibc-functions/openpty.texi: Add.
20058         Suggested by Bruno Haible.
20059
20060 2009-12-08  Eric Blake  <ebb9@byu.net>
20061
20062         fchdir: fix logic bugs
20063         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
20064         * tests/test-fchdir.c (main): Enhance test.
20065         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
20066         is in use.
20067
20068         dup2: fix logic bugs
20069         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
20070         REPLACE_DUP2 to decide when rpl_dup2 is needed.
20071         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
20072         exists.
20073         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
20074
20075 2009-12-07  Eric Blake  <ebb9@byu.net>
20076
20077         unlink: fix m4 detection
20078         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
20079
20080         unistd-safer: add unit test
20081         * modules/unistd-safer-tests: New file.
20082         * tests/test-dup-safer.c: Likewise.
20083         * tests/test-cloexec.c (setmode): Avoid compiler warning.
20084         * tests/test-dup2.c (setmode): Likewise.
20085         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
20086
20087         cloexec: preserve text vs. binary across dup_cloexec
20088         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
20089         mode.
20090         * modules/dup2-tests (Depends-on): Add binary-io.
20091         * modules/cloexec-tests (Depends-on): Likewise.
20092         * tests/test-dup2.c (setmode, is_mode): New helpers.
20093         (main): Add tests that translation mode is preserved.
20094         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
20095         Reported by Bruno Haible.
20096
20097         mgetgroups: reduce duplicate listings
20098         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
20099         resulting array.
20100         * tests/test-chown.h (test_chown): Simplify client.
20101         * tests/test-lchown.h (test_lchown): Likewise.
20102
20103 2009-12-06  Bruno Haible  <bruno@clisp.org>
20104
20105         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
20106         value.
20107
20108 2009-12-06  Bruno Haible  <bruno@clisp.org>
20109
20110         * lib/progname.c: Include stdio.h, stdlib.h.
20111         (set_program_name): Reject a NULL argument.
20112
20113 2009-12-05  Eric Blake  <ebb9@byu.net>
20114
20115         pipe2-safer: new module
20116         * modules/pipe2-safer: New file.
20117         * lib/unistd-safer.h (pipe2_safer): New prototype.
20118         * lib/unistd--.h (pipe2): New wrapper.
20119         * lib/pipe-safer.c (pipe2_safer): New function.
20120         * modules/pipe (Depends-on): Add pipe2-safer.
20121         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
20122
20123         stdlib-safer: preserve cloexec flag for mkostemp[s]
20124         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
20125         fd_safer_flag.
20126
20127         unistd-safer: allow preservation of cloexec status via flag
20128         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
20129         prototypes.
20130         * lib/dup-safer.c (dup_safer_flag): New function.
20131         * lib/fd-safer.c (fd_safer_flag): Likewise.
20132         * modules/cloexec (configure.ac): Set witness.
20133
20134         test-dup2: enhance test
20135         * modules/dup2-tests (Depends-on): Add cloexec.
20136         * tests/test-dup2.c (main): Enhance test.
20137
20138         cloexec: add dup_cloexec
20139         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
20140         header and comments.
20141         * lib/cloexec.c (set_cloexec_flag): Add comments.
20142         (dup_cloexec): New function, with mingw implementation borrowed
20143         from...
20144         * lib/w32spawn.h (dup_noinherit): ...here.
20145         * modules/execute (Depends-on): Add cloexec.
20146         * modules/pipe (Depends-on): Likewise.
20147         * modules/cloexec (Depends-on): Add dup2.
20148         * modules/cloexec-tests (Files): New file.
20149         * tests/test-cloexec.c: Likewise.
20150
20151         test-xalloc-die: fix test for mingw
20152         * modules/xalloc-die-tests (Files): Add tests/init.sh.
20153         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
20154         directory and .exe suffix off argv[0] output.
20155
20156         test-fseeko: fix test for mingw
20157         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
20158         than undefining fseek, so test will pass on mingw.
20159
20160 2009-12-05  Bruno Haible  <bruno@clisp.org>
20161
20162         * lib/progname.h (set_program_name): Clarify specification.
20163         * lib/progname.c (set_program_name): Likewise.
20164         Reported by Jim Meyering.
20165
20166 2009-12-05  Jim Meyering  <meyering@redhat.com>
20167
20168         maint.mk: backslash-escape parens in default regexp
20169         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
20170         backslash-escape the literal parentheses.
20171
20172         maint.mk: news-date-check: use grep -E
20173         * top/maint.mk (today): Define a Make variable, not a...
20174         (news-date-check): ...shell variable.
20175         (news-date-regexp): Use the Make variable.
20176         Use grep's -E option.  Change the failing diagnostic to mention
20177         the variable, $(news-date-regexp).
20178
20179 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
20180
20181         maintainer-makefile: allow customization of NEWS entry format
20182         * top/maint.mk (news-date-regexp): New overridable variable.
20183         (news-date-check): Use it.
20184
20185 2009-12-04  Eric Blake  <ebb9@byu.net>
20186
20187         mgetgroups: add xgetgroups, and avoid ENOSYS failures
20188         * lib/mgetgroups.h (xgetgroups): New prototype.
20189         * lib/mgetgroups.c (xgetgroups): New wrapper.
20190         (mgetgroups): Handle ENOSYS.
20191         * modules/mgetgroups (Depends-on): Add realloc.
20192         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
20193
20194         mgetgroups: avoid argument promotion issues with -1
20195         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
20196         for invalid gid_t.
20197         * tests/test-chown.h (getegid, test_chown): Likewise.
20198         * tests/test-lchown.h (getegid, test_lchown): Likewise.
20199
20200 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
20201
20202         exclude: Fix header file problems.
20203         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
20204
20205 2009-12-01  Jim Meyering  <meyering@redhat.com>
20206
20207         fts: fts_open: do not let an empty string cause immediate failure
20208         This is required in support of GNU rm, for which the command
20209         "rm A '' B" must process and remove both A and B, in spite of
20210         the empty string argument.
20211         * lib/fts.c (fts_open): Do not let the presence of an empty string
20212         cause fts_open to fail immediately.  Most fts-using tools must be
20213         able to process all arguments, in order, and can be expected to
20214         diagnose such arguments themselves.
20215
20216 2009-11-30  Eric Blake  <ebb9@byu.net>
20217
20218         utimens: fix compilation error
20219         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
20220         Declare variable at right scope.
20221
20222 2009-11-29  Jim Meyering  <meyering@redhat.com>
20223
20224         bootstrap: handle perl-5.11's changed --version output
20225         * build-aux/bootstrap (get_version): Handle perl separately,
20226         since perl-5.11's --version output is different.
20227
20228 2009-11-28  Jim Meyering  <meyering@redhat.com>
20229
20230         userspec: depend on the inttostr module, too
20231         * modules/userspec (Depends-on): Add inttostr.
20232
20233         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
20234         * lib/userspec.c (parse_with_separator): Do not accept a user ID
20235         number of MAXUID when it evaluates to (uid_t) -1.
20236         Likewise for group ID.  Reported by Matt McCutchen in
20237         <http://savannah.gnu.org/bugs/?28113>
20238
20239         userspec: reformat to use spaces, not TABs
20240         * lib/userspec.c: Expand TABs to spaces.
20241         Add Emacs' "indent-tabs-mode: nil" hint.
20242
20243 2009-11-27  Eric Blake  <ebb9@byu.net>
20244
20245         getopt-gnu: flush out another BSD bug
20246         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
20247         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
20248         flush out BSD bug.
20249         * tests/test-getopt.h (test_getopt): End lists with NULL.
20250         * tests/test-getopt_long.h (test_getopt_long): Likewise.
20251         (test_getopt_long_posix): Enhance test.
20252         * modules/getopt-posix-tests (Depends-on): Add stdbool.
20253         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
20254         getopt-gnu.
20255         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
20256         Likewise.
20257
20258 2009-11-27  Simon Josefsson  <simon@josefsson.org>
20259
20260         * modules/idpriv-droptemp-tests (Notice): Fix text.
20261
20262 2009-11-27  Jim Meyering  <meyering@redhat.com>
20263
20264         test-xalloc-die: avoid spurious failure due to libtool argv difference
20265         In a libtool-enabled project, this test would fail due to a difference
20266         in the emitted program name, e.g.,
20267         -test-xalloc-die: memory exhausted
20268         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
20269         Use program to avoid that.
20270         * modules/xalloc-die-tests (Depends-on): Add progname.
20271         * tests/test-xalloc-die.c: Include progname.h".
20272         (program_name): Remove decl.
20273         (main): Call set_program_name.
20274         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
20275
20276 2009-11-26  Richard Jones  <rjones@redhat.com>
20277
20278         w32sock: leave win32 error in place.
20279         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
20280
20281 2009-11-26  Eric Blake  <ebb9@byu.net>
20282
20283         init.sh: suggest to use skip_ and fail_ functions in comments
20284         * tests/init.sh: Add a sentence.
20285
20286 2009-11-25  Bruno Haible  <bruno@clisp.org>
20287
20288         init.sh: add documentation in comments
20289         * tests/init.sh: Add some developer and user documentation.
20290
20291 2009-11-26  Jim Meyering  <meyering@redhat.com>
20292
20293         init.sh: accommodate even those who specify bogus srcdir manually
20294         * tests/init.sh: Normally, srcdir is guaranteed by automake and
20295         configure-time tests to be sanitized, so that there is no need to
20296         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
20297         (with no double quotes) suffices.  However, since tests may be
20298         invoked manually, and since you may explicitly set srcdir to the
20299         name of a directory containing spaces, do quote its uses here.
20300         * tests/test-pread.sh: Likewise.
20301         Suggested by Bruno Haible.
20302
20303         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
20304         * tests/test-pread.sh: Write no data into the pipe, because
20305         test-pread actually reads none.  This avoids a diagnostic,
20306         "bash: echo: write error: Broken pipe", that arises in the unusual
20307         event something is ignoring SIGPIPE, and might be interpreted
20308         as some sort of failure.  Reported by Bruno Haible.
20309
20310 2009-11-25  Jim Meyering  <meyering@redhat.com>
20311
20312         test-pread: cover failure with ESPIPE and EINVAL
20313         * tests/test-pread.c (main): Test for failure, too.
20314         * tests/test-pread.sh: Invoke with stdin on a pipe.
20315         Suggested by Eric Blake.
20316
20317         pread: improvement and fix
20318         * modules/pread (Depends-on): Depend on lseek, for portability to
20319         e.g., mingw.  Suggested by Eric Blake.
20320         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
20321
20322         unistd.in.h: correct declaration of pread
20323         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
20324         Reported by Richard W.M. Jones.
20325
20326         test-pread.sh: distribute the test script
20327         * modules/pread-tests (Files): Include test-pread.sh.
20328
20329         test-pread.sh: clean up
20330         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
20331         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
20332         That is unnecessary, since it's always ".".
20333         Suggestion from Eric Blake.
20334
20335         test-pread.sh: make executable
20336         * tests/test-pread.sh: Set executable bit.
20337         Reported by Eric Blake.
20338
20339         correct typo in test-pread.sh
20340         * tests/test-pread.sh: Add #! line.
20341
20342         test pread
20343         * tests/test-pread.c: New file.
20344         * tests/test-pread.sh: Likewise.
20345         * modules/pread-tests: Likewise.
20346
20347         pread: new module
20348         * modules/pread: New file.
20349         * lib/unistd.in.h (pread): Define/declare.
20350         * lib/pread.c (pread): New file.
20351         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
20352         * modules/unistd (Makefile.am): Substitute witnesses.
20353         * doc/posix-functions/pread.texi (pread): Update.
20354         * MODULES.html.sh: Add pread.
20355
20356 2009-11-25  Jim Meyering  <meyering@redhat.com>
20357
20358         tests/init.sh: new file to be used via most *.sh tests
20359         * tests/init.sh: New file.
20360
20361 2009-11-25  Eric Blake  <ebb9@byu.net>
20362
20363         utimens: work around older Linux failure with symlinks
20364         * lib/utimens.c (lutimensat_works_really): New variable.
20365         (fdutimens, lutimens): Use it to manage kernels that support
20366         nanosecond times on files, but not on symlinks.
20367         Reported by OndÅ™ej Vašík.
20368
20369         utimes: fix configure grammar
20370         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
20371
20372 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
20373
20374         regex: Fix fastmap for multibyte character ranges.
20375         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
20376         characters when a multibyte character range is included.
20377
20378 2009-11-22  Andy Wingo  <wingo@pobox.com>
20379
20380         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
20381         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
20382
20383 2009-11-24  Bruno Haible  <bruno@clisp.org>
20384
20385         doc: Most *_l functions exist in MacOS X 10.5.
20386         * doc/posix-functions/duplocale.texi: Update platforms list.
20387         * doc/posix-functions/freelocale.texi: Likewise.
20388         * doc/posix-functions/newlocale.texi: Likewise.
20389         * doc/posix-functions/uselocale.texi: Likewise.
20390         * doc/posix-functions/isalnum_l.texi: Likewise.
20391         * doc/posix-functions/isalpha_l.texi: Likewise.
20392         * doc/posix-functions/isblank_l.texi: Likewise.
20393         * doc/posix-functions/iscntrl_l.texi: Likewise.
20394         * doc/posix-functions/isdigit_l.texi: Likewise.
20395         * doc/posix-functions/isgraph_l.texi: Likewise.
20396         * doc/posix-functions/islower_l.texi: Likewise.
20397         * doc/posix-functions/isprint_l.texi: Likewise.
20398         * doc/posix-functions/ispunct_l.texi: Likewise.
20399         * doc/posix-functions/isspace_l.texi: Likewise.
20400         * doc/posix-functions/isupper_l.texi: Likewise.
20401         * doc/posix-functions/iswalnum_l.texi: Likewise.
20402         * doc/posix-functions/iswalpha_l.texi: Likewise.
20403         * doc/posix-functions/iswblank_l.texi: Likewise.
20404         * doc/posix-functions/iswcntrl_l.texi: Likewise.
20405         * doc/posix-functions/iswctype_l.texi: Likewise.
20406         * doc/posix-functions/iswdigit_l.texi: Likewise.
20407         * doc/posix-functions/iswgraph_l.texi: Likewise.
20408         * doc/posix-functions/iswlower_l.texi: Likewise.
20409         * doc/posix-functions/iswprint_l.texi: Likewise.
20410         * doc/posix-functions/iswpunct_l.texi: Likewise.
20411         * doc/posix-functions/iswspace_l.texi: Likewise.
20412         * doc/posix-functions/iswupper_l.texi: Likewise.
20413         * doc/posix-functions/iswxdigit_l.texi: Likewise.
20414         * doc/posix-functions/isxdigit_l.texi: Likewise.
20415         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
20416         * doc/posix-functions/strcasecmp_l.texi: Likewise.
20417         * doc/posix-functions/strcoll_l.texi: Likewise.
20418         * doc/posix-functions/strfmon_l.texi: Likewise.
20419         * doc/posix-functions/strftime_l.texi: Likewise.
20420         * doc/posix-functions/strncasecmp_l.texi: Likewise.
20421         * doc/posix-functions/strxfrm_l.texi: Likewise.
20422         * doc/posix-functions/tolower_l.texi: Likewise.
20423         * doc/posix-functions/toupper_l.texi: Likewise.
20424         * doc/posix-functions/towctrans_l.texi: Likewise.
20425         * doc/posix-functions/towlower_l.texi: Likewise.
20426         * doc/posix-functions/towupper_l.texi: Likewise.
20427         * doc/posix-functions/wcscoll_l.texi: Likewise.
20428         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
20429         * doc/posix-functions/wctrans_l.texi: Likewise.
20430         * doc/posix-functions/wctype_l.texi: Likewise.
20431         * doc/glibc-functions/strptime_l.texi: Likewise.
20432         * doc/glibc-functions/strtod_l.texi: Likewise.
20433         * doc/glibc-functions/strtof_l.texi: Likewise.
20434         * doc/glibc-functions/strtol_l.texi: Likewise.
20435         * doc/glibc-functions/strtold_l.texi: Likewise.
20436         * doc/glibc-functions/strtoll_l.texi: Likewise.
20437         * doc/glibc-functions/strtoul_l.texi: Likewise.
20438         * doc/glibc-functions/strtoull_l.texi: Likewise.
20439         * doc/glibc-functions/wcsftime_l.texi: Likewise.
20440         * doc/glibc-functions/wcstod_l.texi: Likewise.
20441         * doc/glibc-functions/wcstof_l.texi: Likewise.
20442         * doc/glibc-functions/wcstol_l.texi: Likewise.
20443         * doc/glibc-functions/wcstold_l.texi: Likewise.
20444         * doc/glibc-functions/wcstoll_l.texi: Likewise.
20445         * doc/glibc-functions/wcstoul_l.texi: Likewise.
20446         * doc/glibc-functions/wcstoull_l.texi: Likewise.
20447
20448 2009-11-24  Bruno Haible  <bruno@clisp.org>
20449
20450         duplocale: Fix logic bug.
20451         * lib/duplocale.c: Don't include <langinfo.h>.
20452         (_NL_LOCALE_NAME): Remove macro.
20453         (rpl_duplocale): Use setlocale instead of nl_langinfo.
20454         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
20455
20456 2009-11-23  Jim Meyering  <meyering@redhat.com>
20457
20458         test-update-copyright: don't hard-code /usr/bin/perl
20459         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
20460         perl to print the current year.  Gilles Espinasse reported that
20461         the replaced use of perl was hard-coded as /usr/bin/perl.
20462
20463 2009-11-23  Bruno Haible  <bruno@clisp.org>
20464
20465         duplocale: Add support for glibc 2.3.x.
20466         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
20467
20468 2009-11-22  Bruno Haible  <bruno@clisp.org>
20469
20470         vasnprintf: Tiny optimization.
20471         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
20472         MacOS X.
20473
20474 2009-11-22  Bruno Haible  <bruno@clisp.org>
20475
20476         Tests for module 'duplocale'.
20477         * modules/duplocale-tests: New file.
20478         * tests/test-duplocale.c: New file.
20479
20480         New module 'duplocale'.
20481         * m4/duplocale.m4: New file.
20482         * lib/locale.in.h (duplocale): New declaration.
20483         * lib/duplocale.c: New file.
20484         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
20485         gl_LOCALE_H_DEFAULTS): New macros.
20486         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
20487         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
20488         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
20489         REPLACE_DUPLOCALE.
20490         * modules/duplocale: New file.
20491         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
20492
20493 2009-11-22  Bruno Haible  <bruno@clisp.org>
20494
20495         * modules/locale-tests (configure.ac): Test for newlocale function.
20496         * tests/test-locale.c: When the system has extended locale functions,
20497         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
20498
20499         locale: Make locale_t available when possible.
20500         * lib/locale.in.h: Include <xlocale.h> when it exists.
20501         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
20502         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
20503         * modules/locale (Depends-on): Add extensions.
20504         (Makefile.am): Also substitute HAVE_XLOCALE_H.
20505         * doc/posix-headers/locale.texi: Document the problem with locale_t.
20506
20507 2009-11-22  Bruno Haible  <bruno@clisp.org>
20508
20509         Add comments.
20510         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
20511         invocation.
20512         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
20513         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
20514         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
20515
20516 2009-11-22  Bruno Haible  <bruno@clisp.org>
20517
20518         error: account for the possibility of freopen (stdout).
20519         * lib/error.c: Include <unistd.h>.
20520         (flush_stdout): New function, extracted from error and error_at_line.
20521         Determine stdout's fd dynamically.
20522         (error, error_at_line): Invoke flush_stdout.
20523         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
20524         * modules/error (Depends-on): Add unistd.
20525
20526 2009-11-22  Bruno Haible  <bruno@clisp.org>
20527
20528         diffseq: Add comment.
20529         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
20530
20531 2009-11-22  Jim Meyering  <meyering@redhat.com>
20532
20533         c-stack: avoid defining an unused static function
20534         * lib/c-stack.c (find_stack_direction): Do not define this function
20535         when it will not be used.
20536
20537         diffseq: avoid spurious gcc warnings
20538         * lib/diffseq.h (IF_LINT2): Define.
20539         (compareseq): Use it to initialize two members of "part".
20540         This avoids two used-uninitialized warnings.
20541
20542 2009-11-21  Jim Meyering  <meyering@redhat.com>
20543
20544         c-stack: avoid "ignoring return value of `write'" warning
20545         * lib/c-stack.c: Include "ignore-value.h".
20546         (die): Explicitly ignore each write return value.
20547         * modules/c-stack (Depends-on): Add ignore-value.
20548
20549 2009-11-21  Bruno Haible  <bruno@clisp.org>
20550
20551         diffseq: reduce scope of variable 'best'.
20552         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
20553         variable, earlier used for two different purposes.
20554
20555 2009-11-21  Jim Meyering  <meyering@redhat.com>
20556
20557         diffseq: remove useless assignment to "best"
20558         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
20559         assignment.  At that point "best" is already guaranteed to be zero.
20560
20561 2009-11-20  Eric Blake  <ebb9@byu.net>
20562
20563         build: mention ftp redirector in release announcements
20564         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
20565         values that used to come from cfg.mk; mention FTP redirect URL.
20566         * build-aux/announce-gen: Mention the mirror list.
20567         Suggested by Karl Berry.
20568
20569         nanosleep: improve port to mingw
20570         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
20571         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
20572         LIB_NANOSLEEP, but only when needed.
20573         * modules/select (Link): Document LIBSOCKET.
20574         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
20575         enough.
20576
20577         nanosleep: work around cygwin bug
20578         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
20579         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
20580         bug.
20581         (getnow): Delete, not needed.
20582         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
20583         LIB_CLOCK_GETTIME.
20584         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
20585         clock-time, gettime.
20586         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
20587         bug.
20588         * modules/nanosleep-tests: New test.
20589         * tests/test-nanosleep.c: New file.
20590
20591         sleep: work around cygwin bug
20592         * lib/sleep.c (rpl_sleep): Work around the bug.
20593         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
20594         (gl_PREREQ_SLEEP): Delete unused macro.
20595         * modules/sleep (Depends-on): Add verify.
20596         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
20597         * modules/unistd (Makefile.am): Substitute witness.
20598         * lib/unistd.in.h (sleep): Update prototype.
20599         * doc/posix-functions/sleep.texi (sleep): Document the bug.
20600         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
20601         * modules/sleep-tests (Depends-on): Check for alarm.
20602
20603 2009-11-20  Jim Meyering  <meyering@redhat.com>
20604
20605         maint.mk: improve sc_prohibit_magic_number_exit
20606         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
20607         so it does not match uses like System.exit(1).
20608         Add comments showing how to correct all offenders.
20609
20610 2009-11-19  Eric Blake  <ebb9@byu.net>
20611
20612         xalloc-die-tests: add missing library
20613         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
20614
20615         test-xvasprintf: silence compiler warnings
20616         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
20617         empty string from gcc.
20618
20619 2009-11-19  Jim Meyering  <meyering@redhat.com>
20620
20621         xfreopen: new module, from coreutils
20622         * modules/xfreopen: New module.
20623         * lib/xfreopen.c: New file.
20624         * lib/xfreopen.h: New file.
20625         * MODULES.html.sh (File stream based Input/Output"): Add it.
20626
20627 2009-11-19  Eric Blake  <ebb9@byu.net>
20628
20629         manywarnings: depend on warnings
20630         * modules/manywarnings (Depends-on): Add warnings.
20631
20632         build: avoid compiler warnings
20633         * lib/select.c (rpl_select): Delete unused variable.
20634         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
20635
20636 2009-11-18  Eric Blake  <ebb9@byu.net>
20637
20638         tests: avoid false negative with --with-packager
20639         * tests/test-version-etc.sh: Discard packager information.
20640         * tests/test-argp-version-etc-1.sh: Likewise.
20641         Reported by Mike Frysinger.
20642
20643         utimens: fix regression on Solaris
20644         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
20645         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
20646         can only change fd timestamps via futimesat.  Instead, use an
20647         additional witness macro to avoid BSD bug.
20648         Reported by Jim Meyering.
20649
20650 2009-11-17  Eric Blake  <ebb9@byu.net>
20651
20652         usleep: use it to simplify tests
20653         * modules/stat-time-tests (Depends-on): Add usleep.
20654         (configure.ac): Drop usleep check.
20655         * modules/chown-tests (Depends-on, configure.ac): Likewise.
20656         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
20657         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
20658         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
20659         * modules/openat-tests (Depends-on, configure.ac): Likewise.
20660         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
20661         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
20662         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
20663         Likewise.
20664         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
20665         * tests/test-lchown.h (nap): Likewise.
20666         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
20667         * tests/test-stat-time.c (nap): Likewise.
20668         * tests/test-utimens-common.h (nap): Update comments.
20669
20670         usleep: new module
20671         * modules/usleep: New file.
20672         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
20673         * lib/usleep.c (usleep): Likewise.
20674         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
20675         * modules/unistd (Makefile.am): Substitute witnesses.
20676         * lib/unistd.in.h (usleep): Add declaration.
20677         * doc/pastposix-functions/usleep.texi (usleep): Document this.
20678         * MODULES.html.sh (Date and time): Likewise.
20679         * modules/usleep-tests (Depends-on): New test.
20680         * tests/test-usleep.c: New file.
20681
20682         chown: work around OpenBSD bug
20683         * lib/chown.c (rpl_chown): Work around the bug.
20684         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
20685         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
20686         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
20687         * modules/chown (Depends-on): Add stdbool.
20688         * modules/lchown (Depends-on): Likewise.
20689         * doc/posix-functions/chown.texi (chown): Document the bug.
20690         * doc/posix-functions/lchown.texi (lchown): Likewise.
20691         * tests/test-lchown.h (test_chown): Relax test.
20692
20693         mkstemp: avoid conflict with C++ keyword template
20694         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
20695         * lib/mkostemp.c (mkostemp): Likewise.
20696         * lib/mkostemps.c (mkostemps): Likewise.
20697         * lib/mkstemp.c (mkstemp): Likewise.
20698         * lib/mkstemps.c (mkstemps): Likewise.
20699
20700         xalloc-die-tests: optimize
20701         * tests/test-xalloc-die.sh: Reduce number of processes.
20702
20703 2009-11-17  Simon Josefsson  <simon@josefsson.org>
20704
20705         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
20706         patch from ludo@gnu.org (Ludovic Courtès).
20707
20708 2009-11-17  Jim Meyering  <meyering@redhat.com>
20709
20710         version-etc: use proper license string
20711         * modules/version-etc (License): Use LGPL, not LGPLv3+.
20712         * modules/version-etc-fsf: Likewise.
20713
20714 2009-11-17  Simon Josefsson  <simon@josefsson.org>
20715
20716         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
20717         printed to stdout.  Deal with EOL differences.
20718
20719 2009-11-17  Eric Blake  <ebb9@byu.net>
20720
20721         unsetenv: work around Solaris bug
20722         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
20723         * lib/unsetenv.c (rpl_unsetenv): Work around it.
20724         Reported by Jim Meyering.
20725
20726         vasnprintf: avoid compiler warnings
20727         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
20728         variables.
20729         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
20730
20731 2009-11-17  Simon Josefsson  <simon@josefsson.org>
20732
20733         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
20734         settings since xalloc-die is no longer the self test,
20735         xalloc-die.sh is.
20736
20737 2009-11-17  Jim Meyering  <meyering@redhat.com>
20738
20739         test-xalloc-die.sh: make the code agree with the commit log
20740         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
20741         at the end, just in case you happen to have a test-xalloc-die
20742         program in some other PATH directory.
20743
20744         test-xalloc-die.sh: fix a portability bug
20745         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
20746         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
20747         Otherwise, argv[0] (as often seen in diagnostics) would be too
20748         system-dependent, sometimes with, and sometimes without the leading "./".
20749
20750         version-etc-fsf: relax license to LGPLv3+
20751         * modules/version-etc-fsf (License): Relax license.
20752
20753 2009-11-16  Eric Blake  <ebb9@byu.net>
20754
20755         xalloc-die-tests: avoid printing null pointer
20756         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
20757         shell script.
20758         * tests/test-xalloc-die.c (program_name): Declare.
20759         * tests/test-xalloc-die.sh (tmpfiles): New file.
20760
20761         setenv, unsetenv: work around various bugs
20762         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
20763         (setenv) [HAVE_SETENV]: Work around bugs.
20764         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
20765         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
20766         for bugs.
20767         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
20768         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
20769         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
20770         * modules/stdlib (Makefile.am): Update substitutions.
20771         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
20772         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
20773         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
20774         * modules/setenv-tests: New test.
20775         * modules/unsetenv-tests: Likewise.
20776         * tests/test-setenv.c: New file.
20777         * tests/test-unsetenv.c: Likewise.
20778
20779 2009-11-16  Jim Meyering  <meyering@redhat.com>
20780
20781         version-etc: relax license to LGPLv3+
20782         * modules/version-etc (License): Relax license.
20783
20784         better AC_REQUIRE expanded-before-required-warning avoidance
20785         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
20786         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
20787         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
20788         which is no longer needed.
20789
20790 2009-11-16  Eric Blake  <ebb9@byu.net>
20791
20792         test-freading: clean up temporary file
20793         * tests/test-freading.c (main): Remove file on success, and use
20794         ASSERT more liberally.
20795         Reported by Jim Meyering.
20796
20797 2009-11-16  Jim Meyering  <meyering@redhat.com>
20798
20799         avoid new AC_REQUIRE expanded-before-required warnings
20800         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
20801         merely using it.
20802         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
20803         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
20804
20805 2009-11-15  Simon Josefsson  <simon@josefsson.org>
20806
20807         * tests/test-xalloc-die.c: New file.
20808         * modules/xalloc-die-tests: New file.
20809         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
20810         XFAIL_TESTS so it can be appended by modules.
20811
20812 2009-11-15  Simon Josefsson  <simon@josefsson.org>
20813
20814         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
20815         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
20816
20817 2009-11-14  Eric Blake  <ebb9@byu.net>
20818
20819         fnmatch: avoid compiler warning
20820         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
20821         to silence compiler warning about mismatch signedness in ?:.
20822         Reported by Robert Millan.
20823
20824         intprops: add double-inclusion guard
20825         * lib/intprops.h: Allow idempotent includes.
20826         Suggested by Bruce Korb.
20827
20828         openat: detect Solaris fchownat bug
20829         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
20830         penalizing glibc chownat when only lchownat is broken.
20831         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
20832         trailing slash bugs.
20833         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
20834         * modules/openat-tests (Files): Include more files.
20835         (Depends-on): Add mgetgroups, sleep, stat-time.
20836         (configure.ac): Add additional checks.
20837         (Makefile.am): Build new test.
20838         * tests/test-fchownat.c: New file.
20839
20840         lchown: detect Solaris and FreeBSD bug
20841         * lib/lchown.c (rpl_lchown): Work around bug.
20842         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
20843         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
20844         * modules/unistd (Makefile.am): Populate it.
20845         * lib/unistd.in.h (lchown): Update declaration.
20846         * doc/posix-functions/lchown.texi (lchown): Document the bug.
20847         * modules/lchown-tests: New file.
20848         * tests/test-lchown.h (test_lchown): Likewise.
20849         * tests/test-lchown.c (main): Likewise.
20850
20851         chown: detect Solaris and FreeBSD bug
20852         * lib/chown.c (rpl_chown): Work around bug.
20853         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
20854         (gl_PREREQ_CHOWN): Delete.
20855         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
20856         * modules/unistd (Makefile.am): Populate it.
20857         * lib/unistd.in.h (chown): Update declaration.
20858         * lib/lchown.c (chown): Update client.
20859         * modules/lchown (Depends-on): Add lstat.
20860         * doc/posix-functions/chown.texi (chown): Document the bug.
20861         * doc/posix-functions/getgroups.texi (getgroups): Document
20862         getgroups pitfall.
20863         * modules/chown-tests: New file.
20864         * tests/test-chown.h (test_chown): Likewise.
20865         * tests/test-chown.c (main): Likewise.
20866
20867 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
20868
20869         gnulib-tool: correctly detect absence of m4 directories
20870         * gnulib-tool: Avoid extra newline on data passed to wc -l.
20871
20872 2009-11-14  Jim Meyering  <meyering@redhat.com>
20873
20874         maint.mk: Prohibit inclusion of "xalloc.h" without use.
20875         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
20876
20877 2009-11-14  John W. Eaton  <jwe@gnu.org>
20878
20879         strftime.h: wrap funtion declaration in extern "C" block
20880         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
20881
20882 2009-11-13  Eric Blake  <ebb9@byu.net>
20883
20884         getgroups: avoid compiler warning
20885         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
20886
20887         getgroups: work around FreeBSD bug
20888         * lib/getgroups.c (rpl_getgroups): Work around the bug.
20889         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
20890         * doc/posix-functions/getgroups.texi (getgroups): Document it.
20891         * tests/test-getgroups.c (main): Fix buffer overrun.
20892
20893         getgroups: avoid compilation failure
20894         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
20895         * modules/getgroups (Depends-on): Add stdint.
20896
20897 2009-11-13  Jim Meyering  <meyering@redhat.com>
20898
20899         test-getgroups: avoid compilation failure
20900         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
20901
20902 2009-11-13  Eric Blake  <ebb9@byu.net>
20903
20904         mgetgroups: new module, taken from coreutils
20905         * modules/mgetgroups: New file.
20906         * lib/mgetgroups.h: Likewise.
20907         * lib/mgetgroups.c (mgetgroups): Likewise.
20908         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
20909         * MODULES.html.sh (Users and groups): Mention it.
20910
20911         getgroups: don't expose GETGROUPS_T to user
20912         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
20913         an element at a time if GETGROUPS_T is wrong size.
20914         * lib/getugroups.h (getugroups): Change signature.
20915         * lib/unistd.in.h (getgroups): Likewise.
20916         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
20917         signature needs fixing.
20918         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
20919         AC_TYPE_GETGROUPS.
20920         * modules/group-member (Depends-on): Add getgroups.
20921         * lib/group-member.c (group_info, get_group_info): Use gid_t.
20922         (group_member): Rely on getgroups replacement.
20923         * lib/getugroups.c (getugroups): Use gid_t.
20924         * tests/test-getgroups.c (main): Likewise.
20925         * NEWS: Mention the signature change.
20926         * doc/posix-functions/getgroups.texi (getgroups): Mention the
20927         problem with signature.
20928         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
20929         GETGROUPS_T is still useful for setgroups.
20930
20931         getgroups, getugroups: provide stubs for mingw
20932         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
20933         * lib/getugroups.c (getugroups): Likewise.
20934         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
20935         function.  Modernize replacement scheme.
20936         (gl_PREREQ_GETGROUPS): Delete.
20937         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
20938         * modules/getgroups (configure.ac): Declare witness.
20939         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
20940         * modules/unistd (Depends-on): Substitute witness.
20941         * lib/unistd.in.h (getgroups): Declare replacement.
20942
20943         getgroups: avoid calling exit
20944         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
20945         drop xalloc.
20946         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
20947         dependencies.
20948         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
20949         exiting, in the rare case of malloc failure.
20950
20951         getgroups: fix logic error
20952         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
20953         has more than 20 groups.
20954         * modules/getgroups-tests: New test.
20955         * tests/test-getgroups.c: New file.
20956
20957 2009-11-13  Simon Josefsson  <simon@josefsson.org>
20958
20959         * tests/test-base64.c: Improve.
20960
20961 2009-11-13  Simon Josefsson  <simon@josefsson.org>
20962
20963         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
20964         Blake <ebb9@byu.net>.
20965
20966 2009-11-13  Simon Josefsson  <simon@josefsson.org>
20967
20968         * tests/test-xvasprintf.c: Add %s%s related checks.
20969
20970 2009-11-12  Eric Blake  <ebb9@byu.net>
20971
20972         version-etc: match standards.texi style
20973         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
20974         and use <> only for URLs.
20975
20976 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
20977
20978         fts: do not fail on a submount during traversal
20979         * lib/fts.c (fts_build): Read the stat info again after opening
20980         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
20981         Original report at http://bugzilla.redhat.com/501848.
20982
20983 2009-11-12  Jim Meyering  <meyering@redhat.com>
20984
20985         bootstrap: sync from coreutils
20986         * build-aux/bootstrap (bootstrap_epilogue): New function.
20987         Use git_modules_config in one more place.  This make bootstrap's
20988         --gnulib-srcdir option more useful for testing.
20989
20990         bootstrap: generalize autoheader check
20991         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
20992         AC_CONFIG_HEADERS.
20993
20994 2009-11-11  Eric Blake  <ebb9@byu.net>
20995
20996         mkfifoat: use new modules for Solaris and BSD bugs
20997         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
20998         * lib/mkfifoat.c (mknodat): Split...
20999         * lib/mknodat.c (mknodat): ...into new file.
21000         * modules/mkfifoat (Files): Ship new file.
21001         (Depends-on): Add mkfifo, mknod.
21002         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
21003         (Depends-on): Add symlink.
21004         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
21005         redundant with test_mkfifo.h.
21006         (do_mkfifoat, do_mknodat): New helpers.
21007
21008         mknod: new module
21009         * modules/mknod: New file.
21010         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
21011         * lib/mknod.c (mknod): Likewise.
21012         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
21013         defaults.
21014         * modules/sys_stat (Makefile.am): Substitute them.
21015         * lib/sys_stat.in.h (mknod): Declare replacement.
21016         * MODULES.html.sh (Support for systems lacking POSIX:2008):
21017         Document it.
21018         * doc/posix-functions/mknod.texi (mknod): Likewise.
21019         * modules/mknod-tests: New test.
21020         * tests/test-mknod.c: Likewise.
21021
21022         mkfifo: new module
21023         * modules/mkfifo: New file.
21024         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
21025         * lib/mkfifo.c (mkfifo): Likewise.
21026         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
21027         defaults.
21028         * modules/sys_stat (Makefile.am): Substitute them.
21029         * lib/sys_stat.in.h (mkfifo): Declare replacement.
21030         * MODULES.html.sh (Support for systems lacking POSIX:2008):
21031         Document it.
21032         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
21033         * modules/mkfifo-tests: New test.
21034         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
21035         from test-mkfifoat.c.
21036         * tests/test-mkfifo.c: New file.
21037
21038         readlink: detect FreeBSD bug
21039         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
21040         slash on symlink.
21041         * doc/posix-functions/readlink.texi (readlink): Document the bug.
21042         * tests/test-readlink.h (test_readlink): Enhance test.
21043
21044         symlink: detect FreeBSD bug
21045         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
21046         slash on symlink.
21047         * doc/posix-functions/symlink.texi (symlink): Document the bug.
21048         * tests/test-symlink.h (test_symlink): Enhance test.
21049
21050 2009-11-10  Eric Blake  <ebb9@byu.net>
21051
21052         link: detect FreeBSD bug
21053         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
21054         symlink.
21055         * doc/posix-functions/link.texi (link): Document the bug.
21056         * tests/test-link.h (test_link): Enhance test.
21057         * tests/test-linkat.c (main): Update caller.
21058
21059         unlink, remove: detect FreeBSD bug
21060         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
21061         slash on symlink.
21062         * doc/posix-functions/unlink.texi (unlink): Document the bug.
21063         * doc/posix-functions/remove.texi (remove): Likewise.
21064         * tests/test-unlink.h (test_unlink): Enhance test.
21065         * tests/test-remove.c (main): Likewise.
21066
21067 2009-11-09  Eric Blake  <ebb9@byu.net>
21068
21069         rename: detect FreeBSD bug
21070         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
21071         slash on symlink.
21072         * modules/renameat-tests (Depends-on): Add filenamecat.
21073         * tests/test-rename.h (test_rename): Allow one more errno.
21074         * tests/test-renameat.c (main): Likewise.
21075         * doc/posix-functions/rename.texi (rename): Document the bug.
21076
21077         open: detect FreeBSD bug
21078         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
21079         symlink.
21080         * doc/posix-functions/open.texi (open): Document the bug.
21081         * doc/posix-functions/utimes.texi (utimes): Likewise.
21082         * tests/test-open.h (test_open): Add parameters, and test symlink
21083         handling.
21084         * tests/test-open.c (main): Adjust caller.
21085         * tests/test-fcntl-safer.c (main): Likewise.
21086         * modules/open-tests (Depends-on): Add stdbool, symlink.
21087         * modules/fcntl-safer-tests (Depends-on): Likewise.
21088         * tests/test-openat.c (main): Add test-open tests.
21089
21090         stat: detect FreeBSD bug
21091         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
21092         symlink.
21093         * doc/posix-functions/stat.texi (stat): Document the bug.
21094         * tests/test-stat.h (test_stat_func): Add argument.
21095         * tests/test-stat.c (main): Adjust caller.
21096         * tests/test-fstatat.c (main): Likewise.
21097         * modules/stat-tests (Depends-on): Add stdbool, symlink.
21098         Reported by Jim Meyering.
21099
21100 2009-11-09  James Youngman  <jay@gnu.org>
21101
21102         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
21103         * lib/strftime.c: Correct placement of #include "ignore-value.h".
21104
21105 2009-11-08  Jim Meyering  <meyering@redhat.com>
21106
21107         utimens: remove invalid futimesat call
21108         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
21109         It used the file descriptor of the target file as the DIR_FD
21110         parameter and NULL as the file name.  That caused failure with
21111         errno == EFAULT on FreeBSD-8.0-rc2
21112
21113 2009-11-07  Eric Blake  <ebb9@byu.net>
21114
21115         fflush, freadseek: use fseeko, not fseek
21116         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
21117         (clear_ungetc_buffer): Avoid potential problems on large files.
21118         * lib/freadseek.c (freadseek): Likewise.
21119         * modules/freadseek (Depends-on): Add fseeko.
21120         * modules/fseek (configure.ac): Set a witness.
21121         * tests/test-fflush.c (main): Use fseeko.
21122         * tests/test-fpurge.c (fseek): Disable link warning.
21123         * tests/test-freadable.c (fseek): Likewise.
21124         * tests/test-freading.c (fseek): Likewise.
21125         * tests/test-fseeko.c (fseek): Likewise.
21126         * tests/test-ftell.c (fseek): Likewise.
21127         * tests/test-ftello.c (fseek): Likewise.
21128         * tests/test-fwritable.c (fseek): Likewise.
21129         * tests/test-fwriting.c (fseek): Likewise.
21130
21131 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21132
21133         * modules/memchr (Depends-on): Drop getpagesize dependency.
21134
21135 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21136
21137         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
21138         Reported by Ludovic Courtès.
21139         * build-aux/pmccabe2html: Improve example usage.
21140         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
21141
21142 2009-11-06  Jim Meyering  <meyering@redhat.com>
21143
21144         do-release-commit-and-tag: New module.
21145         Automate the release-commit and tag process.
21146         * build-aux/do-release-commit-and-tag: New script, from coreutils.
21147         * modules/do-release-commit-and-tag: New file.
21148         * MODULES.html.sh (Support for maintaining and releasing): Add it.
21149
21150 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21151
21152         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
21153         because test-select.c uses inet_pton.
21154
21155 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21156
21157         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
21158         GETADDRINFO_LIB.  Bump serial number.
21159         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
21160         Suggested by Eric Blake <ebb9@byu.net>.
21161
21162 2009-11-05  Eric Blake  <ebb9@byu.net>
21163
21164         strtod: detect darwin bug
21165         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
21166         Reported by Leo Davis.
21167
21168         freopen-safer: new module
21169         * modules/freopen-safer: New module.
21170         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
21171         * lib/freopen-safer.c (freopen_safer): New file.
21172         * lib/stdio-safer.h (freopen_safer): New declaration.
21173         * lib/stdio--.h (freopen): New override.
21174         * MODULES.html.sh (File stream based Input/Output): Mention it.
21175         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
21176         freopen-safer module.
21177         * doc/posix-functions/stderr.texi (stderr): Likewise.
21178         * doc/posix-functions/stdin.texi (stdin): Likewise.
21179         * doc/posix-functions/stdout.texi (stdout): Likewise.
21180         * modules/freopen-safer-tests: New test.
21181         * tests/test-reopen-safer.c: New file.
21182
21183 2009-11-05  Jim Meyering  <meyering@redhat.com>
21184
21185         maint.mk: Prohibit inclusion of "close-stream.h" without use.
21186         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
21187
21188 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21189
21190         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
21191
21192 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21193
21194         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
21195
21196 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21197
21198         Fix link error.
21199         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
21200         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
21201
21202 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21203
21204         * tests/test-func.c: Also test value of __func__.
21205
21206 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21207
21208         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
21209         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
21210
21211 2009-11-05  Bruno Haible  <bruno@clisp.org>
21212
21213         Fix link error.
21214         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
21215         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
21216         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
21217
21218 2009-11-05  Bruno Haible  <bruno@clisp.org>
21219
21220         Tests for module 'inet_pton'.
21221         * modules/inet_pton-tests: New file.
21222         * tests/test-inet_pton.c: New file.
21223
21224 2009-11-05  Bruno Haible  <bruno@clisp.org>
21225
21226         Tests for module 'inet_ntop'.
21227         * modules/inet_ntop-tests: New file.
21228         * tests/test-inet_ntop.c: New file.
21229
21230 2009-11-04  Eric Blake  <ebb9@byu.net>
21231
21232         stdlib-safer: wrap all mkstemp variants
21233         * modules/mkostemp (configure.ac): Set witness.
21234         * modules/mkostemps (configure.ac): Likewise.
21235         * modules/mkstemps (configure.ac): Likewise.
21236         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
21237         (mkstemps_safer): Wrap more functions.
21238         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
21239         wrapping.
21240         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
21241         (mkstemps_safer): Implement the wrappers.
21242
21243         mkstemps, mkostemps: new modules
21244         * modules/mkostemps: New module.
21245         * modules/mkstemps: Likewise.
21246         * lib/mkostemps.c (mkostemps): New file.
21247         * lib/mkstemps.c (mkstemps): Likewise.
21248         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
21249         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
21250         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
21251         * modules/stdlib (Makefile.am): Substitute them.
21252         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
21253         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
21254         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
21255         * doc/gnulib.texi (Glibc stdlib.h): Include them.
21256         * MODULES.html.sh (File system functions): Mention them.
21257
21258         tempname: resync from glibc
21259         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
21260         same values for __GT_FILE as glibc.  Abort even when assertions
21261         are disabled.
21262         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
21263         match its value otherwise.  Allow idempotent inclusion.
21264         * lib/mkdtemp.c (mkdtemp): Adjust caller.
21265         * lib/mkostemp.c (mkostemp): Likewise.
21266         * lib/mkstemp.c (mkstemp): Likewise.
21267         * lib/tmpfile.c (tmpfile): Likewise.
21268         * NEWS: Document this.
21269
21270         utimens: fix use of futimens on older Linux
21271         * lib/utimens.c (fdutimens): Use updated, rather than original,
21272         timespec to avoid bug in older Linux kernel.
21273         Reported by Simon Josefsson.
21274
21275 2009-11-04  Bruno Haible  <bruno@clisp.org>
21276
21277         Make num_processors more flexible and consistent.
21278         * lib/nproc.h (enum nproc_query): New type.
21279         (num_processors): Add a 'query' argument.
21280         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
21281         (num_processors): Add a 'query' argument. Test the value of the
21282         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
21283         mingw, count the number of CPUs available for the current process.
21284         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
21285         Check for sched_getaffinity and sched_getaffinity_np.
21286         * modules/nproc (Depends-on): Add c-ctype, extensions.
21287         * NEWS: Mention the change.
21288
21289 2009-11-03  Bruno Haible  <bruno@clisp.org>
21290
21291         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
21292
21293 2009-11-03  Jim Meyering  <meyering@redhat.com>
21294
21295         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
21296         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
21297         if it is defined.
21298
21299 2009-11-02  Eric Blake  <ebb9@byu.net>
21300
21301         mktime, timegm: share common declaration
21302         * lib/mktime-internal.h: New file.
21303         * lib/mktime.c: Use it rather than open-coding a declaration.
21304         * lib/timegm.c: Likewise.
21305         * modules/mktime (Files): Ship it.
21306         * modules/timegm (Files): Likewise.
21307         Suggested by Bruno Haible.
21308
21309         test-update-copyright: update test to match script changes
21310         * tests/test-update-copyright.sh: Avoid hard-coding perl
21311         location.  Don't update *.bak created by earlier runs.
21312
21313 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
21314             Simon Josefsson  <simon@josefsson.org>
21315             Bruno Haible  <bruno@clisp.org>
21316
21317         Fix link error on Solaris 8.
21318         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
21319         also in libnsl. Define also INET_PTON_LIB.
21320         * modules/inet_pton (Link): New section.
21321
21322 2009-11-02  Simon Josefsson  <simon@josefsson.org>
21323             Bruno Haible  <bruno@clisp.org>
21324
21325         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
21326         * modules/inet_ntop (Link): New section.
21327         Reported by Boyan Kasarov <bkasarov@gmail.com>.
21328
21329 2009-11-02  Eric Blake  <ebb9@byu.net>
21330
21331         maint: avoid compiler warnings in m4 macros
21332         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
21333         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
21334
21335 2009-11-02  Simon Josefsson  <simon@josefsson.org>
21336
21337         * m4/pmccabe2html.m4: Remove file.
21338         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
21339         function.  Change maintainer.
21340         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
21341         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
21342         Courtès).
21343
21344 2009-10-31  Eric Blake  <ebb9@byu.net>
21345
21346         fseeko: fix m4 regression
21347         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
21348         regression from 2009-10-27.
21349         Reported by Ralf Wildenhues.
21350
21351 2009-10-31  Jim Meyering  <meyering@redhat.com>
21352
21353         inttostr: aesthetics and improved (compile-time) safety
21354         Define inttype_is_signed rather than inttype_is_unsigned,
21355         since the sole use is via "#if inttype_is_signed".
21356         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
21357         inttype_is_unsigned.
21358         * lib/offtostr.c (inttype_is_signed): Likewise.
21359         * lib/uinttostr.c (inttype_is_signed): Likewise.
21360         * lib/umaxtostr.c (inttype_is_signed): Likewise.
21361         * lib/inttostr.c (inttostr): Use verify to cross-check the
21362         inttype_is_signed value and the signedness of the actual type.
21363         * modules/inttostr (Depends-on): Add verify.
21364
21365 2009-10-30  Eric Blake  <ebb9@byu.net>
21366
21367         build: avoid compiler warnings
21368         * lib/fchmodat.c (lchmod): Mark unused variables.
21369         * lib/getopt.c (_getopt_initialize): Likewise.
21370         * lib/mktime.c (__mktime_internal): Provide prototype.
21371         * lib/inttostr.c (inttostr): Avoid compiler warning even with
21372         older gcc that do not understand #pragma GCC diagnostic.
21373         * lib/uinttostr.c (inttype_is_unsigned): Define.
21374         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
21375
21376 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
21377
21378         stat: fix compilation on AIX
21379         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
21380         only see struct stat64.
21381
21382 2009-10-30  Eric Blake  <ebb9@byu.net>
21383
21384         exclude: make more robust
21385         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
21386         rather than masking a coding bug.
21387         Suggested by Bruno Haible.
21388
21389 2009-10-30  Jim Meyering  <meyering@redhat.com>
21390
21391         perl scripts: remove #!/usr/bin/perl in favor of more portable...
21392         Rather than putting #!/usr/bin/perl on the first line,
21393         start with a variant of what's recommended by "man perlrun" that
21394         invokes the first "perl" program from your shell's search path.
21395         * build-aux/gitlog-to-changelog: Replace #!... as above.
21396         Add a "Local Variables" perl mode setting.
21397         Prompted by a patch from Ludovic Courtès.
21398         Improved by Eric Blake.
21399         * build-aux/useless-if-before-free: Likewise.
21400         * build-aux/announce-gen: Likewise.
21401         * build-aux/update-copyright: Likewise.
21402
21403 2009-10-29  Eric Blake  <ebb9@byu.net>
21404
21405         filenamecat-lgpl: adjust clients
21406         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
21407         filenamecat.
21408         * modules/renameat (Depends-on): Likewise.
21409
21410         filenamecat: split into filenamecat-lgpl
21411         * modules/filenamecat-lgpl: New module.
21412         * modules/filenamecat (Files): Move library-safe files into
21413         filenamecat-lgpl.
21414         (Depends-on): Add filenamecat-lgpl.
21415         (configure.ac): Declare witness.
21416         * lib/filenamecat.h (file_name_concat): Only declare when using
21417         GPL module.
21418         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
21419         Move...
21420         * lib/filenamecat-lgpl.c: ...into new file.
21421         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
21422         (gl_FILE_NAME_CONCAT): Use it.
21423         * MODULES.html.sh (File system functions): Mention new module.
21424
21425         argp: avoid memory leak
21426         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
21427         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
21428         base_name, since the latter malloc()s and can call exit().
21429         Leak introduced 2006-07-03.
21430
21431         dirname-lgpl: adjust clients that don't need full dirname
21432         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
21433         * modules/filenamecat (Depends-on): Likewise.
21434         * modules/linkat (Depends-on): Likewise.
21435         * modules/mkancesdirs (Depends-on): Likewise.
21436         * modules/mkdir (Depends-on): Likewise.
21437         * modules/openat (Depends-on): Likewise.
21438         * modules/savewd (Depends-on): Likewise.
21439         * modules/rename (Depends-on): Likewise.
21440         (License): Relax license.
21441         * modules/mkdir-tests (Depends-on): Drop progname.
21442         (Makefile.am): Delete unneeded LDADD.
21443         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
21444
21445         dirname: split into dirname-lgpl
21446         * modules/dirname-lgpl: New module.
21447         * modules/dirname (Files): Move library-safe files into
21448         dirname-lgpl.
21449         (Depends-on): Add dirname-lgpl.
21450         (configure.ac): Declare witness.
21451         * modules/double-slash-root (License): Relax license.
21452         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
21453         module.
21454         * lib/dirname.c (dir_len, mdir_name): Move...
21455         * lib/dirname-lgpl.c: ...into new file.
21456         * lib/basename.c (last_component, base_len): Move...
21457         * lib/basename-lgpl.c: ...into new file.
21458         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
21459         (gl_DIRNAME): Use it.
21460         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
21461         Mention new module.
21462         * modules/dirname-tests (Depends-on): Add progname.
21463         * tests/test-dirname.c (program_name): Delete.
21464
21465         mkdir: make safe for libraries
21466         * modules/mkdir (Depends-on): Drop xalloc.
21467         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
21468         exit.
21469
21470         tests: avoid some compiler warnings
21471         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
21472         literals.
21473         * tests/test-memchr.c (main): Avoid type mismatch.
21474         * tests/test-arpa_inet.c (main): Avoid unused parameters.
21475         * tests/test-base64.c (main): Likewise.
21476         * tests/test-getdelim.c (main): Likewise.
21477         * tests/test-gethostname.c (main): Likewise.
21478         * tests/test-getline.c (main): Likewise.
21479         * tests/test-netinet_in.c (main): Likewise.
21480         * tests/test-select.c (open_server_socket, main): Likewise.
21481         * tests/test-select-stdin.c (main): Likewise.
21482         * tests/test-sockets.c (main): Likewise.
21483         * tests/test-strsignal.c (main): Likewise.
21484         * tests/test-sys_select.c (main): Likewise.
21485         * tests/test-sys_socket.c (main): Likewise.
21486         * tests/test-u64.c (main): Likewise.
21487         * tests/test-xfprintf-posix.c (main): Likewise.
21488         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
21489
21490         sockets: avoid compiler warning
21491         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
21492
21493         maint: detect usage(1) and other suspicious exits
21494         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
21495
21496 2009-10-29  Jim Meyering  <meyering@redhat.com>
21497
21498         timespec: long-to-int truncation could make timespec_cmp malfunction
21499         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
21500         a multiple of 2^32 nanoseconds as no difference.
21501
21502 2009-10-28  Jim Meyering  <meyering@redhat.com>
21503
21504         fprintftime: wrap macro code argument in "do {...} while(0)"
21505         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
21506         cpy macro must be a statement that can be followed by a semicolon.
21507         Now that the else clause contains a comment and is hence longer
21508         than one line, I require curly braces.  That in turn requires
21509         that we wrap this code block in the standard do...while(0).
21510
21511         fprintftime: remove stray semicolon from previous change
21512         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
21513
21514         fprintftime: avoid a warning about ignored fwrite return value
21515         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
21516         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
21517         that is unsafe.
21518         * modules/fprintftime (Depends-on): Add ignore-value.
21519
21520         exclude: avoid an unwarranted warning
21521         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
21522
21523 2009-10-27  Eric Blake  <ebb9@byu.net>
21524
21525         fseek: avoid compilation failure when fflush is replaced
21526         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
21527         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
21528         module is in use.
21529         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
21530         module is not in use; since REPLACE_FSEEK worked otherwise.
21531         (GNULIB_FTELLO): Likewise for ftell.
21532         Reported by Ian Beckwith and others.
21533
21534 2009-10-27  Bruno Haible  <bruno@clisp.org>
21535
21536         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
21537         Reported by Jim Meyering.
21538
21539 2009-10-27  Jim Meyering  <jim@meyering.net>
21540             Bruno Haible  <bruno@clisp.org>
21541
21542         Avoid warning despite dropping the return value of fwrite.
21543         * lib/unicodeio.c: Include ignore-value.h.
21544         (fwrite_success_callback): Explicitly ignore fwrite's return value.
21545         * modules/unicodeio (Depends-on): Add ignore-value.
21546
21547 2009-10-26  Eric Blake  <ebb9@byu.net>
21548
21549         areadlinkat: fix fallback path
21550         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
21551         pointer and zero.
21552
21553 2009-10-22  Pádraig Brady  <P@draigBrady.com>
21554
21555         Use a better IO block size for modern systems
21556         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
21557         * lib/md2.c: Likewise.
21558         * lib/md4.c: Likewise.
21559         * lib/md5.c: Likewise.
21560         * lib/sha1.c: Likewise.
21561         * lib/sha256.c: Likewise.
21562         * lib/sha512.c: Likewise.
21563
21564 2009-10-22  Eric Blake  <ebb9@byu.net>
21565
21566         tests: avoid several compiler warnings
21567         * tests/test-getcwd.c (main): Avoid buffer underflow.
21568         * tests/test-getdate.c (main): String literals are not safe with
21569         putenv, so use setenv.  Declare unused argument.
21570         * modules/getdate-tests (Depends-on): Add setenv.
21571         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
21572         problems with string literals in char *.
21573         * tests/test-hash.c (main): Avoid shadowing declaration.
21574         (insert_new): Treat string literals as char const *.
21575         * tests/test-getopt.h (test_getopt): Likewise.
21576         (getopt_loop): Alter types to minimize casting elsewhere.
21577         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
21578         (test_getopt_long_posix): Likewise.
21579         (do_getopt_long): Add wrapper to minimize casting.
21580         * tests/test-atexit.c (clear_temp_file): Use void.
21581         * tests/test-areadlink-with-size.c (main): Declare unused
21582         arguments.
21583         * tests/test-areadlink.c (main): Likewise.
21584         * tests/test-areadlinkat-with-size.c (main): Likewise.
21585         * tests/test-areadlinkat.c (main): Likewise.
21586         * tests/test-canonicalize-lgpl.c (main): Likewise.
21587         * tests/test-canonicalize.c (main): Likewise.
21588         * tests/test-dirent-safer.c (main): Likewise.
21589         * tests/test-dirname.c (main): Likewise.
21590         * tests/test-dup2.c (main): Likewise.
21591         * tests/test-fchdir.c (main): Likewise.
21592         * tests/test-fcntl-h.c (main): Likewise.
21593         * tests/test-fcntl-safer.c (main): Likewise.
21594         * tests/test-fdopendir.c (main): Likewise.
21595         * tests/test-fdutimensat.c (main): Likewise.
21596         * tests/test-fflush.c (main): Likewise.
21597         * tests/test-filenamecat.c (main): Likewise.
21598         * tests/test-filevercmp.c (main): Likewise.
21599         * tests/test-fopen-safer.c (main): Likewise.
21600         * tests/test-fopen.c (main): Likewise.
21601         * tests/test-fpending.c (main): Likewise.
21602         * tests/test-fpurge.c (main): Likewise.
21603         * tests/test-freading.c (main): Likewise.
21604         * tests/test-fstatat.c (main): Likewise.
21605         * tests/test-fsync.c (main): Likewise.
21606         * tests/test-futimens.c (main): Likewise.
21607         * tests/test-getndelim2.c (main): Likewise.
21608         * tests/test-gettimeofday.c (main): Likewise.
21609         * tests/test-getopt.c (main): Likewise.
21610         * tests/test-i-ring.c (main): Likewise.
21611         * tests/test-inttypes.c (main): Likewise.
21612         * tests/test-link.c (main): Likewise.
21613         * tests/test-lstat.c (main): Likewise.
21614         * tests/test-math.c (main): Likewise.
21615         * tests/test-md5.c (main): Likewise.
21616         * tests/test-memchr2.c (main): Likewise.
21617         * tests/test-memrchr.c (main): Likewise.
21618         * tests/test-mkdir.c (main): Likewise.
21619         * tests/test-mkdirat.c (main): Likewise.
21620         * tests/test-mkfifoat.c (main): Likewise.
21621         * tests/test-open.c (main): Likewise.
21622         * tests/test-openat-safer.c (main): Likewise.
21623         * tests/test-openat.c (main): Likewise.
21624         * tests/test-quotearg.c (main): Likewise.
21625         * tests/test-rawmemchr.c (main): Likewise.
21626         * tests/test-readlink.c (main): Likewise.
21627         * tests/test-remove.c (main): Likewise.
21628         * tests/test-rename.c (main): Likewise.
21629         * tests/test-renameat.c (main): Likewise.
21630         * tests/test-rmdir.c (main): Likewise.
21631         * tests/test-sha1.c (main): Likewise.
21632         * tests/test-signal.c (main): Likewise.
21633         * tests/test-sigaction.c (main): Likewise.
21634         * tests/test-stat.c (main): Likewise.
21635         * tests/test-stat-time.c (main): Likewise.
21636         * tests/test-stddef.c (main): Likewise.
21637         * tests/test-stdint.c (main): Likewise.
21638         * tests/test-stdio.c (main): Likewise.
21639         * tests/test-stdlib.c (main): Likewise.
21640         * tests/test-strchrnul.c (main): Likewise.
21641         * tests/test-strerror.c (main): Likewise.
21642         * tests/test-string.c (main): Likewise.
21643         * tests/test-strtod.c (main): Likewise.
21644         * tests/test-strverscmp.c (main): Likewise.
21645         * tests/test-symlink.c (main): Likewise.
21646         * tests/test-symlinkat.c (main): Likewise.
21647         * tests/test-sys_stat.c (main): Likewise.
21648         * tests/test-sys_time.c (main): Likewise.
21649         * tests/test-time.c (main): Likewise.
21650         * tests/test-unistd.c (main): Likewise.
21651         * tests/test-unlink.c (main): Likewise.
21652         * tests/test-unlinkat.c (main): Likewise.
21653         * tests/test-utimens.c (main): Likewise.
21654         * tests/test-utimensat.c (main): Likewise.
21655         * tests/test-version-etc.c (main): Likewise.
21656         * tests/test-wchar.c (main): Likewise.
21657         * tests/test-wctype.c (main): Likewise.
21658         * tests/test-xprintf-posix.c (main): Likewise.
21659         * tests/test-posixtm.c (main): Likewise.
21660         (STREQ): Delete unused macro.
21661         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
21662         shadowed variables.
21663         * tests/test-memchr.c (main): Likewise.
21664
21665 2009-10-21  Eric Blake  <ebb9@byu.net>
21666
21667         areadlinkat: avoid failure on older glibc
21668         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
21669         rather than mis-comparing 0 against FUNC_RESULT of char*.
21670
21671 2009-10-21  Bruno Haible  <bruno@clisp.org>
21672
21673         * modules/stpncpy (License): Relicense under LGPLv2+.
21674         Reported by David Lutterkort <lutter@redhat.com>.
21675
21676 2009-10-20  Eric Blake  <ebb9@byu.net>
21677
21678         utimensat: work around Solaris 9 bug
21679         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
21680         has trailing slash bugs.
21681         * tests/test-lutimens.h (test_lutimens): Enhance test.
21682         * tests/test-utimens.h (test_utimens): Likewise.
21683         * doc/posix-functions/utime.texi (utime): Enhance documentation.
21684         * doc/posix-functions/utimes.texi (utimes): Likewise.
21685         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
21686         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
21687         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
21688         * doc/posix-functions/futimens.texi (futimens): Likewise.
21689
21690         fdutimensat: new module
21691         * modules/fdutimensat: New file.
21692         * lib/fdutimensat.c (fdutimensat): Likewise.
21693         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
21694         * MODULES.html.sh (File system functions): Mention module.
21695         * modules/fdutimensat-tests: New test.
21696         * tests/test-fdutimensat.c: Likewise.
21697
21698         doc: regenerate INSTALL
21699         * doc/INSTALL: Reflect recent autoconf update.
21700         * doc/INSTALL.ISO: Likewise.
21701         * doc/INSTALL.UTF-8: Likewise.
21702
21703 2009-10-20  Pádraig Brady  <P@draigBrady.com>
21704
21705         acl: warn if ACL support is not detected
21706         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
21707
21708 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
21709
21710         * lib/nproc.h: Add extern "C" block for C++.
21711
21712 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
21713             Bruno Haible  <bruno@clisp.org>
21714
21715         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
21716         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
21717         * doc/posix-functions/isalpha.texi: Likewise.
21718         * doc/posix-functions/isblank.texi: Likewise.
21719         * doc/posix-functions/iscntrl.texi: Likewise.
21720         * doc/posix-functions/isdigit.texi: Likewise.
21721         * doc/posix-functions/isgraph.texi: Likewise.
21722         * doc/posix-functions/islower.texi: Likewise.
21723         * doc/posix-functions/isprint.texi: Likewise.
21724         * doc/posix-functions/ispunct.texi: Likewise.
21725         * doc/posix-functions/isspace.texi: Likewise.
21726         * doc/posix-functions/isupper.texi: Likewise.
21727         * doc/posix-functions/isxdigit.texi: Likewise.
21728
21729 2009-10-18  Bruno Haible  <bruno@clisp.org>
21730
21731         Tests for module 'isblank'.
21732         * modules/isblank-tests: New file.
21733         * tests/test-isblank.c: New file.
21734
21735         New module 'isblank'.
21736         * lib/isblank.c: New file.
21737         * m4/isblank.m4: New file.
21738         * modules/isblank: New file.
21739         * doc/posix-functions/isblank.texi: Mention the new module.
21740
21741 2009-10-18  Bruno Haible  <bruno@clisp.org>
21742
21743         New module 'ctype'.
21744         * lib/ctype.in.h: New file.
21745         * m4/ctype.m4: New file.
21746         * modules/ctype: New file.
21747         * doc/posix-headers/ctype.texi: Mention the new module.
21748
21749 2009-10-18  Jim Meyering  <meyering@redhat.com>
21750
21751         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
21752         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
21753         right after its initialization, rather than farther down.
21754         Keeping these in close proximity makes it easier to ensure
21755         that each such variable is initialized.  E.g.,
21756
21757             LIB_CLOCK_GETTIME=
21758             AC_SUBST([LIB_CLOCK_GETTIME])
21759
21760         This change also increments these serial numbers.
21761         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
21762         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
21763         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
21764
21765 2009-10-18  Bruno Haible  <bruno@clisp.org>
21766
21767         Don't let environment variables perturb build.
21768         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
21769         (gl_PREREQ_GETHRXTIME): ... not here.
21770
21771 2009-10-18  Bruno Haible  <bruno@clisp.org>
21772
21773         Avoid symlink attack in localcharset module.
21774         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
21775         (O_NOFOLLOW): Define fallback.
21776         (get_charset_aliases): Don't open the file if it is a symbolic link.
21777         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
21778         gl_FCNTL_H.
21779         (gl_FCNTL_H): Require it.
21780         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
21781         * modules/localcharset (Files): Add m4/fcntl_h.m4.
21782         Reported by Fergal Glynn <fglynn@veracode.com>.
21783
21784 2009-10-18  Bruno Haible  <bruno@clisp.org>
21785
21786         Implement nproc for mingw.
21787         * lib/nproc.c: Include <windows.h>
21788         (num_processors): On native Windows platforms, try GetSystemInfo.
21789
21790 2009-10-18  Bruno Haible  <bruno@clisp.org>
21791
21792         Implement nproc for IRIX.
21793         * lib/nproc.c: Include <sys/sysmp.h>.
21794         (num_processors): On IRIX systems, try sysmp.
21795         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
21796
21797 2009-10-18  Bruno Haible  <bruno@clisp.org>
21798
21799         Implement nproc for HP-UX.
21800         * lib/nproc.c: Include <sys/pstat.h>
21801         (num_processors): On HP-UX systems, try pstat_getdynamic.
21802         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
21803         pstat_getdynamic.
21804
21805 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
21806             Bruno Haible  <bruno@clisp.org>
21807
21808         Implement nproc for NetBSD, OpenBSD.
21809         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
21810         (ARRAY_SIZE): New macro.
21811         (num_processors): On BSD systems, try sysctl of HW_NCPU.
21812         * m4/nproc.m4: New file.
21813         * modules/nproc (Files): Add m4/nproc.m4.
21814         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
21815         (Makefile.am): Instead, augment lib_SOURCES.
21816
21817 2009-10-18  Bruno Haible  <bruno@clisp.org>
21818
21819         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
21820         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
21821         sys/param.h.
21822
21823 2009-10-16  Eric Blake  <ebb9@byu.net>
21824
21825         utimensat: new module
21826         * modules/utimensat: New file.
21827         * lib/utimensat.c (utimensat): Likewise.
21828         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
21829         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
21830         so we can work around Linux bugs.
21831         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
21832         * modules/sys_stat (Makefile.am): Substitute them.
21833         * lib/sys_stat.in.h (utimensat): Declare it.
21834         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
21835         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
21836         * modules/utimensat-tests: New test.
21837         * tests/test-utimensat.c: Likewise.
21838
21839         utimens: let lutimens work on non-symlinks
21840         * lib/utimens.c (lutimens): Fall back to utimens rather than
21841         failing with ENOSYS, when file is not a symlink.
21842         (utimens): Reduce redirection.
21843         * tests/test-lutimens.h (test_lutimens): Update test to cover
21844         non-symlinks.
21845         * tests/test-utimens.h (test_utimens): Update test to cover
21846         symlinks.
21847         * tests/test-utimens.c (main): Update caller.
21848
21849         utimens: cache whether utimensat syscall works
21850         * lib/utimens.c (utimensat_works_really): New cache variable.
21851         (fdutimens, lutimens): Use it to avoid failing syscall.
21852
21853         test-stat-time, test-utimens: improve portability
21854         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
21855         ext4 on alpha, and for cygwin.
21856         * tests/test-utimens-common.h: New file.
21857         (nap): Factor delays into single function.
21858         * tests/test-lutimens.h (test_lutimens): Use new header.
21859         * tests/test-futimens.h (test_futimens): Likewise.
21860         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
21861         timestamps to occur from same machine, as was done previously for
21862         test_utimens.
21863         * modules/utimens-tests (Files): Ship new file.
21864         * modules/futimens-tests (Files): Likewise.
21865         Reported in part by Jim Meyering.
21866
21867         sys_stat: sort replacement declarations
21868         * lib/sys_stat.in.h: Sort declarations.
21869         * lib/futimens.c (futimens): Fix typo.
21870
21871 2009-10-15  Jim Meyering  <meyering@redhat.com>
21872
21873         don't let environment settings perturb build
21874         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
21875         could cause a configure-time and/or build-time malfunction.
21876         Typically, a configure-time function-in-library test is performed
21877         via code like this:
21878
21879           LIB_VAR=
21880           AC_SUBST([LIB_VAR])
21881           prefix_saved_LIBS=$LIBS
21882             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
21883                        [test "$ac_cv_search_FUNC" = "none required" ||
21884                         LIB_VAR=$ac_cv_search_FUNC])
21885           LIBS=$prefix_saved_LIBS
21886
21887         However, in each of the files affected by this change, the LIB_VAR=
21888         initialization was omitted.  Thus, when set in the environment, its
21889         value would propagate into generated Makefiles when FUNC is not found
21890         in LIB_NAME.
21891         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
21892         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
21893         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
21894
21895 2009-10-14  Eric Blake  <ebb9@byu.net>
21896
21897         fchdir: avoid infinite recursion in mingw
21898         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
21899         recursing.
21900
21901         test-stat-time: port to mingw
21902         * tests/test-stat-time.c (force_unlink): Return a value.
21903         (test_ctime) [W32]: Fix compilation error.
21904         (nap): Don't call usleep with too large an argument.  Use
21905         force_unlink.
21906         * doc/pastposix-functions/usleep.texi (usleep): Document the
21907         portability issue.
21908
21909 2009-10-13  Jim Meyering  <meyering@redhat.com>
21910
21911         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
21912         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
21913         * modules/pipe-filter-ii: Likewise.
21914         * modules/sys_socket-tests: Likewise.
21915         * modules/tsearch-tests: Likewise.
21916         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
21917         (check): Depend on it.
21918
21919 2009-10-12  Eric Blake  <ebb9@byu.net>
21920
21921         utimens-tests: port to NFS file systems
21922         * tests/test-utimens.h (test_utimens): Refactor utimecmp
21923         comparisons to avoid spurious failures from timestamp drift
21924         between NFS machines.
21925
21926 2009-10-12  Eric Blake  <ebb9@byu.net>
21927
21928         stat-time-tests: minor cleanups
21929         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
21930         * tests/test-stat-time.c (nap): Separate assignment from call.
21931         Suggested by Paolo Bonzini and Bruno Haible.
21932
21933         sys_stat: guarantee struct timespec
21934         * lib/sys_stat.in.h (includes): Always include <time.h>
21935         * modules/sys_stat (Depends-on): Add time.
21936         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
21937         mode_t permission values.
21938         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
21939         get at subsecond timestamps.
21940
21941 2009-10-10  Eric Blake  <ebb9@byu.net>
21942
21943         futimens: new module
21944         * modules/futimens: New file.
21945         * lib/futimens.c (futimens): Likewise.
21946         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
21947         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
21948         we can work around Linux bugs.
21949         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
21950         * modules/sys_stat (Makefile.am): Substitute them.
21951         * lib/sys_stat.in.h (futimens): Declare it.
21952         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
21953         * doc/posix-functions/futimens.texi (futimens): Likewise.
21954         * modules/futimens-tests: New test.
21955         * tests/test-futimens.c: Likewise.
21956
21957         utimens: introduce fdutimens
21958         * lib/utimens.h (fdutimens): New prototype.
21959         * lib/utimens.c (gl_futimens): Move guts...
21960         (fdutimens): ...to new interface.
21961         * tests/test-utimens.c (do_fdutimens): Use it.
21962
21963         utimens: add UTIME_NOW and UTIME_OMIT support
21964         * lib/utimens.c (validate_timespec, update_timespec): New helper
21965         functions.
21966         (gl_futimens, lutimens): Use them.
21967         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
21968         stdbool, sys_stat.
21969         (Link): Mention resulting library dependency.
21970         * modules/utimecmp (Link): Likewise.
21971         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
21972         (Makefile.am): Pick up library dependency.
21973         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
21974         definition.
21975         * tests/test-sys_stat.c: Test the definitions.
21976         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
21977         * NEWS: Document library dependency.
21978
21979         utimecmp: support symlink timestamps
21980         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
21981         hashing when possible.  Use pathconf when available.
21982         (SYSCALL_RESOLUTION): Recognize tighter resolution.
21983         * modules/utimecmp (Depends-on): Add lstat.
21984
21985         utimens: add lutimens interface
21986         * lib/utimens.c (lutimens): New function.
21987         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
21988         * lib/utimens.h (lutimens): Declare new interface.
21989         * tests/test-utimens.c (main): Enhance test.
21990         * tests/test-lutimens.h (test_lutimens): New file.
21991         * modules/utimens-tests (Files): Distribute it.
21992         (Depends-on): Add symlink.
21993         (configure.ac): Check for usleep.
21994
21995         utimens: validate futimens usage
21996         * lib/utimens.c (gl_futimens): Require valid fd up front, using
21997         fewer syscalls on failure later on.  Avoid compiler warning on
21998         mingw.
21999         * modules/utimens (Depends-on): Add dup2.
22000
22001         utimens: add test
22002         * modules/utimens-tests: New test.
22003         * tests/test-utimens.h: New file.
22004         * tests/test-futimens.h: Likewise.
22005         * tests/test-utimens.c: Likewise.
22006
22007         doc: mention timestamp portability issues
22008         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
22009         instead.
22010         * doc/posix-functions/utime.texi (utime): Likewise.
22011         * doc/posix-functions/utimes.texi (utimes): Likewise.
22012         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
22013         instead.
22014         * doc/posix-functions/futimens.texi (futimens): Mention utimens
22015         module.
22016         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
22017         Mention weakness with symlink timestamps.
22018         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
22019         to utimensat/futimens instead.
22020         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
22021
22022         test-dup2: enhance test
22023         * tests/test-dup2.c (main): Also check AT_FDCWD.
22024
22025         test-stat-time: avoid more spurious failures
22026         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
22027         xfs; and avoid race if the two timestamps cross quantization edge.
22028
22029         relocatable: prefer 'file system' over 'filesystem'
22030         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
22031         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
22032         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
22033         * doc/relocatable.texi (Enabling Relocatability): Likewise.
22034         * lib/relocatable.c (compute_curr_prefix): Likewise.
22035
22036 2009-10-10  Jim Meyering  <meyering@redhat.com>
22037
22038         stat-time-tests: check for the usleep function
22039         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
22040
22041 2009-10-10  Bruno Haible  <bruno@clisp.org>
22042
22043         * modules/xnanosleep: Put the Link section after the Include section.
22044
22045 2009-10-09  Eric Blake  <ebb9@byu.net>
22046
22047         dup2: work around FreeBSD 6.1 bug
22048         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
22049         * doc/posix-functions/dup2.texi (dup2): Document it.
22050         Reported by Nelson H. F. Beebe and Jim Meyering.
22051
22052         test-stat-time: port to buggy NFS clients
22053         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
22054         (test_ctime): Also skip test if mtime and ctime are skewed.
22055
22056         maint: prefer 'file system' over 'filesystem'
22057         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
22058         * doc/posix-functions/lstat.texi (lstat): Likewise.
22059         * lib/file-has-acl.c (file_has_acl): Likewise.
22060         * lib/fwriteerror.c [TEST]: Likewise.
22061         * tests/test-areadlink.h (test_areadlink): Likewise.
22062         * tests/test-areadlinkat-with-size.c (main): Likewise.
22063         * tests/test-areadlinkat.c (main): Likewise.
22064         * tests/test-canonicalize-lgpl.c (main): Likewise.
22065         * tests/test-canonicalize.c (main): Likewise.
22066         * tests/test-fstatat.c (main): Likewise.
22067         * tests/test-linkat.c (main): Likewise.
22068         * tests/test-lstat.h (test_lstat_func): Likewise.
22069         * tests/test-mkdir.h (test_mkdir): Likewise.
22070         * tests/test-readlink.h (test_readlink): Likewise.
22071         * tests/test-remove.c (main): Likewise.
22072         * tests/test-rename.h (test_rename): Likewise.
22073         * tests/test-renameat.c (main): Likewise.
22074         * tests/test-rmdir.h (test_rmdir_func): Likewise.
22075         * tests/test-symlink.h (test_symlink): Likewise.
22076         * tests/test-symlinkat.c (main): Likewise.
22077         * tests/test-unlink.h (test_unlink_func): Likewise.
22078         * tests/test-unlinkat.c (main): Likewise.
22079
22080         maint: make realtime library usage explicit
22081         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
22082         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
22083         * modules/settime (Link): Likewise.
22084         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
22085
22086         test-stat-time: speed up execution
22087         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
22088         warning on mingw.
22089         (nap): New helper function.
22090         (prepare_test): Use it to reduce sleep time.
22091         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
22092         execution.
22093         * modules/stat-time-tests (configure.ac): Check for usleep.
22094
22095 2009-10-09  Jim Meyering  <meyering@redhat.com>
22096
22097         selinux-h: always use getfilecon wrappers
22098         * lib/getfilecon.c: New file.
22099         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
22100         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
22101         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
22102         (fgetfilecon): Provide a stub.
22103         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
22104         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
22105         file unconditionally.
22106         When <selinux/selinux.h> is found, arrange to use wrappers.
22107         * modules/selinux-h (Files): Add getfilecon.c.
22108         (Makefile.am): Substitute include-next-related bits
22109         into the now-always-generated selinux/selinux.h file.
22110         * doc/glibc-functions/lgetfilecon.texi: New file.
22111         * doc/glibc-functions/fgetfilecon.texi: New file.
22112         * doc/glibc-functions/getfilecon.texi: New file.
22113         * doc/glibc-functions/getfilecon-desc.texi: New file.
22114         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
22115         which to pull in the new files.
22116         * MODULES.html.sh (Misc): Add selinux-h.
22117
22118 2009-10-08  Jim Meyering  <meyering@redhat.com>
22119
22120         unistd: fix comment typo
22121         * lib/unistd.in.h (euidaccess): Fix a comment typo.
22122
22123 2009-10-08  Eric Blake  <ebb9@byu.net>
22124
22125         areadlink: use SIZE_MAX consistently
22126         * modules/areadlink (Depends-on): Add stdint.
22127         * modules/areadlink-with-size (Depends-on): Likewise.
22128         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
22129         gives NULL; drop sys/types, since unistd gives size_t; and add
22130         stdint for SIZE_MAX.
22131         (SIZE_MAX): Rely on headers.
22132         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
22133         and add stdint.
22134         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
22135         (SIZE_MAX): Likewise.
22136         (INITIAL_BUF_SIZE): Turn into enum.
22137         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
22138
22139 2009-10-08  Jim Meyering  <meyering@redhat.com>
22140
22141         areadlinkat: avoid compilation failure
22142         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
22143         Fix typo in comment.
22144
22145 2009-10-07  Eric Blake  <ebb9@byu.net>
22146
22147         areadlinkat-with-size: new module
22148         * modules/areadlinkat-with-size: New module.
22149         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
22150         * lib/areadlink.h (areadlinkat): Declare it.
22151         * MODULES.html.sh (File system functions): Mention it.
22152         * modules/areadlinkat-with-size-tests: New test.
22153         * tests/test-areadlinkat-with-size.c: New file.
22154
22155         xreadlinkat: new module
22156         * modules/xreadlinkat: New module.
22157         * lib/xreadlinkat.c (xreadlinkat): New file.
22158         * lib/xreadlink.h (xreadlinkat): Declare it.
22159         * MODULES.html.sh (File system functions): Mention it.
22160
22161         areadlinkat: new module
22162         * lib/at-func.c (FUNC_FAIL): New define.
22163         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
22164         * modules/areadlinkat: New module.
22165         * lib/linkat.c (areadlinkat): Move...
22166         * lib/areadlinkat.c (areadlinkat): ...to new file.
22167         * lib/areadlink.h (areadlinkat): Declare it.
22168         * modules/linkat (Depends-on): Add areadlinkat.
22169         * MODULES.html.sh (File system functions): Mention it.
22170         * modules/areadlinkat-tests: New test.
22171         * tests/test-areadlinkat.c: New file.
22172
22173         areadlink, areadlink-with-size: add tests
22174         * modules/areadlink-tests: New test.
22175         * modules/areadlink-with-size-tests: Likewise.
22176         * tests/test-areadlink.h: New file.
22177         * tests/test-areadlink.c: Likewise.
22178         * tests/test-areadlink-with-size.c: Likewise.
22179
22180         maint: minor cleanups
22181         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
22182         _UNUSED_PARAMETER_ instead.
22183         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
22184         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
22185         * modules/linkat-tests (Files): Distribute test-link.h.
22186
22187         openat, utimens: whitespace cleanup
22188         * lib/openat.c: Prefer space throughout, rather than mix of 8
22189         spaces vs. tabs.
22190         * lib/at-func.c: Likewise.
22191         * lib/utimens.c: Likewise.
22192
22193         openat: avoid using wrong fd
22194         * lib/openat.c (openat_permissive): Reject user's fd if saving the
22195         working directory chooses same fd.
22196         * lib/at-func.c (AT_FUNC_NAME): Likewise.
22197
22198         mkdir, mkdirat: fix cygwin 1.5.x bug
22199         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
22200         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
22201         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
22202         bug.
22203         (gl_PREREQ_MKDIR): Delete unused macro.
22204         * modules/mkdir (Files): Track file rename.
22205         (configure.ac): Update macro name.
22206         * modules/openat (Depends-on): Add mkdir.
22207         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
22208
22209         mkdir, mkdirat: add tests
22210         * modules/mkdir-tests: New test.
22211         * tests/test-mkdir.h: New file.
22212         * tests/test-mkdir.c: Likewise.
22213         * tests/test-mkdirat.c: Likewise.
22214         * modules/openat-tests (Files): Add new files.
22215         (Makefile.am): Run new test.
22216
22217 2009-10-06  Eric Blake  <ebb9@byu.net>
22218
22219         doc: tweak *at function documentation
22220         * doc/posix-functions/faccessat.texi (faccessat): Mention
22221         known issue with replacement.
22222         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
22223         * doc/posix-functions/linkat.texi (linkat): Likewise.
22224         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
22225         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
22226         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
22227         * doc/posix-functions/renameat.texi (renameat): Likewise.
22228         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
22229
22230         openat: fix GNU/Hurd bug in unlinkat
22231         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
22232         broken.
22233         * doc/posix-functions/unlink.texi (unlink): Document this.
22234         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
22235
22236         fdopendir: fix GNU/Hurd bug
22237         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
22238         allowing non-directory fds.
22239         * lib/fdopendir.c (rpl_fdopendir): Work around it.
22240         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
22241         * modules/dirent (Makefile.am): Substitute it.
22242         * lib/dirent.in.h (fdopendir): Declare replacement.
22243         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
22244         * tests/test-fdopendir.c (main): Test something other than
22245         /dev/null, since on Hurd that behaves like a directory.
22246
22247         test-symlink: port to GNU/Hurd
22248         * tests/test-symlink.h (test_symlink): Relax expected errno.
22249
22250         doc: tweak more cygwin information
22251         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
22252         now compatible with glibc.
22253         * doc/posix-functions/getopt.texi (getopt): Likewise.
22254
22255         getopt-gnu: add another test
22256         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
22257         guarantee behavior relied on by m4.
22258         * tests/test-getopt.c (main): Use it.
22259         * modules/getopt-posix-tests (Depends-on): Add setenv.
22260         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
22261
22262         getopt: fix compilation on darwin
22263         * lib/getopt.in.h (includes): Leave breadcrumbs during system
22264         include.
22265         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
22266         Reported by Ludovic Courtès.
22267
22268 2009-10-06  Bruno Haible  <bruno@clisp.org>
22269
22270         * modules/size_max (Description): Discourage its use.
22271         Reported by Simon Josefsson.
22272
22273 2009-10-06  Jim Meyering  <meyering@redhat.com>
22274
22275         linkat: avoid compilation failure
22276         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
22277
22278 2009-10-05  Eric Blake  <ebb9@byu.net>
22279
22280         linkat: support Linux 2.6.17
22281         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
22282         linkat on Linux, but allow cache variable override.
22283         * lib/linkat.c (rpl_linkat): Define override.
22284         * modules/linkat (Depends-on): Add symlinkat.
22285         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
22286         * modules/unistd (Makefile.am): Substitute it.
22287         * lib/unistd.in.h (linkat): Declare replacement.
22288         Reported by Pádraig Brady.
22289
22290         quotearg: port test to systems with C.UTF-8 locale
22291         * tests/test-quotearg.c (struct result_strings): Add another
22292         member, differentiating between C.ASCII and C.UTF-8 handling.
22293         (compare_strings): Add parameter.
22294         (main): Adjust all callers.
22295
22296         getopt: avoid clash with FreeBSD _getopt_internal
22297         * lib/getopt.in.h (_getopt_internal): Override the name.
22298         * lib/getopt_int.h (includes): Pick up any overrides.
22299         Reported by Reuben Thomas.
22300
22301         hash: allow C89 compilation
22302         * lib/hash.c (check_tuning): Move declaration before statement.
22303         Reported by Reuben Thomas.
22304
22305 2009-10-05  Karl Berry  <karl@gnu.org>
22306
22307         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
22308
22309 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
22310             Bruno Haible  <bruno@clisp.org>
22311
22312         * lib/uname.c (uname): Use a table-driven algorithm to compute
22313         Windows NT versions.
22314
22315 2009-10-04  Bruno Haible  <bruno@clisp.org>
22316
22317         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
22318         program_invocation_short_name.
22319         * modules/progname (configure.ac): Test for presence of
22320         program_invocation_short_name.
22321         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
22322
22323 2009-10-04  Bruno Haible  <bruno@clisp.org>
22324
22325         * lib/progname.c (set_program_name): Fix comment.
22326         Reported by Jim Meyering.
22327
22328 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
22329             Bruno Haible  <bruno@clisp.org>
22330
22331         * lib/uname.c: Include <string.h>.
22332         (uname): Do only one call to GetVersionEx in the common case.
22333
22334 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
22335             Bruno Haible  <bruno@clisp.org>
22336
22337         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
22338         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
22339         (uname): Add support for Windows CE and various non-x86 CPU types.
22340
22341 2009-10-03  Bruno Haible  <bruno@clisp.org>
22342
22343         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
22344         invocation to tests/configure.ac.
22345         Reported by Ian Beckwith <ianb@erislabs.net>.
22346
22347 2009-10-02  Eric Blake  <ebb9@byu.net>
22348
22349         fchdir: avoid compiler warning
22350         * lib/fchdir.c (canonicalize_file_name)
22351         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
22352
22353         test-open: support mingw errno values
22354         * tests/test-open.h (test_open): Relax test.
22355         * tests/test-fopen.h (test_fopen): Likewise.
22356         * tests/test-openat-safer.c (main): Likewise.
22357
22358         open: fix opening directory on mingw
22359         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
22360
22361         test-open: on GNU/Hurd, /dev/null is a directory
22362         * tests/test-fopen.h (main): Rename...
22363         (test_fopen): ...to this.  Use a guaranteed non-directory when
22364         confirming open behavior on trailing slash.
22365         * tests/test-openat-safer.c (main): Likewise.
22366         * tests/test-open.h (main): Likewise....
22367         (test_open): ...to this.
22368         * tests/test-fopen.c (main): Adjust caller.
22369         * tests/test-fopen-safer.c (main): Likewise.
22370         * tests/test-open.c (main): Likewise.
22371         * tests/test-fcntl-safer.c (main): Likewise.
22372         Reported by Samuel Thibault.
22373
22374         rename, fchdir: don't ignore chdir failure
22375         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
22376         * lib/rename.c (rpl_rename) [W32]: Likewise.
22377         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
22378         an empty destination directory if source cannot be renamed,
22379         although there is still possibility for failure.
22380         * doc/posix-functions/rename.texi (rename): Document the race.
22381         Reported by Jim Meyering.
22382
22383         maint: cleanup whitespace in recent commits
22384         * lib/rename.c (rpl_rename): Remove tabs.
22385         * tests/test-link.h (test_link): Likewise.
22386         * lib/fchdir.c (get_name): Likewise.
22387         Reported by Jim Meyering.
22388
22389 2009-10-02  Ben Pfaff  <blp@gnu.org>
22390
22391         relocatable-prog-wrapper: Add missing dependency on
22392         double-slash-root.
22393         * modules/relocatable-prog-wrapper: Add dependency.
22394         Reported by Ian Beckwith <ianb@erislabs.net>.
22395
22396 2009-10-02  Eric Blake  <ebb9@byu.net>
22397
22398         renameat: fix Solaris bugs
22399         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
22400         needed fixing.
22401         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
22402         * modules/stdio (Makefile.am): Substitute it.
22403         * lib/stdio.in.h (renameat): Declare replacement.
22404         * lib/renameat.c (rpl_renameat): Implement fix.
22405
22406         renameat: new module
22407         * modules/renameat: New file.
22408         * lib/renameat.c (renameat): Likewise.
22409         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
22410         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
22411         * modules/stdio (Makefile.am): Substitute them.
22412         * lib/stdio.in.h (renameat): Declare it.
22413         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22414         * doc/posix-functions/renameat.texi (renameat): Likewise.
22415         * modules/renameat-tests: New test.
22416         * tests/test-renameat.c: Likewise.
22417
22418         rename: fix mingw bugs
22419         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
22420         directory overwrite bugs.
22421
22422         rename: fix another cygwin 1.5 bug
22423         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
22424         checks.
22425         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
22426         unnecessary cygwin workarounds.  Also work around bug with moving
22427         full directory onto an empty one.
22428         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
22429
22430         rename-dest-slash: merge into rename module
22431         * modules/rename-dest-slash (Status): Mark obsolete.
22432         (Depends-on): Add rename.
22433         (Files): Let rename do it all.
22434         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
22435         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
22436         * m4/rename-dest-slash.m4: ...so this file can be deleted.
22437         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
22438         * lib/rename.c (rpl_rename): Update comments.
22439
22440         rename: fix cygwin 1.5.x bugs
22441         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
22442         * lib/rename.c (rpl_rename): Work around them.
22443         * modules/rename (Depends-on): Add same-inode.
22444
22445         rename: fix Solaris 10 bug
22446         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
22447         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
22448         was the only bug.
22449
22450         rename: fix Solaris 9 bug
22451         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
22452         on non-directory.  Avoid calling exit.
22453         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
22454         strdup.
22455         * modules/rename-tests (Depends-on): Drop lstat.
22456         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
22457         (gl_PREREQ_RENAME): Delete unused macro.
22458
22459         rename-dest-slash: fix NetBSD bug
22460         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
22461         links.
22462         * modules/rename-dest-slash (Depends-on): Add same-inode.
22463
22464         rename-tests: new test, exposes several platform bugs
22465         * modules/rename-tests: New file.
22466         * tests/test-rename.h: Likewise.
22467         * tests/test-rename.c: Likewise.
22468         * doc/posix-functions/rename.texi (rename): Improve documentation,
22469         including bugs that will eventually be fixed in gnulib.
22470
22471 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
22472
22473         * lib/uname.c: Include <stdlib.h>
22474         (uname): Assume version info is available.
22475
22476 2009-10-02  Jim Meyering  <meyering@redhat.com>
22477
22478         gnu-web-doc-update: correct --help output
22479         * build-aux/gnu-web-doc-update: Make --help output relevant.
22480
22481         gnu-web-doc-update: add standard options
22482         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
22483
22484         gnu-web-doc-update: New module.
22485         Use this script to automatically update the on-line web documentation
22486         for your GNU project at http://www.gnu.org/software/$pkg/manual/
22487         * modules/gnu-web-doc-update: New file, from coreutils.
22488         * build-aux/gnu-web-doc-update: New script.
22489
22490 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
22491
22492         link: LoadLibrary is not needed.
22493         * lib/link.c: Use GetModuleHandle.
22494
22495 2009-10-01  Eric Blake  <ebb9@byu.net>
22496
22497         getopt: bump serial number
22498         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
22499         change.
22500
22501         tests: tighten link, rmdir, and remove tests
22502         * tests/test-link.h (includes): No need to use <config.h> here.
22503         Clean up if directory hard link was created, otherwise test for
22504         trailing '.'.
22505         * tests/test-linkat.c (main): Simplify.
22506         * tests/test-remove.c (main): Enhance test for trailing '.'.
22507         * tests/test-rmdir.h (test_rmdir_func): Likewise.
22508
22509 2009-10-01  Jim Meyering  <meyering@redhat.com>
22510
22511         maint.mk: requiring "make major" was annoying, for a "minor" release.
22512         What is intended is "stable", to contrast with alpha and beta,
22513         so require "make stable", not "make major".
22514         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
22515         (get_tool_versions): Likewise.
22516         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
22517
22518 2009-09-30  Ben Pfaff  <blp@gnu.org>
22519
22520         Fix broken build of replacement for Windows tmpfile().
22521         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
22522         flags argument added along with the 'mkostemp' module.
22523
22524 2009-09-28  Bruno Haible  <bruno@clisp.org>
22525
22526         Avoid identifier clash with POSIX function 'remove' defined as a macro.
22527         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
22528         to 'remove_elt'.
22529         (gl_list_remove): Update.
22530         * lib/gl_list.c (gl_list_remove): Update.
22531         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
22532         to 'remove_elt'.
22533         (gl_oset_remove): Update.
22534         * lib/gl_list.c (gl_oset_remove): Update.
22535         Reported by Eric Blake.
22536
22537 2009-09-28  Eric Blake  <ebb9@byu.net>
22538
22539         doc: mention yet more cygwin 1.7 status
22540         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
22541         cygwin.
22542         * doc/glibc-functions/execvpe.texi (execvpe): New file.
22543         * doc/gnulib.texi (Glibc unistd.h): Mention it.
22544
22545         argp: fix test failure
22546         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
22547         that are not upper-case.  Pass correct range to tolower.
22548
22549 2009-09-27  Jim Meyering  <meyering@redhat.com>
22550
22551         test-yesno: work around sparc-dash here-document infelicity
22552         Without this change, the literal \177 byte in a here document
22553         would make dash 0.5.5.1-3 access uninitialized memory.
22554         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
22555         Instead, use a marker, "@", and filter through tr to create the desired
22556         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
22557
22558 2009-09-27  Bruno Haible  <bruno@clisp.org>
22559
22560         Disable untested support for new flavours of ACLs on AIX.
22561         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
22562         progress.
22563         * lib/set-mode-acl.c (qset_acl): Likewise.
22564
22565 2008-12-07  Bruno Haible  <bruno@clisp.org>
22566
22567         Add support for new flavours of ACLs on AIX. (Untested.)
22568         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
22569         (file_has_acl): Add support for newer AIX.
22570         * lib/set-mode-acl.c (qset_acl): Likewise.
22571         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
22572         Rainer Tammer <tammer@tammer.net>.
22573
22574 2009-09-26  Eric Blake  <ebb9@byu.net>
22575
22576         argp: fix compilation of getopt
22577         * lib/getopt.in.h (includes): Use different guard than glibc.
22578         Reported by Sergey Poznyakoff.
22579
22580         doc: mention more cygwin 1.7 status
22581         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
22582         bug.
22583         * doc/posix-functions/execl.texi (execl): Likewise.
22584         * doc/posix-functions/execle.texi (execle): Likewise.
22585         * doc/posix-functions/execlp.texi (execlp): Likewise.
22586         * doc/posix-functions/execv.texi (execv): Likewise.
22587         * doc/posix-functions/execve.texi (execve): Likewise.
22588         * doc/posix-functions/execvp.texi (execvp): Likewise.
22589         * doc/glibc-functions/canonicalize_file_name.texi
22590         (canonicalize_file_name): Cygwin 1.7 now provides this.
22591         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
22592         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
22593         on AT_SYMLINK_NOFOLLOW.
22594
22595 2009-09-24  Eric Blake  <ebb9@byu.net>
22596
22597         test-linkat: make test more robust
22598         * tests/test-linkat.c (main): Avoid collision with EEXIST.
22599
22600         getopt: fix inclusion guards for cygwin
22601         * modules/getopt-posix (Depends-on): Add include-next.
22602         (Makefile.am): Substitute more items in replacement header.
22603         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
22604         <getopt.h>.
22605         * lib/getopt.in.h (includes): Use split inclusion guard, and
22606         prefer <getopt.h> over include <unistd.h> when one is present.
22607         (option): Also override name of 'struct option'.
22608
22609         same-inode: revert prior change; it is not yet ready
22610         * NEWS: Undo mention of this change.
22611         * lib/same-inode.h (same-inode.h): Undo tri-state change.
22612         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
22613         * lib/cycle-check.c (cycle_check): Likewise.
22614         * lib/same.c (same_name): Likewise.
22615         * lib/at-func2.c (at_func2): Likewise.
22616
22617 2009-09-23  Eric Blake  <ebb9@byu.net>
22618
22619         linkat: new module
22620         * modules/linkat: New file.
22621         * lib/at-func2.c (at_func2): Likewise.
22622         * lib/linkat.c (linkat): Likewise.
22623         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
22624         * lib/openat-priv.h (at_func2): Add declaration.
22625         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
22626         * modules/unistd (Makefile.am): Substitute them.
22627         * lib/unistd.in.h (linkat): Declare it.
22628         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22629         * doc/posix-functions/linkat.texi (linkat): Likewise.
22630         * doc/posix-functions/link.texi (link): Tweak wording.
22631         * tests/test-link.c (main): Move guts...
22632         * tests/test-link.h (test_link): ...into new file.
22633         * modules/linkat-tests: New test.
22634         * tests/test-linkat.c: Likewise.
22635         * modules/link-tests (Files): Ship new file.
22636         (Depends-on): Add stdbool.
22637
22638         dirname: add library-safe mdir_name
22639         * lib/dirname.h (mdir_name): New prototype.
22640         * lib/dirname.c (dir_name): Move guts...
22641         (mdir_name): ...to new function that avoids xalloc_die.
22642
22643         fchdir: another mingw fix
22644         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
22645         * lib/fchdir.c (get_name): New helper method; skips canonicalize
22646         on mingw (where it has not yet been ported), and make it optional
22647         elsewhere.
22648         (_gl_register_fd): Use it.
22649
22650         same-inode: make SAME_INODE tri-state, to port to mingw
22651         * NEWS: Mention this change.
22652         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
22653         st_ino always being 0.
22654         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
22655         * lib/cycle-check.c (cycle_check): Likewise.
22656         * lib/same.c (same_name): Likewise.
22657
22658         lstat: avoid mingw compilation error
22659         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
22660         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
22661         lstat ourselves.
22662         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
22663         was adequate.
22664         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
22665         the checks for lstat.
22666         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
22667
22668         link: fix test failure on Solaris 9
22669         * lib/link.c (rpl_link): Don't assume link will catch bogus
22670         trailing slash on source.
22671
22672         test-symlinkat: enhance test
22673         * tests/test-readlink.c (main): Move guts...
22674         * tests/test-readlink.h (test_readlink): ...into new file.
22675         * tests/test-symlink.c (main): Move guts...
22676         * tests/test-symlink.h (test_symlink): ...into new file.
22677         * tests/test-symlinkat.c (main): Use new files for further
22678         coverage.
22679         (do_symlink, do_readlink): New helper functions.
22680         * modules/symlink-tests (Files): Ship new file.
22681         (Depends-on): Add stdbool.
22682         * modules/readlink-tests (Files): Ship new file.
22683         (Depends-on): Add stdbool.
22684         * modules/symlinkat-tests (Files): Use new files.
22685
22686 2009-09-23  Eric Blake  <ebb9@byu.net>
22687
22688         readlink: document portability issue with symlink length
22689         * doc/posix-functions/lstat.texi (lstat): Mention that some file
22690         systems have bogus st_size on symlinks, and mention the
22691         areadlink-with-size module.
22692         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
22693         * doc/posix-functions/readlink.texi (readlink): Mention the
22694         areadlink module, and ERANGE failure.
22695         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
22696         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
22697
22698         readlink: fix Solaris 9 bug with trailing slash
22699         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
22700         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
22701         * doc/posix-functions/readlink.texi (readlink): Document this.
22702         * modules/readlink-tests: New test.
22703         * tests/test-readlink.c: Likewise.
22704
22705         readlink: fix cygwin 1.5.x bug with return type
22706         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
22707         * lib/unistd.in.h (readlink): Use ssize_t.
22708         * lib/readlink.c (readlink): Likewise.
22709         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
22710         * modules/unistd (Makefile.am): Substitute it.
22711         * lib/unistd.in.h (readlink): Declare replacement.
22712         * doc/posix-functions/readlink.texi (readlink): Document this.
22713
22714         symlink: use throughout gnulib
22715         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
22716         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
22717         symlink is not used.
22718         * modules/symlinkat (Depends-on): Add symlink.
22719         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
22720         * modules/canonicalize-tests (Depends-on): Likewise.
22721         * modules/lstat-tests (Depends-on): Likewise.
22722         * modules/openat-tests (Depends-on): Likewise.
22723         * modules/remove-tests (Depends-on): Likewise.
22724         * modules/rmdir-tests (Depends-on): Likewise.
22725         * modules/unlink-tests (Depends-on): Likewise.
22726         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
22727         * tests/test-canonicalize.c (symlink): Likewise.
22728         * tests/test-fstatat.c (symlink): Likewise.
22729         * tests/test-lstat.c (symlink): Likewise.
22730         * tests/test-remove.c (symlink): Likewise.
22731         * tests/test-rmdir.c (symlink): Likewise.
22732         * tests/test-unlink.c (symlink): Likewise.
22733         * tests/test-unlinkat.c (symlink): Likewise.
22734
22735         symlink: new module, for Solaris 9 bug
22736         * modules/symlink: New file.
22737         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
22738         * lib/symlink.c: Likewise.
22739         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
22740         * modules/unistd (Makefile.am): Substitute them.
22741         * lib/unistd.in.h (symlink): Declare replacement.
22742         * MODULES.html.sh (File system functions): Mention it.
22743         * doc/posix-functions/symlink.texi (symlink): Likewise.
22744         * modules/symlink-tests: New test.
22745         * tests/test-symlink.c: Likewise.
22746
22747 2009-09-23  Bruno Haible  <bruno@clisp.org>
22748
22749         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
22750         when needed.
22751         Test case: gnulib-tool --import --with-tests atexit inttypes.
22752         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
22753
22754 2009-09-23  Bruno Haible  <bruno@clisp.org>
22755
22756         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
22757         subcommand, not in a subshell.
22758
22759 2009-09-22  Eric Blake  <ebb9@byu.net>
22760
22761         unistd: sort replacement declarations
22762         * lib/unistd.in.h: Sort declarations.
22763
22764         open, openat: minor optimization
22765         * lib/open.c (open): If open succeeded, len is non-zero.
22766         * lib/openat.c (rpl_openat): Likewise.
22767
22768         link-follow: ensure correct result
22769         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
22770         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
22771         distinguish between possible failures.
22772
22773 2009-09-21  Eric Blake  <ebb9@byu.net>
22774
22775         fts: avoid compiler warning
22776         * lib/fts.c (dirent_inode_sort_may_be_useful)
22777         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
22778
22779 2009-09-19  Bruno Haible  <bruno@clisp.org>
22780
22781         * lib/progreloc.c (canonicalize_file_name): New declaration.
22782
22783 2009-09-19  Eric Blake  <ebb9@byu.net>
22784
22785         link: fix quoting
22786         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
22787
22788         openat: fix openat bugs on Solaris 9
22789         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
22790         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
22791         * modules/openat (Depends-on): Add open.
22792         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
22793         * modules/fcntl-h (Makefile.am): Substitute it.
22794         * lib/fcntl.in.h (openat): Declare replacement.
22795         * doc/posix-functions/openat.texi (openat): Document this.
22796
22797         openat: move fstatat and unlinkat into correct files
22798         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
22799         compiled.
22800         * lib/openat.c (fstatat, unlinkat): Move...
22801         * lib/fstatat.c (fstatat): ...into correct files.
22802         * lib/unlinkat.c (unlinkat): Likewise.
22803
22804         openat: fix unlinkat bugs on Solaris 9
22805         * lib/unlinkat.c (unlinkat): New file.
22806         * modules/openat (Depends-on): Add unlink.
22807         (Files): Distribute it.
22808         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
22809         trailing slash behavior is broken.
22810         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
22811         * modules/unistd (Makefile.am): Substitute it.
22812         * lib/unistd.in.h (unlinkat): Declare replacement.
22813         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
22814
22815         openat: fix fstatat bugs on Solaris 9
22816         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
22817         stat.
22818         * doc/posix-functions/fstatat.texi (fstatat): Document this.
22819
22820         test-unlinkat: enhance test, to expose Solaris 9 bug
22821         * tests/test-unlink.c (main): Factor guts...
22822         * tests/test-unlink.h (test_rmdir_func): ...into new file.
22823         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
22824         * tests/test-rmdir.c (main): Adjust caller.
22825         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
22826         (unlinker): New helper function.
22827         (rmdirat): Enhance check.
22828         * modules/rmdir-tests (Depends-on): Add stdbool.
22829         * modules/unlink-tests (Depends-on): Likewise.
22830         (Files): Add test-unlink.h.
22831         * modules/openat-tests (Files): Likewise.
22832         (Depends-on): Add unlinkdir.
22833
22834         test-fstatat: new test, to expose Solaris 9 bugs
22835         * tests/test-stat.c (main): Factor guts...
22836         * tests/test-stat.h (test_stat_func): ...into new file.
22837         * tests/test-lstat.c (main): Factor guts...
22838         * tests/test-lstat.h (test_lstat_func): ...into new file.
22839         * tests/test-fstatat.c: New file.
22840         * modules/stat-tests (Files): Add test-stat.h.
22841         * modules/lstat-tests (Files): Add test-lstat.h.
22842         (Depends-on): Add stdbool.
22843         * modules/openat-tests (Depends-on): Add pathmax.
22844         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
22845         (Makefile.am): Run new test.
22846
22847         remove: new module, for mingw and Solaris 9 bugs
22848         * modules/remove: New file.
22849         * lib/remove.c: Likewise.
22850         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
22851         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
22852         * modules/stdio (Makefile.am): Use them.
22853         * lib/stdio.in.h (remove): Declare replacement.
22854         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22855         * doc/posix-functions/remove.texi (remove): Likewise.
22856         * modules/remove-tests: New test.
22857         * tests/test-remove.c: Likewise.
22858
22859         unlink: new module, for Solaris 9 bug
22860         * modules/unlink: New file.
22861         * lib/unlink.c: Likewise.
22862         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
22863         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
22864         * modules/unistd (Makefile.am): Use them.
22865         * lib/unistd.in.h (stat): Declare replacement.
22866         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22867         * doc/posix-functions/unlink.texi (unlink): Likewise.
22868         * modules/unlink-tests: New test.
22869         * tests/test-unlink.c: Likewise.
22870
22871         lstat: fix Solaris 9 bug
22872         * lib/lstat.c (lstat): Also check for trailing slash on
22873         non-symlink, non-directories.  Use stat module to simplify logic.
22874         * doc/posix-functions/lstat.texi (lstat): Document it.
22875         * modules/lstat-tests (Depends-on): Add errno, same-inode.
22876         (configure.ac): Check for symlink.
22877         * tests/test-lstat.c (main): Add more tests.
22878
22879         stat: add as dependency to other modules
22880         * modules/chown (Depends-on): Add stat.
22881         * modules/euidaccess (Depends-on): Likewise.
22882         * modules/fchdir (Depends-on): Likewise.
22883         * modules/isdir (Depends-on): Likewise.
22884         * modules/link (Depends-on): Likewise.
22885         * modules/lstat (Depends-on): Likewise.
22886         * modules/mkdir-p (Depends-on): Likewise.
22887         * modules/modechange (Depends-on): Likewise.
22888         * modules/open (Depends-on): Likewise.
22889         * modules/readlink (Depends-on): Likewise.
22890         * modules/same (Depends-on): Likewise.
22891
22892         stat: fix Solaris 9 bug
22893         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
22894         slash.
22895         * lib/stat.c (rpl_stat): Work around it.
22896         * doc/posix-functions/stat.texi (stat): Update documentation.
22897
22898         stat: new module, for mingw bug
22899         * modules/stat: New file.
22900         * lib/stat.c: Likewise.
22901         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
22902         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
22903         * modules/sys_stat (Makefile.am): Use them.
22904         * lib/sys_stat.in.h (stat): Declare replacement.
22905         * lib/openat.c (fstatat): Deal with lstat and stat being function
22906         macros.
22907         * modules/openat (Depends-on): Add inline.
22908         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22909         * doc/posix-functions/stat.texi (stat): Likewise.
22910         * modules/stat-tests: New test.
22911         * tests/test-stat.c: Likewise.
22912
22913 2009-09-19  Jim Meyering  <meyering@redhat.com>
22914
22915         syntax-check: detect unnecessary inclusion of canonicalize.h
22916         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
22917
22918 2009-09-19  Eric Blake  <ebb9@byu.net>
22919
22920         canonicalize-lgpl: adjust clients to use correct header
22921         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
22922         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
22923         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
22924         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
22925         * lib/progreloc.c (includes): Likewise.
22926
22927 2009-09-19  Jim Meyering  <meyering@redhat.com>
22928
22929         test-posixtm.c: correct a comment
22930         * tests/test-posixtm.c: Correct first-line comment.
22931         Spotted by Eric Blake.
22932
22933 2009-09-16  Jim Meyering  <meyering@redhat.com>
22934
22935         posixtm-tests: make T const-correct; add a test case
22936         * tests/test-posixtm.c (T): Declare const.
22937         Add a test for -(2^31+1).
22938         Remove useless can-succeed-only-in-2002 test.
22939
22940         posixtm-tests: adjust the sole failing test
22941         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
22942         expected output matches what mktime now produces.  Cross-checked via
22943         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
22944
22945         posixtm: move #ifdef'd tests into a new module
22946         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
22947         * tests/test-posixtm.c: ... this new file.
22948         * modules/posixtm-tests: New module.
22949
22950 2009-09-19  Eric Blake  <ebb9@byu.net>
22951
22952         openat: simplify use of at-func.c
22953         * lib/at-func.c (includes): Include prerequisites here, to
22954         simplify requirements on client files.
22955         * lib/openat-priv.h: Add double-inclusion guard.
22956         * lib/faccessat.c (includes): Simplify.
22957         * lib/fchmodat.c (includes): Likewise.
22958         * lib/fchownat.c (includes): Likewise.
22959         * lib/mkdirat.c (includes): Likewise.
22960         * lib/mkfifoat.c (includes): Likewise.
22961         * lib/symlinkat.c (includes): Likewise.
22962
22963         openat: allow return of fd 0
22964         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
22965         * modules/save-cwd (Depends-on): Replace fcntl-safer with
22966         unistd-safer.
22967         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
22968         <fcntl.h>; this module does not leak fds.
22969         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
22970         must be allowed to return 0, leaving openat_safer to add the
22971         safety.
22972         (openat_permissive): Avoid writing to just-opened fd 2 if
22973         restoring the current directory fails.
22974         * lib/openat-die.c (openat_restore_fail): Add comment.
22975         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
22976         (save_cwd): Guarantee safe fd, but without use of open_safer.
22977         * tests/test-openat.c: New test.
22978         * modules/openat-tests (Files, Makefile.am): Distribute and build
22979         new file.
22980
22981         relocatable-prog-wrapper: fix build
22982         * modules/relocatable-prog-wrapper (Files): Update name of
22983         canonicalize m4 file, broken on 2009-09-17.
22984         Reported by emad hajjar <aleppos@hotmail.com>.
22985
22986 2009-09-19  Bruno Haible  <bruno@clisp.org>
22987
22988         * lib/safe-alloc.h: Use the standard header with GPL copyright.
22989         * lib/safe-alloc.c: Likewise.
22990         Reported by Ian Beckwith <ianb@erislabs.net>.
22991
22992 2009-09-18  Bruno Haible  <bruno@clisp.org>
22993
22994         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
22995         Reported by <erobles@sensacd.com.mx>.
22996
22997 2009-09-17  Eric Blake  <ebb9@byu.net>
22998
22999         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
23000         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
23001         slashes when checking if last component is missing.
23002         * tests/test-canonicalize.c (main): Test this.
23003
23004         canonicalize, canonicalize-lgpl: honor // if distinct from /
23005         * modules/canonicalize (Files): Add double-slash-root.m4.
23006         * modules/canonicalize-lgpl (Files): Likewise.
23007         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
23008         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
23009         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
23010         fallback definition.
23011         (canonicalize_filename_mode): Use it to protect //.
23012         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
23013         (__realpath): Likewise.
23014         * tests/test-canonicalize.c (main): Test this.
23015         * tests/test-canonicalize-lgpl.c (main): Likewise.
23016         * modules/canonicalize-tests (Depends-on): Add same-inode.
23017         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
23018
23019         canonicalize-lgpl: fix glibc bug with trailing slash
23020         * m4/canonicalize-lgpl.m4: Move contents...
23021         * m4/canonicalize.m4: ...here.
23022         (gl_CANONICALIZE_LGPL): Factor realpath check...
23023         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
23024         glibc 2.3.5 bug, fixed 2005-04-27.
23025         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
23026         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
23027         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
23028         * modules/canonicalize-lgpl (Files): Manage file rename.
23029         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
23030         * modules/stdlib (Makefile.am): Substitute witness.
23031         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
23032         is needed.
23033         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
23034         replacement is required.
23035         * lib/canonicalize.c (canonicalize_file_name): Likewise.
23036         * doc/glibc-functions/canonicalize_file_name.texi
23037         (canonicalize_file_name): Document this.
23038         * doc/posix-functions/realpath.texi (realpath): Likewise.
23039
23040         canonicalize-lgpl: reject non-directory with trailing slash
23041         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
23042         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
23043         catches failures in glibc 2.3.5.
23044         * tests/test-canonicalize.c (main): Likewise.
23045
23046         canonicalize-lgpl: use native realpath if it works
23047         * lib/canonicalize-lgpl.c (realpath): Guard with
23048         FUNC_REALPATH_WORKS.
23049         * lib/stdlib.in.h (realpath): Make declaration optional based on
23050         HAVE_REALPATH.
23051         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
23052         native realpath works.
23053         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
23054         * modules/stdlib (Makefile.am): Substitute witness.
23055
23056         canonicalize, canonicalize-lgpl: use <stdlib.h>
23057         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
23058         (Include): Mention <stdlib.h>.
23059         (configure.ac): Mention functions we provide.
23060         * modules/canonicalize (configure.ac): Likewise.
23061         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
23062         realpath if canonicalize_file_name is missing.
23063         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
23064         * modules/stdlib (Makefile.am): Substitute witnesses.
23065         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
23066         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
23067         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
23068         * NEWS: Document this.
23069         * doc/glibc-functions/canonicalize_file_name.texi
23070         (canonicalize_file_name): Likewise.
23071         * doc/posix-functions/realpath.texi (realpath): Likewise.
23072         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
23073
23074         test-canonicalize: consolidate into single C program
23075         * tests/test-canonicalize.sh: Delete; move setup into...
23076         * tests/test-canonicalize.c (main): ...the program, making it
23077         easier to run in debugger.  Add some tests.
23078         * modules/canonicalize-tests (Files): Remove unused file.
23079         (Depends-on): Add progname.
23080         (configure.ac, Makefile.am): Simplify.
23081
23082         test-canonicalize-lgpl: consolidate into single C program
23083         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
23084         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
23085         easier to run in debugger.  Add some tests.
23086         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
23087         (configure.ac, Makefile.am): Simplify.
23088
23089         canonicalize: avoid resolvepath
23090         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
23091         unnecessary checks.
23092         * lib/canonicalize.c (includes): Simplify.
23093         (canonicalize_file_name): Drop resolvepath implementation.
23094         * modules/canonicalize (Depends-on): Drop filenamecat.
23095
23096         canonicalize: don't lose errno
23097         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
23098         over calls to free.
23099
23100         canonicalize: simplify errno handling
23101         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
23102         assignment.
23103
23104         canonicalize, canonicalize-lgpl: update module dependencies
23105         * modules/canonicalize (Depends-on): Add extensions, lstat,
23106         pathmax, stdlib.
23107         (Files): Drop pathmax.h.
23108         (configure.ac): Adjust macro name.
23109         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
23110         lstat, stdlib, sys_stat.
23111         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
23112         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
23113         extensions.
23114         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
23115         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
23116         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
23117         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
23118         declaration, if available.
23119         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
23120         we can rely on the readlink module.
23121         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
23122         (includes): Use <unistd.h> unconditionally.
23123
23124 2009-09-17  Eric Blake  <ebb9@byu.net>
23125
23126         maint: make Include sections of modules consistent
23127         * modules/alloca: Use only header name; no need to list #include.
23128         * modules/alloca-opt: Likewise.
23129         * modules/arpa_inet: Likewise.
23130         * modules/canon-host: Likewise.
23131         * modules/configmake: Likewise.
23132         * modules/dirent: Likewise.
23133         * modules/eealloc: Likewise.
23134         * modules/environ: Likewise.
23135         * modules/fchdir: Likewise.
23136         * modules/fcntl: Likewise.
23137         * modules/fcntl-h: Likewise.
23138         * modules/gethrxtime: Likewise.
23139         * modules/gettime: Likewise.
23140         * modules/ignore-value: Likewise.
23141         * modules/inet_ntop: Likewise.
23142         * modules/inet_pton: Likewise.
23143         * modules/inttypes: Likewise.
23144         * modules/isnand-nolibm: Likewise.
23145         * modules/isnanf-nolibm: Likewise.
23146         * modules/mbchar: Likewise.
23147         * modules/mbfile: Likewise.
23148         * modules/mbiter: Likewise.
23149         * modules/mbuiter: Likewise.
23150         * modules/netdb: Likewise.
23151         * modules/netinet_in: Likewise.
23152         * modules/nproc: Likewise.
23153         * modules/pagealign_alloc: Likewise.
23154         * modules/poll: Likewise.
23155         * modules/printf-frexp: Likewise.
23156         * modules/pthread: Likewise.
23157         * modules/putenv: Likewise.
23158         * modules/random_r: Likewise.
23159         * modules/relocatable-prog: Likewise.
23160         * modules/search: Likewise.
23161         * modules/select: Likewise.
23162         * modules/selinux-h: Likewise.
23163         * modules/settime: Likewise.
23164         * modules/signal: Likewise.
23165         * modules/size_max: Likewise.
23166         * modules/socklen: Likewise.
23167         * modules/ssize_t: Likewise.
23168         * modules/stdarg: Likewise.
23169         * modules/stdbool: Likewise.
23170         * modules/stddef: Likewise.
23171         * modules/stdint: Likewise.
23172         * modules/stdio: Likewise.
23173         * modules/stdlib: Likewise.
23174         * modules/string: Likewise.
23175         * modules/strings: Likewise.
23176         * modules/sys_file: Likewise.
23177         * modules/sys_ioctl: Likewise.
23178         * modules/sys_select: Likewise.
23179         * modules/sys_socket: Likewise.
23180         * modules/sys_stat: Likewise.
23181         * modules/sys_time: Likewise.
23182         * modules/sys_times: Likewise.
23183         * modules/sys_utsname: Likewise.
23184         * modules/sys_wait: Likewise.
23185         * modules/sysexits: Likewise.
23186         * modules/time: Likewise.
23187         * modules/times: Likewise.
23188         * modules/tmpfile: Likewise.
23189         * modules/trim: Likewise.
23190         * modules/unistd: Likewise.
23191         * modules/wchar: Likewise.
23192         * modules/wctype: Likewise.
23193
23194 2009-09-17  Bruno Haible  <bruno@clisp.org>
23195
23196         Make getdate.y compile on QNX and NetBSD 5 / i386.
23197         * m4/getdate.m4 (gl_GETDATE): Conditionally define
23198         TIME_T_FITS_IN_LONG_INT.
23199         * lib/getdate.y (long_time_t): New type.
23200         (relative_time): Change type of 'seconds' field to long_time_t.
23201         (get_date): Update types of local variables. Check against overflow
23202         during conversion from long_time_t to time_t.
23203         Reported by Matt Kraai <kraai@ftbfs.org>
23204         and Hasso Tepper <hasso@netbsd.org>.
23205
23206 2009-09-17  Bruno Haible  <bruno@clisp.org>
23207
23208         * modules/COPYING: Update copyright years.
23209         * modules/README: Likeiwse.
23210         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
23211         Reported by Ian Beckwith <ianb@erislabs.net>.
23212
23213 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
23214
23215         * users.txt: Update references for gnuit package.
23216
23217 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
23218
23219         * m4/getdelim.m4: Fix typo in copyright line.
23220
23221 2009-09-17  Bruno Haible  <bruno@clisp.org>
23222
23223         * lib/atoll.c: Use the standard header with GPL copyright.
23224         * lib/argz.in.h: Likewise.
23225         * lib/glob.c: Likewise.
23226         * lib/glob-libc.h: Likewise.
23227         * lib/random_r.c: Likewise.
23228         * lib/siglist.h: Likewise.
23229         * lib/strsignal.c: Likewise.
23230         Reported by Ian Beckwith <ianb@erislabs.net>.
23231
23232 2009-09-17  Eric Blake  <ebb9@byu.net>
23233
23234         rmdir: ensure correct dependency order
23235         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
23236
23237 2009-09-17  Bruno Haible  <bruno@clisp.org>
23238
23239         Disable assertion that fails on NetBSD 5 / i386.
23240         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
23241         Reported by Sam Steingold <sds@gnu.org>
23242         and Hasso Tepper <hasso@netbsd.org>.
23243
23244 2009-09-16  Eric Blake  <ebb9@byu.net>
23245
23246         unlinkdir: port to mingw
23247         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
23248         on which no one can unlink a directory.
23249
23250         stdlib: sort witness names
23251         * modules/stdlib (Makefile.am): Sort replacements.
23252         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
23253         * lib/stdlib.in.h: Likewise.
23254
23255         parse-duration-tests: avoid link failure
23256         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
23257         LIBINTL.
23258         Reported by Tom G. Christensen.
23259
23260         openat-tests: ensure unlinkat behaves like rmdir
23261         * tests/test-rmdir.c (main): Factor guts...
23262         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
23263         * modules/rmdir-tests (Files): Ship new file.
23264         * modules/openat-tests: New test.
23265         * tests/test-unlinkat.c: Likewise.
23266
23267         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
23268         * modules/rmdir-errno (Status, Notice): Now obsolete.
23269
23270         rmdir: work around cygwin 1.5.x and mingw bugs
23271         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
23272         * lib/rmdir.c (rmdir): Work around it.
23273         * modules/rmdir (Status, Notice): No longer obsolete.
23274         (Files): Add dos.m4.
23275         (Depends-on): Add unistd.
23276         (configure.ac): Set witnesses.
23277         (License): Relax to LGPLv2+.
23278         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
23279         * modules/unistd (Makefile.am): Substitute witnesses.
23280         * lib/unistd.in.h (rmdir): Declare replacement.
23281         * doc/posix-functions/rmdir.texi (rmdir): Document this.
23282         * modules/rmdir-tests: New tests.
23283         * tests/test-rmdir.c: Likewise.
23284
23285 2009-09-15  Eric Blake  <ebb9@byu.net>
23286
23287         fchdir: improve use of replacement functions
23288         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
23289         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
23290         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
23291         REPLACE_CLOSEDIR.
23292         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
23293         * modules/sys_stat (Makefile.am): Substitute correct witness.
23294         * modules/dirent (Makefile.am): Likewise.
23295         * modules/unistd (Makefile.am): Likewise.
23296         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
23297         * lib/unistd.in.h (dup): Likewise.
23298         * lib/sys_stat.in.h (fstat): Likewise.
23299
23300         maint: ignore gnulib-tool temp files
23301         * .gitignore: Ignore files created during gnulib-tool --test.
23302
23303 2009-09-13  Jim Meyering  <meyering@redhat.com>
23304
23305         posixtm: don't reject a time that specify "60" as the number of seconds
23306         * lib/posixtm.c (posixtime): The code to reject invalid dates
23307         would also reject a time specified with the .60 suffix.
23308         But POSIX allows that, in order to accommodate leap seconds.
23309         So don't reject it.
23310         (main): Adjust tests accordingly.
23311         * modules/posixtm (Depends-on): Add stpcpy.
23312
23313 2009-09-11  Jim Meyering  <meyering@redhat.com>
23314
23315         announce-gen: include [$release_type] in emitted Subject:
23316         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
23317         e.g., [stable] in the emitted Subject: line.
23318
23319 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23320
23321         Remove obsolete macros from several modules.
23322         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
23323         obsolete Autoconf macros with their modern counterparts.
23324         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
23325         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
23326         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
23327         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
23328         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
23329         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
23330         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
23331         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
23332         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
23333         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
23334         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
23335         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
23336         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
23337         * m4/sockets.m4 (gl_SOCKETS): Likewise.
23338         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
23339         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
23340         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
23341         * m4/time_r.m4 (gl_TIME_R): Likewise.
23342         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
23343         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
23344         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
23345
23346         Fix copyright header in build-aux scripts.
23347         * build-aux/git-version-gen: Fix copyright header to match GPLv3
23348         recommendation.
23349         * build-aux/ncftpput-ftp: Likewise.
23350         * build-aux/update-copyright: Likewise.
23351
23352 2009-09-09  Eric Blake  <ebb9@byu.net>
23353
23354         test-link: allow Linux choice of errno
23355         * tests/test-link.c (main): Relax test for alternate error.
23356
23357         strndup: fix improper m4 caching
23358         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
23359         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
23360         (gl_PREREQ_STRNDUP): Delete.
23361         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
23362         * modules/string (Makefile.am): Substitute it.
23363         * lib/string.in.h (strndup): Modernize prototype.
23364
23365         getcwd: port to mingw
23366         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
23367         different from the POSIX assumptions made throughout the getcwd
23368         module; fortunately, the mingw getcwd does not need replacement.
23369         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
23370         * modules/getcwd-tests: New test.
23371         * tests/test-getcwd.c: Likewise.
23372
23373         link: fix platform bugs
23374         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
23375         * lib/link.c (link): Work around them.  Fix related mingw bug.
23376         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
23377         * modules/unistd (Makefile.am): Substitute it.
23378         * lib/unistd.in.h (link): Declare replacement.
23379         * doc/posix-functions/link.texi (link): Document this.
23380         * modules/link (Depends-on): Add strdup-posix, sys_stat.
23381
23382         test-link: consolidate into single C program, test more cases
23383         * tests/test-link.sh: Delete.
23384         * tests/test-link.c: Test more error conditions.  Exposes bugs on
23385         at least Cygwin and Solaris.
23386         * modules/link-tests (Files): Remove unused file.
23387         (Depends-on): Add errno, sys_stat.
23388         (Makefile.am): Simplify.
23389
23390 2009-09-08  Bruno Haible  <bruno@clisp.org>
23391
23392         Work around towlower, towupper bug on mingw.
23393         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
23394         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
23395         * doc/posix-functions/towlower.texi: Mention the mingw bug.
23396         * doc/posix-functions/towupper.texi: Likewise.
23397         Reported by Eric Blake.
23398
23399 2009-09-08  Jim Meyering  <meyering@redhat.com>
23400
23401         build: don't try to run autoheader if we don't use it
23402         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
23403         is not used in configure.ac.
23404
23405 2009-09-08  Eric Blake  <ebb9@byu.net>
23406
23407         euidaccess: fix compilation error
23408         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
23409
23410         rawmemchr: relax license
23411         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
23412         okay.
23413         Reported by Jim Meyering.
23414
23415         mkfifoat: new module
23416         * modules/mkfifoat: New file.
23417         * lib/mkfifoat.c: Likewise.
23418         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
23419         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
23420         * modules/sys_stat (Makefile.am): Use them.
23421         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
23422         * MODULES.html.sh (File system functions): Mention module.
23423         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
23424         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
23425         * modules/mkfifoat-tests: New test.
23426         * tests/test-mkfifoat.c: Likewise.
23427
23428         strchrnul: relax license
23429         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
23430         okay.
23431         Reported by Jim Meyering.
23432
23433 2009-09-08  Eric Blake  <ebb9@byu.net>
23434
23435         fstatat: fix compilation on Solaris
23436         * lib/fstatat.c (includes): Add fcntl.h.
23437         Reported by Pádraig Brady.
23438
23439 2009-09-07  Eric Blake  <ebb9@byu.net>
23440
23441         rename: modernize replacement
23442         * modules/rename (Depends-on): Add stdio.
23443         (configure.ac): Declare witness.
23444         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
23445         stdio take care of replacement.
23446         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
23447         * modules/stdio (Makefile.am): Substitute them.
23448         * lib/stdio.in.h (rename): Declare replacement.
23449         * lib/rename.c (includes): Allow cross-compilation to non-windows
23450         machines.
23451         * doc/posix-functions/rename.texi (rename): Improve
23452         documentation.
23453
23454         stdio: sort witness names
23455         * modules/stdio (Makefile.am): Sort replacements.
23456         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
23457         * lib/stdio.in.h: Likewise.
23458
23459         getcwd: minor cleanups
23460         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
23461         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
23462
23463         openat: provide more convenience names
23464         * modules/faccessat (configure.ac): Add C witness.
23465         * lib/unistd.in.h (readlinkat): Fix typo.
23466         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
23467         convenience wrappers.
23468         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
23469         wrappers in syntax checks.
23470
23471 2009-09-06  Eric Blake  <ebb9@byu.net>
23472
23473         doc: fix comments in recent patches
23474         * lib/faccessat.c: Mention correct function.
23475         * lib/fchmodat.c: Likewise.
23476         * lib/fchownat.c: Likewise.
23477         * lib/symlinkat.c: Likewise.
23478         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
23479         constants.
23480
23481         faccessat, symlinkat: continue cleanup of previous patch
23482         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
23483         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
23484         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
23485         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
23486         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
23487         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
23488         set.
23489
23490 2009-09-06  Bruno Haible  <bruno@clisp.org>
23491
23492         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
23493         (fstatat): Declare if GNULIB_FSTATAT is set.
23494         (mkdirat): Declare if GNULIB_MKDIRAT is set.
23495         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
23496         (unlinkat): Declare if GNULIB_UNLINKAT is set.
23497         * modules/fcntl-h (Files): Remove m4/openat.m4.
23498         * modules/sys_stat (Files): Remove m4/openat.m4.
23499         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
23500         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
23501         * modules/unistd (Files): Remove m4/openat.m4.
23502         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
23503         GNULIB_OPENAT.
23504         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
23505         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
23506         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
23507         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
23508         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
23509         gl_OPENAT_DEFAULTS.
23510         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
23511         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
23512         Don't require gl_OPENAT_DEFAULTS.
23513         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
23514         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
23515         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
23516         (gl_OPENAT_DEFAULTS): Remove macro.
23517
23518 2009-09-06  Bruno Haible  <bruno@clisp.org>
23519
23520         * modules/openat (configure.ac): Remove unneeded witness.
23521
23522 2009-09-06  Bruno Haible  <bruno@clisp.org>
23523
23524         Set errno to ENOSYS when a function is entirely unsupported.
23525         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
23526         EOPNOTSUPP.
23527         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
23528         * modules/chown (Depends-on): Remove errno.
23529
23530 2009-09-06  Bruno Haible  <bruno@clisp.org>
23531
23532         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
23533
23534 2009-09-06  Bruno Haible  <bruno@clisp.org>
23535
23536         * lib/sys_stat.in.h: Fix preprocessor command indentation.
23537
23538 2009-09-06  Ben Pfaff  <blp@gnu.org>
23539             Bruno Haible  <bruno@clisp.org>
23540
23541         Work around a glibc bug in strtok_r.
23542         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
23543         Undefine if UNDEFINE_STRTOK_R is set.
23544         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
23545         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
23546         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
23547         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
23548         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
23549         UNDEFINE_STRTOK_R.
23550         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
23551
23552 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
23553
23554         exclude: minor fix
23555         * lib/exclude.c: Include wctype.h
23556
23557 2009-09-06  Akim Demaille  <demaille@gostai.com>
23558
23559         bootstrap: improve error message
23560         * build-aux/bootstrap (find_tool): Upon failure, report the list
23561         of candidates.
23562         Honor the initial value of the envvar.
23563
23564 2009-09-05  Eric Blake  <ebb9@byu.net>
23565
23566         symlinkat: new module
23567         * modules/symlinkat: New file.
23568         * lib/symlinkat.c: Likewise.
23569         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
23570         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
23571         * modules/unistd (Makefile.am): Use them.
23572         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
23573         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
23574         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
23575         * MODULES.html.sh (File system functions): Mention module.
23576         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
23577         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
23578         * modules/symlinkat-tests: New test.
23579         * tests/test-symlinkat.c: Likewise.
23580
23581         test-openat-safer: add more checks
23582         * tests/test-openat-safer.c (main): Check more code paths.
23583
23584 2009-09-05  Jim Meyering  <meyering@redhat.com>
23585
23586         syntax-check: detect unnecessary inclusion of openat.h
23587         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
23588
23589 2009-09-05  Bruno Haible  <bruno@clisp.org>
23590
23591         Support towlower, towupper.
23592         * doc/posix-functions/towlower.texi: Mention module wctype.
23593         * doc/posix-functions/towupper.texi: Likewise.
23594         * lib/wctype.in.h (towlower, towupper): New functions.
23595         * tests/test-wctype.c: Include stdio.h, stdlib.h.
23596         (ASSERT): New macro.
23597         (e): New variable.
23598         (main): Test also towlower, towupper. Test WEOF argument.
23599         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
23600
23601 2009-09-05  Bruno Haible  <bruno@clisp.org>
23602
23603         Fix conversion behaviour when the input is invalid.
23604         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
23605         mark occurring in first pass of indirect conversion.
23606         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
23607         input.
23608         Found by clang's static analyzer.
23609
23610 2009-09-05  Bruno Haible  <bruno@clisp.org>
23611
23612         * tests/test-striconveh.c (main): Test indirect conversion on platforms
23613         where direct conversion is possible.
23614
23615 2009-09-04  Eric Blake  <ebb9@byu.net>
23616
23617         openat: fail with ENOENT on empty name
23618         * lib/openat-proc.c (openat_proc_name): Special-case the empty
23619         buffer.
23620
23621         link-follow: fix logic bug in prior patch
23622         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
23623         reversed sense of yes and no in prior patch.  Avoid confusing
23624         compilation failure with desired semantics.
23625
23626         link-follow: accomodate mingw and cross-compilation
23627         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
23628         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
23629         cross-compilation results to -1, to make linkat easier to
23630         implement when cross-compiling.  Trivially support mingw.
23631         * modules/link-follow (configure.ac): Call new name.
23632         * NEWS: Mention this.
23633
23634 2009-09-03  Eric Blake  <ebb9@byu.net>
23635
23636         faccessat: compile replacement
23637         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
23638         needed.
23639
23640         fts: fix compilation error
23641         * lib/fts.c (includes): Re-add "openat.h", for
23642         openat_needs_fchdir.
23643
23644         faccessat: new module
23645         * modules/faccessat: New file.
23646         * lib/faccessat.c: Likewise.
23647         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
23648         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
23649         * modules/unistd (Makefile.am): Use it.
23650         * lib/unistd.in.h (faccessat): Declare it.
23651         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
23652         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
23653         * MODULES.html.sh (File system functions): Mention it.
23654         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
23655         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
23656
23657         euidaccess: prefer POSIX over non-standard implementation
23658         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
23659         * lib/euidaccess.c (euidaccess): Use it if available.
23660
23661         openat: make template easier to use
23662         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
23663         AT_FUNC_F2 to be undefined.
23664         (VALIDATE_FLAG): New macro; use it to reject bad flags.
23665         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
23666         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
23667         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
23668         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
23669         Likewise.
23670         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
23671         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
23672         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
23673         Likewise.
23674
23675         openat: declare in POSIX headers
23676         * NEWS: Mention this.
23677         * modules/openat (configure.ac): Declare witnesses.
23678         (Depends-on): Add fcntl-h, sys_stat, unistd.
23679         (Include): Mention correct headers.
23680         * modules/fcntl-h (Depends-on): Add link-warning.
23681         (Files): Add openat.m4.
23682         (Makefile.am): Substitute witnesses.
23683         * modules/sys_stat (Files, Makefile.am): Likewise.
23684         * modules/unistd (Files, Makefile.am): Likewise.
23685         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
23686         (gl_OPENAT_DEFAULTS): New macro.
23687         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
23688         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
23689         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
23690         (SYS_STAT_H): Remove unused variable.
23691         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
23692         * lib/fcntl--.h (includes): Remove unneeded header.
23693         * lib/openat-safer.c (includes): Likewise.
23694         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
23695         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
23696         appropriate headers.
23697         (__OPENAT_PREFIX): Delete.
23698         * lib/fcntl.in.h (openat): Provide declaration.
23699         (AT_FDCWD): Fix Solaris bug.
23700         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
23701         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
23702         * lib/fchmodat.c (includes):  Adjust to find declaration.
23703         * lib/fchownat.c (includes): Likewise.
23704         * lib/mkdirat.c (includes): Likewise.
23705         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
23706         still visible.
23707
23708 2009-09-02  Eric Blake  <ebb9@byu.net>
23709
23710         errno: use consistently
23711         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
23712         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
23713         * lib/canonicalize.c (ELOOP): Likewise.
23714         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
23715         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
23716         * lib/lchown.c (EOPNOTSUPP): Likewise.
23717         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
23718         * lib/savewd.c (ESTALE): Likewise.
23719         * lib/settime.c (ENOSYS): Likewise.
23720         * lib/utimens.c (ENOSYS): Likewise.
23721         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
23722         * lib/chdir-safer.c (ELOOP): Likewise.
23723         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
23724         * modules/c-stack (Depends-on): Add errno.
23725         * modules/canonicalize (Depends-on): Likewise.
23726         * modules/chdir-safer (Depends-on): Likewise.
23727         * modules/fdopendir (Depends-on): Likewise.
23728         * modules/inet_ntop (Depends-on): Likewise.
23729         * modules/inet_pton (Depends-on): Likewise.
23730         * modules/lchown (Depends-on): Likewise.
23731         * modules/openat (Depends-on): Likewise.
23732         * modules/savewd (Depends-on): Likewise.
23733         * modules/settime (Depends-on): Likewise.
23734         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
23735
23736         fts: avoid leaking fds
23737         * modules/fts (Depends-on): Add cloexec.
23738         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
23739         flag.
23740
23741         fts: make directory fds more robust
23742         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
23743         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
23744
23745         backupfile, chdir-long, fts, savedir: make safer
23746         * lib/backupfile.c (includes): Use "dirent--.h", since
23747         numbered_backup can write to stderr during readdir.
23748         * lib/savedir.c (includes): Likewise.
23749         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
23750         emulation can write to stderr on failure.
23751         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
23752         * lib/getcwd.c: Document why opendir_safer is unused.
23753         * lib/glob.c: Likewise.
23754         * lib/scandir.c: Likewise.
23755         * lib/openat-proc.c: Likewise, for open_safer.
23756         * modules/backupfile (Depends-on): Add dirent-safer.
23757         * modules/savedir (Depends-on): Likewise.
23758         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
23759         * modules/chdir-long (Depends-on): Add openat-safer.
23760
23761         openat-safer: new module
23762         * modules/openat-safer: New file.
23763         * lib/openat-safer.c: Likewise.
23764         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
23765         * lib/fcntl-safer.h (openat_safer): Declare.
23766         * lib/fcntl--.h (openat): Override.
23767         * MODULES.html.sh (File descriptor based I/O): Mention it.
23768         * lib/openat.h: Add double-inclusion guards.
23769         * lib/openat.c (includes): Only include "fcntl-safer.h", not
23770         "fcntl--.h", so we can implement openat.
23771         * modules/openat-safer-tests: New test.
23772         * tests/test-openat-safer.c: New file.
23773
23774         dirent-safer: new module
23775         * modules/dirent-safer: New file.
23776         * lib/dirent--.h: Likewise.
23777         * lib/dirent-safer.h: Likewise.
23778         * lib/opendir-safer.c: Likewise.
23779         * m4/dirent-safer.m4: Likewise.
23780         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
23781         * modules/dirent-safer-tests: New test.
23782         * tests/test-dirent-safer.c: New file.
23783         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
23784
23785         fdopendir: optimize on mingw
23786         * lib/unistd.in.h (_gl_directory_name): New prototype.
23787         * lib/fchdir.c (_gl_directory_name): Implement it.
23788         (fchdir): Use it to simplify implementation.
23789         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
23790         fchdir, when available, to avoid calling [f]chdir().
23791
23792         fdopendir: split into its own module
23793         * lib/openat.c (fdopendir): Move...
23794         * lib/fdopendir.c: ...into new file.
23795         * modules/fdopendir: New module.
23796         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
23797         * modules/openat (Depends-on): Add fdopendir.
23798         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
23799         fdopendir here.
23800         * modules/savedir (Depends-on): Only need fdopendir, not full
23801         openat.
23802         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
23803         * lib/openat.h (fdopendir): Drop prototype.
23804         * lib/dirent.in.h (fdopendir): Provide prototype.
23805         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
23806         * modules/dirent (Makefile.am): Substitute them.
23807         * MODULES.html.sh (File system functions): Mention it.
23808         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
23809         * modules/fdopendir-tests: New file.
23810         * tests/test-fdopendir.c: Likewise.
23811
23812         fchdir: use more consistent macro convention
23813         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
23814         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
23815         REPLACE_FCHDIR, rather than relying on config.h macros.
23816         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
23817         inside a single make-time REPLACE_FCHDIR block, rather than using
23818         the config.h FCHDIR_REPLACEMENT.
23819         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
23820         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
23821         Manage fstat replacement.
23822         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
23823         REPLACE_FCHDIR.
23824         * modules/sys_stat (Files): Add m4/unistd_h.m4.
23825         (Makefile.am): Substitute REPLACE_FCHDIR.
23826         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
23827         FCHDIR_REPLACEMENT.
23828         * lib/dup-safer.c (dup_safer): Likewise.
23829         * lib/dup2.c (rpl_dup2): Likewise.
23830         * lib/dup3.c (rpl_dup3): Likewise.
23831         * lib/open.c (rpl_open): Likewise.
23832
23833         fchdir: simplify error handling, and support dup3
23834         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
23835         stdbool, malloc-posix, realloc-posix.
23836         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
23837         (ensure_dirs_slot): Return false on allocation failure.
23838         (rpl_dup2): Delete.
23839         (_gl_register_dup): New function.
23840         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
23841         (_gl_register_fd): Close fd on allocation failure.
23842         * lib/fcntl.in.h (_gl_register_fd): Update signature.
23843         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
23844         prototype.
23845         (rpl_dup2_fchdir): Delete prototype.
23846         * lib/open.c (open): Update caller.
23847         * lib/dup2.c (dup2): Track fchdir metadata.
23848         * lib/dup3.c (dup3): Likewise.
23849         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
23850         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
23851
23852 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23853
23854         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
23855         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
23856         don't pass arguments to AC_OUTPUT.
23857
23858 2009-09-02  Bruno Haible  <bruno@clisp.org>
23859
23860         * modules/mkdtemp (License): Relicense under LGPLv2+.
23861         Reported by Paolo Bonzini.
23862
23863 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23864
23865         Replace uses of obsolete autoconf macros in Jim's modules.
23866         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
23867         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
23868         can evoke a warning from autoconf when run with -Wobsolete
23869         enabled.  They were declared obsolete for good reasons (see
23870         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
23871         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
23872         should not continue using the deprecated macros.
23873         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
23874         obsolete Autoconf macros with modern counterparts.
23875         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
23876         * m4/dos.m4 (gl_AC_DOS): Likewise.
23877         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
23878         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
23879         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
23880         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
23881         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
23882         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
23883         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
23884         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
23885         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
23886         Likewise.
23887         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
23888         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
23889         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
23890         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
23891         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
23892         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
23893
23894 2009-09-01  Eric Blake  <ebb9@byu.net>
23895
23896         fchdir: fix off-by-one bug in previous patch
23897         * lib/fchdir.c (rpl_fstat): Use correct bounds.
23898         (_gl_unregister_fd): Delete useless if.
23899
23900 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
23901
23902         maint.mk: sort the list of syntax-check rules
23903         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
23904         easier to get a sense of progress when the rules are run sequentially
23905         and take a long time.
23906
23907 2009-09-01  Simon Josefsson  <simon@josefsson.org>
23908
23909         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
23910         * modules/netinet_in: Likewise.
23911         * modules/sys_file: Likewise.
23912         * modules/sys_ioctl: Likewise.
23913         * modules/sys_select: Likewise.
23914         * modules/sys_socket: Likewise.
23915         * modules/sys_stat: Likewise.
23916         * modules/sys_time: Likewise.
23917         * modules/sys_times: Likewise.
23918         * modules/sys_utsname: Likewise.
23919         * modules/sys_wait: Likewise.
23920
23921 2009-09-01  Jim Meyering  <meyering@redhat.com>
23922
23923         fts: help ensure that return values are not ignored
23924         * lib/fts_.h (__GNUC_PREREQ): Define.
23925         (__attribute_warn_unused_result__): Define.
23926         (fts_children, fts_close, fts_open, fts_read): Declare with
23927         __attribute_warn_unused_result__.
23928
23929         fts: fts_close now fails also when closing a dir file descriptor fails
23930         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
23931         and propagate to caller, along with errno.
23932
23933         announce-gen: correct formatting in --help output
23934         * build-aux/announce-gen (usage): Move the one-line description in
23935         --help output "up", to where it belongs, just after Usage:.
23936
23937 2009-08-31  Eric Blake  <ebb9@byu.net>
23938
23939         fchdir: port to mingw
23940         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
23941         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
23942         opened, then use a substitute.
23943         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
23944         replacement.
23945         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
23946         (_gl_register_fd): No need to check stat if open already filters
23947         all directories.
23948         (fchdir): Fix error condition to match POSIX.
23949         * modules/fchdir (Depends-on): Add sys_stat.
23950         * doc/posix-functions/open.texi (open): Document the limitation.
23951         * modules/fchdir-tests: New file.
23952         * tests/test-fchdir.c: Likewise.
23953
23954         canonicalize: allow cross-testing from cygwin to mingw
23955         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
23956         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
23957         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
23958         Likewise.
23959         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
23960         target does not support symlinks.
23961         * tests/test-canonicalize-lgpl.sh: Likewise.
23962
23963         chown: avoid compilation warning on mingw
23964         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
23965         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
23966         mingw.
23967         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
23968         * modules/chown (Depends-on): Add errno.
23969
23970 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
23971
23972         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
23973         command.
23974
23975 2009-08-31  Jim Meyering  <meyering@redhat.com>
23976
23977         canonicalize: remove useless initialization
23978         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
23979         initialization of local, "end".
23980
23981 2009-08-30  Bruno Haible  <bruno@clisp.org>
23982
23983         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
23984         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
23985         ENOSYS.
23986
23987 2009-08-30  Bruno Haible  <bruno@clisp.org>
23988
23989         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
23990         /usr/xpg4/bin/tr when it exists.
23991         * tests/test-pipe-filter-gi1.sh: Likewise.
23992
23993 2009-08-30  Bruno Haible  <bruno@clisp.org>
23994
23995         Work around deficient /usr/bin/id program on Solaris.
23996         * tests/test-file-has-acl.sh (ID): New variable.
23997         * tests/test-set-mode-acl.sh (ID): Likewise.
23998         * tests/test-copy-acl.sh (ID): Likewise.
23999         * tests/test-copy-file.sh (ID): Likewise.
24000
24001 2009-08-30  Bruno Haible  <bruno@clisp.org>
24002
24003         New module 'xstriconveh'.
24004         * lib/xstriconveh.h: New file.
24005         * lib/xstriconveh.c: New file.
24006         * modules/xstriconveh: New file.
24007
24008 2009-08-30  Bruno Haible  <bruno@clisp.org>
24009
24010         Make it easier to use mem_cd_iconveh.
24011         * lib/striconveh.h (iconveh_t): New type.
24012         (iconveh_open, iconveh_close): New declarations.
24013         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
24014         with a single 'const iconveh_t *' argument.
24015         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
24016         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
24017         with a single 'const iconveh_t *' argument.
24018         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
24019         * tests/test-striconveh.c (main): Update.
24020         * NEWS: Mention the change.
24021
24022 2009-08-30  Bruno Haible  <bruno@clisp.org>
24023
24024         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
24025         problem.
24026
24027 2009-08-30  Bruno Haible  <bruno@clisp.org>
24028
24029         Work around iconv_open problem on Solaris.
24030         * lib/iconv_open-solaris.gperf: New file.
24031         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
24032         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
24033         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
24034         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
24035         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
24036         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
24037
24038 2009-08-29  Jim Meyering  <meyering@redhat.com>
24039
24040         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
24041         * top/maint.mk (cvs-check): Remove target; it was just an alias
24042         to the better-named vc-diff-check.
24043         (maintainer-distcheck): Remove rule.  It was used only from
24044         the (alpha/beta/major) target, and all of its commands but one
24045         were coreutils-specific.
24046         (vc-dist): Remove rule.
24047         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
24048         Run vc-diff-check, not vc-dist.
24049         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
24050
24051 2009-08-27  Bruno Haible  <bruno@clisp.org>
24052
24053         * tests/test-bitrotate.c (main): Remove test that uses a shift count
24054         of 0.
24055
24056 2009-08-27  Bruno Haible  <bruno@clisp.org>
24057
24058         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
24059         compilers.
24060         * doc/func.texi: Document the SunPRO C bug.
24061
24062 2009-08-27  Bruno Haible  <bruno@clisp.org>
24063
24064         Fix link error on Solaris.
24065         * tests/test-parse-duration.c (xstrdup): Remove function.
24066
24067 2009-08-26  Pádraig Brady  <P@draigbrady.com>
24068
24069         ignore-value: handle pointer types, too
24070         * lib/ignore-value.h (__attribute__): Remove definition.
24071         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
24072         of a more concise and more-often effective "(void) i" statement.
24073         (ignore_ptr): New function to suppress warnings from functions that
24074         return pointers, and to make it explicit that one function doesn't
24075         handle all cases.
24076
24077 2009-08-25  Bruno Haible  <bruno@clisp.org>
24078
24079         dup2: work around a Linux bug.
24080         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
24081         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
24082         * doc/posix-functions/dup2.texi: Mention the Linux bug.
24083         Reported by Simon Josefsson.
24084
24085 2009-08-25  Jim Meyering  <meyering@redhat.com>
24086
24087         libguestfs uses gnulib
24088         * users.txt: Add libguestfs.
24089
24090 2009-08-24  Eric Blake  <ebb9@byu.net>
24091
24092         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
24093         * lib/pipe2.c (includes): Add binary-io.h.
24094         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
24095
24096 2009-08-24  Bruno Haible  <bruno@clisp.org>
24097
24098         Tolerate declared but missing accept4 syscall.
24099         * lib/accept4.c (accept4): Invoke original accept4 function first, if
24100         available.
24101         * lib/sys_socket.in.h (accept4): If the function is already present,
24102         override it.
24103         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
24104         * modules/accept4 (Makefile.am): Compile accept4.c always.
24105         Reported by Paolo Bonzini and Eric Blake.
24106
24107 2009-08-23  Bruno Haible  <bruno@clisp.org>
24108
24109         New module 'accept4'.
24110         * lib/sys_socket.in.h (accept4): New declaration.
24111         * lib/accept4.c: New file.
24112         * m4/accept4.m4: New file.
24113         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
24114         GNULIB_ACCEPT4, HAVE_ACCEPT4.
24115         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
24116         HAVE_ACCEPT4.
24117         * modules/accept4: New file.
24118         * doc/glibc-functions/accept4.texi: Mention the new module.
24119
24120 2009-08-24  Jim Meyering  <meyering@redhat.com>
24121
24122         progname: also set global program_invocation_name, when possible
24123         Before this change, a libtool-enabled program that calls glibc's
24124         error function would report the program name as
24125         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
24126         * modules/progname (configure.ac): Check for a declaration of
24127         program_invocation_name.
24128         * lib/progname.c:  Include <errno.h>.
24129         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
24130         Set program_invocation_name.
24131
24132 2009-08-23  Bruno Haible  <bruno@clisp.org>
24133
24134         * lib/dup3.c: Include <string.h>.
24135
24136 2009-08-23  Bruno Haible  <bruno@clisp.org>
24137
24138         * lib/dup3.c (dup3): Test only once whether the system actually exists.
24139         * lib/pipe2.c (pipe2): Likewise.
24140         Suggested by Eric Blake.
24141
24142 2009-08-23  Bruno Haible  <bruno@clisp.org>
24143
24144         Tolerate declared but missing dup3 syscall.
24145         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
24146         * lib/unistd.in.h (dup3): If the function is already present,
24147         override it.
24148         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
24149         * modules/dup3 (Makefile.am): Compile dup3.c always.
24150         Reported by Paolo Bonzini.
24151
24152 2009-08-23  Bruno Haible  <bruno@clisp.org>
24153
24154         Tolerate declared but missing pipe2 syscall.
24155         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
24156         available.
24157         * lib/unistd.in.h (pipe2): If the function is already present,
24158         override it.
24159         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
24160         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
24161         Reported by Paolo Bonzini.
24162
24163 2009-08-23  Bruno Haible  <bruno@clisp.org>
24164
24165         * lib/pipe2.c (pipe2): Move #ifs inside function.
24166
24167 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
24168
24169         quotearg: document limitations of quote_these_too
24170         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
24171         those limitations are created.
24172         * lib/quotearg.h (set_char_quoting): Document that digits and
24173         letters that are special after backslash are not permitted.
24174         (quotearg_char): Cross-reference set_char_quoting documentation.
24175
24176 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
24177
24178         quotearg: implement custom_quoting_style
24179         * lib/quotearg.c: (struct quoting_options): Add left_quote and
24180         right_quote fields.
24181         (set_custom_quoting): New public function.
24182         (quotearg_buffer_restyled): Add left_quote and right_quote
24183         arguments, handle them very much like locale quoting, and update
24184         all uses.
24185         (quotearg_n_custom): New public function.
24186         (quotearg_n_custom_mem): New public function.
24187         (quotearg_custom): New public function.
24188         (quotearg_custom_mem): New public function.
24189         * lib/quotearg.h: Prototype and document new public functions.
24190         (enum quoting_style): For escape_quoting_style and
24191         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
24192         ignored even though they're otherwise like c_quoting_style.
24193         Add custom_quoting_style member and document with comparison to
24194         clocale_quoting_style.
24195         * tests/test-quotearg.c (custom_quotes): New array.
24196         (custom_results): New array.
24197         (main): Extend to test custom quoting.
24198
24199 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
24200
24201         quotearg: fix right quote escaping when it's in quote_these_too
24202         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
24203         quote, be sure to prepend only one backslash.
24204         * tests/test-quotearg.c (use_quote_double_quotes): New function.
24205         (main): Test it.
24206
24207 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
24208
24209         quotearg-tests: test escaping of embedded locale quotes
24210         * tests/test-quotearg.c (struct result_strings): Add member for
24211         new input.
24212         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
24213         (inputs): Add new input.
24214         (results_g): Add expected results.
24215         (flag_results): Likewise.
24216         (locale_results): Likewise.
24217         (compare_strings): Check those.
24218
24219 2009-08-23  Bruno Haible  <bruno@clisp.org>
24220
24221         Tests for module 'dup3'.
24222         * modules/dup3-tests: New file.
24223         * tests/test-dup3.c: New file.
24224
24225         New module 'dup3'.
24226         * lib/unistd.in.h (dup3): New declaration.
24227         * lib/dup3.c: New file.
24228         * m4/dup3.m4: New file.
24229         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
24230         HAVE_DUP3.
24231         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
24232         * modules/dup3: New file.
24233         * doc/glibc-functions/dup3.texi: Mention the new module.
24234
24235 2009-08-23  Bruno Haible  <bruno@clisp.org>
24236
24237         Tweak the dup2 test.
24238         * tests/test-dup2.c (main): Create the test file empty. Verify that an
24239         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
24240         the test file is still empty. Fix argument order of lseek.
24241
24242 2009-08-23  Bruno Haible  <bruno@clisp.org>
24243
24244         Avoid test link errors when the modules getopt-gnu, gettext are used.
24245         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
24246         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24247
24248 2009-08-23  Bruno Haible  <bruno@clisp.org>
24249
24250         Fix getdtablesize() on mingw.
24251         * lib/getdtablesize.c (getdtablesize): Implement differently.
24252         * lib/unistd.in.h (getdtablesize): Improve comment.
24253
24254 2009-08-23  Bruno Haible  <bruno@clisp.org>
24255
24256         New module 'mkostemp'.
24257         Based on Ulrich Drepper's 2007-08-10 change in glibc.
24258         * lib/stdlib.in.h (mksotemp): New declaration.
24259         * lib/mkostemp.c: New file, from glibc with modifications.
24260         * lib/tempname.h (GT_FILE): Remove outdated comment.
24261         (gen_tempname): Add flags argument.
24262         * lib/tempname.c (__GT_BIGFILE): Remove macro.
24263         (__GT_FILE): Map to 1.
24264         (small_open, large_open): Remove macros.
24265         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
24266         * lib/mkstemp.c (mkstemp): Update.
24267         * lib/mkdtemp.c (mkdtemp): Likewise.
24268         * m4/mkostemp.m4: New file.
24269         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
24270         HAVE_MKOSTEMP.
24271         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
24272         HAVE_MKOSTEMP.
24273         * modules/mkostemp: New file, based on modules/mkstemp.
24274         * doc/glibc-functions/mkostemp.texi: Mention the new module.
24275         * NEWS: Mention the change.
24276
24277 2009-08-23  Bruno Haible  <bruno@clisp.org>
24278
24279         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
24280         Reported by Eric Blake.
24281
24282 2009-08-23  Bruno Haible  <bruno@clisp.org>
24283
24284         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
24285         Reported by Eric Blake.
24286
24287 2009-08-23  Bruno Haible  <bruno@clisp.org>
24288
24289         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
24290         * modules/pipe2 (Depends-on): Likewise.
24291
24292 2009-08-23  Eric Blake  <ebb9@byu.net>
24293
24294         fcntl-h: add O_TTY_INIT support
24295         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
24296         * tests/test-fcntl-h.c (o): Test it.
24297         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
24298
24299         fcntl-h: rename from fcntl, in preparation for fcntl(2)
24300         * modules/fcntl: Move <fcntl.h> header replacement...
24301         * modules/fcntl-h: ...to new name, so as not to collide with
24302         like-named function.
24303         * tests/test-fcntl.c: Rename...
24304         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
24305         * modules/fcntl-tests: Rename...
24306         * modules/fcntl-h-tests: ...to this.  Update test file name.
24307         * modules/chdir-long (Depends-on): Update clients.
24308         * modules/chdir-safer (Depends-on): Likewise.
24309         * modules/fcntl-safer (Depends-on): Likewise.
24310         * modules/fts (Depends-on): Likewise.
24311         * modules/mkancesdirs (Depends-on): Likewise.
24312         * modules/mkdir-p (Depends-on): Likewise.
24313         * modules/open (Depends-on): Likewise.
24314         * modules/savewd (Depends-on): Likewise.
24315         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
24316         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
24317
24318 2009-08-22  Bruno Haible  <bruno@clisp.org>
24319
24320         * modules/binary-io (License): Relicense under LGPL.
24321         * modules/pipe2 (License): Likewise.
24322
24323 2009-08-22  Bruno Haible  <bruno@clisp.org>
24324
24325         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
24326         return value.
24327         * lib/pipe-filter-gi.c (filter_init): Likewise.
24328         Reported by Eric Blake.
24329
24330 2009-08-22  Bruno Haible  <bruno@clisp.org>
24331
24332         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
24333         * modules/pipe (Depends-on): Add pipe2.
24334
24335 2009-08-22  Bruno Haible  <bruno@clisp.org>
24336
24337         Tests for module 'pipe2'.
24338         * modules/pipe2-tests: New file.
24339         * tests/test-pipe2.c: New file.
24340
24341         New module 'pipe2'.
24342         * lib/unistd.in.h (pipe2): New declaration.
24343         * lib/pipe2.c: New file.
24344         * m4/pipe2.m4: New file.
24345         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
24346         HAVE_PIPE2.
24347         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
24348         * modules/pipe2: New file.
24349         * doc/glibc-functions/pipe2.texi: Mention the new module.
24350
24351 2009-08-22  Bruno Haible  <bruno@clisp.org>
24352
24353         Reference some new glibc functions.
24354         * doc/glibc-functions/accept4.texi: New file.
24355         * doc/glibc-functions/dup3.texi: New file.
24356         * doc/glibc-functions/mkostemp.texi: New file.
24357         * doc/glibc-functions/pipe2.texi: New file.
24358         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
24359         (Glibc sys/socket.h): Refer to accept4.
24360         (Glibc unistd.h): Refer to dup3, pipe2.
24361         Reported by Eric Blake.
24362
24363 2009-08-22  Jim Meyering  <meyering@redhat.com>
24364             Bruno Haible  <bruno@clisp.org>
24365
24366         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
24367         This makes it so packages using automake-1.11's silent-rules option
24368         can print e.g., a single "GEN    configmake.h" line, rather than
24369         the 30+ statements that perform the job.  If you want to see the
24370         actual commands, you can still run "make V=1".
24371         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
24372         so that make output is abbreviated when those variables are defined
24373         appropriately.
24374         * modules/argz: Likewise.
24375         * modules/arpa_inet: Likewise.
24376         * modules/byteswap: Likewise.
24377         * modules/configmake: Likewise.
24378         * modules/dirent: Likewise.
24379         * modules/errno: Likewise.
24380         * modules/fcntl: Likewise.
24381         * modules/float: Likewise.
24382         * modules/fnmatch: Likewise.
24383         * modules/getopt-posix: Likewise.
24384         * modules/glob: Likewise.
24385         * modules/iconv_open: Likewise.
24386         * modules/inttypes: Likewise.
24387         * modules/localcharset: Likewise.
24388         * modules/locale: Likewise.
24389         * modules/math: Likewise.
24390         * modules/netdb: Likewise.
24391         * modules/netinet_in: Likewise.
24392         * modules/poll: Likewise.
24393         * modules/posix_spawnp-tests: Likewise.
24394         * modules/sched: Likewise.
24395         * modules/search: Likewise.
24396         * modules/selinux-h: Likewise.
24397         * modules/signal: Likewise.
24398         * modules/spawn: Likewise.
24399         * modules/stdarg: Likewise.
24400         * modules/stdbool: Likewise.
24401         * modules/stddef: Likewise.
24402         * modules/stdint: Likewise.
24403         * modules/stdio: Likewise.
24404         * modules/stdlib: Likewise.
24405         * modules/string: Likewise.
24406         * modules/strings: Likewise.
24407         * modules/sys_file: Likewise.
24408         * modules/sys_ioctl: Likewise.
24409         * modules/sys_select: Likewise.
24410         * modules/sys_socket: Likewise.
24411         * modules/sys_stat: Likewise.
24412         * modules/sys_time: Likewise.
24413         * modules/sys_times: Likewise.
24414         * modules/sys_utsname: Likewise.
24415         * modules/sys_wait: Likewise.
24416         * modules/sysexits: Likewise.
24417         * modules/time: Likewise.
24418         * modules/unistd: Likewise.
24419         * modules/wchar: Likewise.
24420         * modules/wctype: Likewise.
24421
24422 2009-08-22  Jim Meyering  <meyering@redhat.com>
24423
24424         announce-gen: detect write failure
24425         * build-aux/announce-gen: Add Coda at end.
24426         Remove equivalent-but-more-verbose block at top.
24427
24428 2009-08-19  Akim Demaille  <demaille@gostai.com>
24429
24430         bootstrap: --help to stdout.
24431         * bootstrap (usage): Don't send --help to stderr.
24432         Use a here doc instead of a long string.
24433
24434 2009-08-21  Eric Blake  <ebb9@byu.net>
24435
24436         test-popen-safer: split from test-popen
24437         * tests/test-popen.c (main): Move...
24438         * tests/test-popen.h: ...into new file.
24439         * tests/test-popen-safer2.c: New file.
24440         * modules/popen-tests (Files): Add test-popen.h.
24441         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
24442         Suggested by Bruno Haible.
24443
24444         test-fcntl-safer: split from test-open
24445         * tests/test-open.c (main): Move...
24446         * tests/test-open.h: ...into new file.
24447         * tests/test-fcntl-safer.c: New file.
24448         * modules/open-tests (Files): Add test-open.h.
24449         * modules/fcntl-safer-tests: New file.
24450         Suggested by Bruno Haible.
24451
24452         test-fopen-safer: split from test-fopen
24453         * tests/test-fopen.c (main): Move...
24454         * tests/test-fopen.h: ...into new file.
24455         * tests/test-fopen-safer.c: New file.
24456         * modules/fopen-tests (Files): Add test-fopen.h.
24457         * modules/fopen-safer-tests: New file.
24458         Suggested by Bruno Haible.
24459
24460 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
24461
24462         popen-safer: test O_CLOEXEC at run-time.
24463         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
24464
24465 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
24466
24467         fcntl: move more flags to the header
24468         * lib/cloexec.c: Do not define FD_CLOEXEC here.
24469         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
24470         * lib/fcntl.in.h: Do both things here.
24471
24472 2009-08-21  Jim Meyering  <meyering@redhat.com>
24473
24474         consistently remove $@-t before redirecting to it
24475         * modules/argz: Remove $@-t and $@ before redirecting to the former.
24476         * modules/alloca-opt: Likewise.
24477         * modules/byteswap: Likewise.
24478         * modules/fnmatch: Likewise.
24479         * modules/getopt-posix: Likewise.
24480         * modules/glob: Likewise.
24481         * modules/poll: Likewise.
24482         * modules/posix_spawnp-tests: Likewise.
24483         * modules/sys_socket: Likewise.
24484         * modules/sysexits: Likewise.
24485
24486 2009-08-21  Eric Blake  <ebb9@byu.net>
24487
24488         popen: simplify access to original popen
24489         * lib/popen.c (rpl_popen): No need to worry about popen being a
24490         macro.
24491         Reported by Bruno Haible.
24492
24493 2009-08-20  Eric Blake  <ebb9@byu.net>
24494
24495         build: avoid some compiler warnings
24496         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
24497         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
24498         type.
24499         (new_exclude_segment, excluded_file_pattern_p)
24500         (excluded_file_name_p): Reduce scope.
24501         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
24502         old-style declaration.
24503
24504 2009-08-20  Simon Josefsson  <simon@josefsson.org>
24505
24506         * tests/test-exclude1.sh: Handle Windows EOL.
24507         * tests/test-exclude2.sh: Likewise.
24508         * tests/test-exclude3.sh: Likewise.
24509         * tests/test-exclude4.sh: Likewise.
24510         * tests/test-exclude5.sh: Likewise.
24511         * tests/test-exclude6.sh: Likewise.
24512         * tests/test-exclude7.sh: Likewise.
24513
24514 2009-08-19  Akim Demaille  <demaille@gostai.com>
24515
24516         bootstrap: find sha1sum when named gsha1sum.
24517         * bootstrap (find_tool): New.
24518         ($SHA1SUM): New.
24519         Use it.
24520
24521 2009-08-20  Jim Meyering  <meyering@redhat.com>
24522
24523         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
24524         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
24525         expression that converts "." in a file name to "\." in the resulting
24526         regexp.  Start with a dummy statement, so that prior shell variable
24527         definitions are expanded portably.  Reported by Simon Josefsson.
24528
24529 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
24530
24531         Fix polling for writeability of a screen buffer.
24532         * lib/poll.c: Distinguish input and screen buffers for the
24533         Win32 implementation.
24534         * lib/select.c: Likewise.
24535
24536 2009-08-19  Eric Blake  <ebb9@byu.net>
24537
24538         popen-safer: prevent popen from clobbering std descriptors
24539         * modules/popen-safer: New file.
24540         * lib/popen-safer.c: Likewise.
24541         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
24542         * lib/stdio--.h (popen): Provide override.
24543         * lib/stdio-safer.h (popen_safer): Provide declaration.
24544         * tests/test-popen.c (includes): Partially test this.
24545         * modules/popen-safer-tests: New file, for more tests.
24546         * tests/test-popen-safer.c: Likewise.
24547         * MODULES.html.sh (file stream based Input/Output): Mention it.
24548
24549         tests: test some of the *-safer modules
24550         * modules/fopen-safer (Depends-on): Add fopen.
24551         * modules/fcntl-safer (Depends-on): Add fcntl.
24552         * modules/stdlib-safer (Depends-on): Add stdlib.
24553         (configure.ac): Set indicator.
24554         * modules/unistd-safer (configure.ac): Likewise.
24555         * modules/tmpfile-safer (configure.ac): Likewise.
24556         (Depends-on): Add tmpfile.
24557         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
24558         active.
24559         * tests/test-fopen.c (includes): Test safer versions when they are
24560         in use.
24561         * tests/test-open.c (includes): Likewise.
24562
24563         popen: fix cygwin 1.5 bug when stdin closed
24564         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
24565         * modules/popen: New file.
24566         * modules/popen-tests: Likewise.
24567         * tests/test-popen.c: Likewise.
24568         * m4/popen.m4: Likewise.
24569         * lib/popen.c: Likewise.
24570         * lib/stdio.in.h (popen): New declaration.
24571         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
24572         * modules/stdio (Makefile.am): Likewise.
24573         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
24574
24575 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
24576
24577         maint.mk: give full control over update-copyright exclusions
24578         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
24579         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
24580         (update-copyright): Don't force inclusion of top-level
24581         ChangeLog.  Don't force exclusion of all COPYING files, but make
24582         them the default exclusion instead.
24583
24584 2009-08-16  Bruno Haible  <bruno@clisp.org>
24585
24586         Fix test failures on Solaris 10.
24587         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
24588         tests when Solaris iconv() is used.
24589         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
24590         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
24591         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
24592         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
24593         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
24594
24595 2009-08-16  Bruno Haible  <bruno@clisp.org>
24596
24597         Fix test failures on Solaris 10.
24598         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
24599         'tr' program and pass it as first argument.
24600         * tests/test-pipe-filter-gi1.sh: Likewise.
24601         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
24602         program as first argument.
24603         * tests/test-pipe-filter-gi1.c (main): Likewise.
24604
24605 2009-08-16  Eric Blake  <ebb9@byu.net>
24606
24607         fpurge: fix previous commits
24608         * modules/fpurge (Makefile.am): Make replacement conditional,
24609         partially reverting 2007-04-29 change; missed in previous
24610         attempt.
24611         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
24612         is missing.
24613
24614 2009-08-16  Bruno Haible  <bruno@clisp.org>
24615
24616         Clarify fpurge's effect on the file position.
24617         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
24618         * tests/test-fpurge.c (main): Make a second pass for checking the file
24619         position.
24620
24621 2009-08-16  Bruno Haible  <bruno@clisp.org>
24622
24623         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
24624         declaration of fpurge is missing.
24625         * tests/test-fpurge.c (main): Check that the file has not more contents
24626         than expected. Close the file before removing it.
24627
24628 2009-08-15  Eric Blake  <ebb9@byu.net>
24629
24630         fpurge: don't wrap working cygwin implementation
24631         * lib/fpurge.c (fpurge): Fix comment typo.
24632         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
24633         1.7 to avoid replacement.
24634         * tests/test-fpurge.c (main): Enhance test.
24635
24636 2009-08-15  Eric Blake  <ebb9@byu.net>
24637         and Jim Meyering  <meyering@redhat.com>
24638
24639         test-update-copyright: skip if perl is insufficient
24640         * tests/test-update-copyright.sh: Failure to run maintainer tool
24641         should not cause testsuite failure on cygwin 1.5.
24642
24643 2009-08-14  Eric Blake  <ebb9@byu.net>
24644
24645         doc: mention more functions added in cygwin 1.7.0
24646         * doc/posix-headers/limits.texi (limits.h): Update for recent
24647         cygwin additions.
24648         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
24649         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
24650         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
24651         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
24652         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
24653
24654 2009-08-14  Eric Blake  <ebb9@byu.net>
24655
24656         maint.mk: simplify update-copyright rule
24657         * top/maint.mk (update-copyright-local): Delete, and document how
24658         to do it in cfg.mk instead.
24659         (update-copyright-exclude-regexp): Delete, and document how to do
24660         it in .x-update-copyright instead.
24661         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
24662         exclude ChangeLog.
24663
24664 2009-08-14  Bruno Haible  <bruno@clisp.org>
24665
24666         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
24667
24668 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
24669
24670         maint.mk: support update-copyright-env
24671         * top/maint.mk (update-copyright-env): Define place-holder.
24672         (update-copyright): Expand $(update-copyright-env) before
24673         invoking update-copyright.
24674
24675 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
24676
24677         update-copyright: implement forced reformatting
24678         * build-aux/update-copyright: Implement and document
24679         UPDATE_COPYRIGHT_FORCE.
24680         * tests/test-update-copyright.sh: Test it.
24681
24682 2009-08-14  Eric Blake  <ebb9@byu.net>
24683         and Bruno Haible  <bruno@clisp.org>
24684
24685         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
24686         * tests/test-locale.c: Revert previous patch related to NULL.
24687         * tests/test-stdio.c: Likewise.
24688         * tests/test-stdlib.c: Likewise.
24689         * tests/test-string.c: Likewise.
24690         * tests/test-unistd.c: Likewise.
24691         * modules/time-tests (Depends-on): Add verify.
24692         * modules/wchar-tests (Depends-on): Likewise.
24693         * tests/test-time.c: Test for NULL compliance.
24694         * tests/test-wchar.c: Likewise.
24695         * modules/locale (Depends-on): Add stddef.
24696         * modules/stdio (Depends-on): Likewise.
24697         * modules/stdlib (Depends-on): Likewise.
24698         * modules/string (Depends-on): Likewise.
24699         * modules/time (Depends-on): Likewise.
24700         * modules/unistd (Depends-on): Likewise.
24701         * modules/wchar (Depends-on): Likewise.
24702         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
24703         * lib/stdlib.in.h (includes): Likewise.
24704         * lib/string.in.h (includes): Likewise.
24705         * lib/time.in.h (includes): Likewise.
24706         * lib/unistd.in.h (includes): Likewise.
24707         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
24708         replaced.
24709         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
24710         * m4/stddef_h.m4: New file.
24711         * modules/stddef: Likewise.
24712         * lib/stddef.in.h: Likewise.
24713         * modules/stddef-tests: Likewise.
24714         * tests/test-stddef.c: Likewise.
24715         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
24716         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
24717         * doc/posix-headers/locale.texi (locale.h): Likewise.
24718         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
24719         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
24720         * doc/posix-headers/string.texi (string.h): Likewise.
24721         * doc/posix-headers/time.texi (time.h): Likewise.
24722         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
24723         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
24724
24725 2009-08-14  Eric Blake  <ebb9@byu.net>
24726
24727         doc: improve git diff of texinfo files
24728         * .gitattributes: Add rule for *.texi files, with hint on how to
24729         use it.
24730         Copied from m4, and based on a report by Bruno Haible.
24731
24732 2009-08-14  Bruno Haible  <bruno@clisp.org>
24733
24734         Disable multithread support by default on Cygwin 1.5.x for real.
24735         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
24736
24737 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
24738
24739         update-copyright: much ado about intervals
24740         * build-aux/update-copyright: Implement and document
24741         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
24742         of copyright year intervals.
24743         Also, document UPDATE_COPYRIGHT_YEAR.
24744         * tests/test-update-copyright.sh: Test it.
24745
24746         update-copyright: convert 2-digit to 4-digit years
24747         * build-aux/update-copyright: Implement and document.
24748         * tests/test-update-copyright.sh: Update.
24749
24750 2009-08-14  Jim Meyering  <meyering@redhat.com>
24751
24752         test-exclude: avoid coreutils "make check" failure
24753         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
24754         just as in test-argmatch.c.
24755
24756 2009-08-13  Eric Blake  <ebb9@byu.net>
24757
24758         test-dup2: fix bad assumption
24759         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
24760         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
24761
24762         test-version-etc: fix CRLF portability issue
24763         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
24764         recognize \r.
24765         * tests/test-argp-version-etc-1.sh: Likewise.
24766
24767         getopt: update client modules
24768         * modules/argp (Depends-on): Use getopt-gnu.
24769         * modules/git-merge-changelog (Depends-on): Likewise.
24770         * modules/long-options (Depends-on): Likewise.
24771         * modules/xstrtol (Depends-on): Likewise.
24772
24773 2009-08-13  Simon Josefsson  <simon@josefsson.org>
24774
24775         * tests/test-version-etc.sh: Don't fail on different
24776         project/version.  Don't fail on CRLF differences.  Rewrite to use
24777         multiple -e instead of multiple sed forks, suggested by Eric Blake
24778         <ebb9@byu.net>.
24779         * tests/test-argp-version-etc-1.sh: Likewise.
24780
24781 2009-08-13  Simon Josefsson  <simon@josefsson.org>
24782
24783         * tests/test-version-etc.sh: Don't fail on different
24784         project/version.
24785
24786 2009-08-12  Bruno Haible  <bruno@clisp.org>
24787
24788         Tests for modules 'getopt-posix', 'getopt-gnu'.
24789         * modules/getopt-posix-tests: New file.
24790         * tests/test-getopt.c: New file.
24791         * tests/test-getopt.h: New file.
24792         * tests/test-getopt_long.h: New file.
24793
24794         New modules 'getopt-posix', 'getopt-gnu'.
24795         * modules/getopt-gnu: New file, renamed from modules/getopt.
24796         * modules/getopt-posix: New file.
24797         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
24798         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
24799         (gl_GETOPT): Remove macro.
24800         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
24801         Disable the test against BSD systems that declare optreset. Test
24802         against mingw bug. Test against lack of support of optional arguments
24803         on many platforms.
24804         * doc/glibc-headers/getopt.texi: Update module name and list of
24805         relevant platforms.
24806         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
24807         'getopt-gnu' and more portability problems.
24808         * NEWS: Mention the changes.
24809
24810 2009-08-12  Bruno Haible  <bruno@clisp.org>
24811
24812         Ensure that optarg etc. get declared by <unistd.h>.
24813         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
24814         AC_USE_SYSTEM_EXTENSIONS.
24815         * modules/getopt (Depends-on): Add 'extensions'.
24816
24817 2009-08-12  Bruno Haible  <bruno@clisp.org>
24818
24819         Avoid test link errors.
24820         * modules/pipe-filter-ii-tests (Makefile.am): Define
24821         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
24822         * modules/pipe-filter-gi-tests (Makefile.am): Define
24823         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
24824         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24825
24826 2009-08-12  Bruno Haible  <bruno@clisp.org>
24827
24828         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
24829         gl_GETOPT_SUBSTITUTE before.
24830         (gl_GETOPT): Use it.
24831         * m4/argp.m4 (gl_ARGP): Update.
24832         Reported by Sergey Poznyakoff.
24833
24834         * m4/getopt.m4: Reorder macros.
24835         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
24836         (gl_GETOPT_SUBSTITUTE): Remove macro.
24837
24838 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
24839
24840         Minor improvement in gitlog-to-changelog
24841
24842         * build-aux/gitlog-to-changelog: New option `--format' makes
24843         output format string configurable.
24844
24845 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
24846
24847         Optimize exclude: use hash tables for non-wildcard patterns.
24848
24849         * lib/exclude.c: Include hash.h and mbuiter.h
24850         (struct exclude_pattern, exclude_segment): New data types.
24851         (struct exclude): Rewrite.
24852         (fnmatch_pattern_has_wildcards): New function.
24853         (new_exclude_segment, free_exclude_segment): New functions.
24854         (excluded_file_pattern_p, excluded_file_name_p): New functions.
24855         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
24856         * lib/exclude.h (is_fnmatch_pattern): New prototype.
24857         * modules/exclude: Depend on hash and mbuiter.
24858
24859         * modules/exclude-tests: New file.
24860         * tests/test-exclude.c: New file.
24861         * tests/test-exclude1.sh: New file.
24862         * tests/test-exclude2.sh: New file.
24863         * tests/test-exclude3.sh: New file.
24864         * tests/test-exclude4.sh: New file.
24865         * tests/test-exclude5.sh: New file.
24866         * tests/test-exclude6.sh: New file.
24867         * tests/test-exclude7.sh: New file.
24868
24869 2009-08-12  Bruno Haible  <bruno@clisp.org>
24870
24871         Ensure that getopt() gets declared by <unistd.h>.
24872         * lib/unistd.in.h: Conditionally include getopt.h.
24873         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
24874         Set GNULIB_UNISTD_H_GETOPT.
24875         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24876         GNULIB_UNISTD_H_GETOPT.
24877         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
24878
24879 2009-08-12  Bruno Haible  <bruno@clisp.org>
24880
24881         Clarify logic.
24882         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
24883         gl_replace_getopt instead of GETOPT_H.
24884
24885 2009-08-12  Bruno Haible  <bruno@clisp.org>
24886
24887         * m4/getopt.m4: Add comments.
24888
24889 2009-08-12  Bruno Haible  <bruno@clisp.org>
24890
24891         Disable multithread support by default on Cygwin 1.5.x.
24892         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
24893         set gl_use_threads=no if not specified otherwise.
24894
24895 2009-08-11  Bruno Haible  <bruno@clisp.org>
24896
24897         Avoid compilation error on NetBSD 5.0.
24898         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
24899         * tests/test-stdio.c: Likewise.
24900         * tests/test-stdlib.c: Likewise.
24901         * tests/test-string.c: Likewise.
24902         * tests/test-unistd.c: Likewise.
24903         Reported by Greg Troxel <gdt@ir.bbn.com>
24904         at <https://savannah.gnu.org/support/?106973>.
24905
24906 2009-08-11  Bruno Haible  <bruno@clisp.org>
24907
24908         * modules/dup2-tests (Depends-on): Remove close.
24909
24910         Undo 2009-07-19 commit.
24911         * modules/acl-tests (Depends-on): Remove close.
24912         * modules/binary-io-tests (Depends-on): Likewise.
24913         * modules/closein-tests (Depends-on): Likewise.
24914         * modules/flock-tests (Depends-on): Likewise.
24915         * modules/fsync-tests (Depends-on): Likewise.
24916         * modules/lseek-tests (Depends-on): Likewise.
24917         * modules/pipe-tests (Depends-on): Likewise.
24918         * modules/posix_spawn-tests (Depends-on): Likewise.
24919         * modules/posix_spawnp-tests (Depends-on): Likewise.
24920         * modules/stat-time-tests (Depends-on): Likewise.
24921         * modules/yesno-tests (Depends-on): Likewise.
24922
24923 2009-08-10  Bruno Haible  <bruno@clisp.org>
24924
24925         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
24926
24927 2009-08-10  Bruno Haible  <bruno@clisp.org>
24928
24929         Fix a gcc warning.
24930         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
24931
24932 2009-08-10  Bruno Haible  <bruno@clisp.org>
24933
24934         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
24935         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
24936         not only the first time.
24937         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
24938         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
24939         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
24940         is 1, not only the the first time.
24941
24942 2009-08-10  Bruno Haible  <bruno@clisp.org>
24943
24944         Make it possible to use module 'gethostname' without module 'close'.
24945         * lib/unistd.in.h (close): Evoke a link error only if
24946         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
24947         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24948         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
24949         * modules/unistd (Makefile.am): Substitute
24950         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
24951         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
24952         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
24953         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
24954         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
24955         * modules/sys_ioctl (Makefile.am): Substitute
24956         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
24957         * modules/socket (configure.ac): On native Windows, set
24958         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
24959         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
24960         Reported by Sam Steingold <sds@gnu.org>.
24961
24962 2009-08-10  Bruno Haible  <bruno@clisp.org>
24963
24964         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
24965         * modules/ioctl (configure.ac): Likewise.
24966
24967 2009-08-10  Bruno Haible  <bruno@clisp.org>
24968
24969         Avoid collision between gnulib wrapper and libintl wrapper.
24970         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
24971         already defined in intl/printf.c.
24972         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
24973         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
24974
24975 2009-08-09  Bruno Haible  <bruno@clisp.org>
24976
24977         Make <sys/select.h> really self-contained, also on Solaris 10.
24978         * lib/sys_select.in.h: Include <string.h>.
24979         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
24980         Solaris 10 problem.
24981         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
24982         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
24983         Reported by Jim Meyering.
24984
24985 2009-08-09  Bruno Haible  <bruno@clisp.org>
24986
24987         Avoid warnings from 'aclocal' that are due to a use of macro name
24988         AM_XGETTEXT_OPTION that is not defined in automake.
24989         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
24990         automake.
24991         * modules/error (configure.ac): Likewise.
24992         * modules/propername (configure.ac): Likewise.
24993         * modules/vasprintf (configure.ac): Likewise.
24994         * modules/verror (configure.ac): Likewise.
24995         * modules/xprintf (configure.ac): Likewise.
24996         * modules/xvasprintf (configure.ac): Likewise.
24997
24998 2009-08-08  Bruno Haible  <bruno@clisp.org>
24999
25000         Avoid compilation error in C++ mode.
25001         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
25002         Reported by Sam Steingold <sds@gnu.org>.
25003
25004 2009-08-08  Bruno Haible  <bruno@clisp.org>
25005
25006         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
25007         for the various Unix platforms.
25008         * doc/posix-headers/limits.texi: Update platforms list regarding
25009         HOST_NAME_MAX.
25010         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25011
25012 2009-08-07  Jim Meyering  <meyering@redhat.com>
25013
25014         selinux-at: fix typo in a comment
25015         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
25016         Spotted by Paolo Bonzini.
25017
25018         selinux-at: remove redundant m4 code, add documentation
25019         * modules/selinux-at (configure.ac): Remove redundant code.
25020         LIB_SELINUX is already set via the dependent module, selinux-h.
25021         (Include): Add quotes around selinux-at.h.
25022         * lib/selinux-at.h: Add documentation.
25023         Reported by Bruno Haible in
25024         http://marc.info/?l=gnulib-bug&m=124958988300749
25025
25026 2009-08-07  Bruno Haible  <bruno@clisp.org>
25027
25028         Avoid link error on MacOS X 10.3 and 10.4.
25029         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
25030         on non-ELF systems.
25031         * lib/argp-pv.c (argp_program_version): Likewise.
25032         Reported by Simon Josefsson.
25033
25034 2009-08-07  Simon Josefsson  <simon@josefsson.org>
25035
25036         * tests/test-version-etc.sh: Use $EXEEXT.
25037
25038 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
25039
25040         update-copyright: update documentation to point to maint.mk
25041         * build-aux/update-copyright: Here.
25042
25043 2009-08-06  Jim Meyering  <meyering@redhat.com>
25044
25045         maint.mk: support update-copyright-local
25046         * top/maint.mk (update-copyright-local): Define place-holder.
25047         (update-copyright): Depend on $(update-copyright-local).
25048
25049 2009-08-06  Jim Meyering  <meyering@redhat.com>
25050
25051         selinux-at: new module
25052         Initially written for coreutils, this module will soon be
25053         used by findutils, too.
25054         * MODULES.html.sh [Misc]: Add selinux-at.
25055         * lib/selinux-at.h: New file, from coreutils.
25056         * lib/selinux-at.c: Likewise.
25057         * modules/selinux-at: Likewise.
25058         (License): Change from LGPL to GPL, since it depends
25059         on the GPL'd openat module.
25060
25061         doc: update README
25062         * README: Remove references to cogito.
25063         Remove cvs-repo-updating instructions from 2007.
25064         Don't imply that CVS is better if you have limited disk space.
25065
25066 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25067
25068         update-copyright: support C-style comments
25069         * build-aux/update-copyright: Implement and document.
25070         * tests/test-update-copyright.sh: Test.
25071
25072 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25073
25074         update-copyright: support omitted "(C)"
25075         * build-aux/update-copyright: Implement and document.  Also,
25076         allow variable whitespace before "(C)".
25077         * tests/test-update-copyright.sh: Test.
25078
25079 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25080
25081         update-copyright: don't trip on non-FSF copyright statements
25082         * build-aux/update-copyright: Fix so that the first correctly
25083         formatted FSF copyright statement is recognized no matter what
25084         appears before it.  Update documentation.
25085         * tests/test-update-copyright.sh: Test that.
25086
25087 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25088
25089         update-copyright: clean up code a little
25090         * build-aux/update-copyright: Append "_re" to the name of any
25091         variable holding a regular expression.
25092         Replace "old" and "new" with "stmt" in variable names.
25093         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
25094         handled correctly.
25095         Format code more consistently.
25096
25097 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25098
25099         update-copyright-tests: improve portability
25100         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
25101         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
25102
25103 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
25104
25105         update-copyright: support @copyright{} and &copy;
25106         * build-aux/update-copyright: Implement and document.
25107         * tests/test-update-copyright.sh: Test.
25108
25109 2009-08-04  Jim Meyering  <meyering@redhat.com>
25110
25111         update-copyright-tests: correctly test EOL=\r\n handling
25112         * tests/test-update-copyright.sh: Put \r at the end of some lines
25113         for the dos-eol tests.  Based on a patch by Joel E. Denny.
25114
25115         maint.mk: make update-copyright exclusion list more configurable
25116         * top/maint.mk (update-copyright): Default to excluding COPYING,
25117         but allow an override, in case someone does want to update that file.
25118
25119         maint.mk: don't update copyright date in COPYING
25120         * top/maint.mk (update-copyright): Exclude COPYING.
25121
25122         maint.mk: add a copyright-updating rule
25123         * top/maint.mk (update-copyright): New rule.
25124         Derived from coreutils/Makefile.am.
25125
25126         update-copyright: rename some variables
25127         * build-aux/update-copyright: Rename a few variables for clarity.
25128         Tweak syntax.  List Joel E. Denny as coauthor.
25129
25130 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
25131
25132         update-copyright: fix bug for 2-digit last year and add tests
25133         * build-aux/update-copyright: Fix bug.
25134         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
25135         specified.
25136         * modules/update-copyright-tests: New
25137         * tests/test-update-copyright.sh: New.
25138
25139 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
25140
25141         update-copyright: handle leading tabs in line prefix
25142         * build-aux/update-copyright: Count leading tabs as 8 spaces
25143         when computing margin.  This helps with the formatting of
25144         ChangeLogs, for example.
25145         Fix documentation a little.
25146
25147 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
25148
25149         update-copyright: support EOL=\r\n
25150         * build-aux/update-copyright: Implement that.
25151
25152 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
25153
25154         update-copyright: automatically format copyright statements
25155         * build-aux/update-copyright: Implement that.
25156         Also, be a little more predictable and safer by always failing
25157         when the full copyright format is not perfectly recognized as an
25158         unbroken whole.  Discussed at
25159         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
25160         Rewrite documentation.
25161
25162 2009-08-03  Bruno Haible  <bruno@clisp.org>
25163
25164         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
25165
25166 2009-08-02  Bruno Haible  <bruno@clisp.org>
25167
25168         Tests for module 'uname'.
25169         * modules/uname-tests: New file.
25170         * tests/test-uname.c: New file.
25171
25172         New module 'uname'.
25173         * lib/uname.c: New file.
25174         * m4/uname.m4: New file.
25175         * modules/uname: New file.
25176         * doc/posix-functions/uname.texi: Mention the new module.
25177
25178 2009-08-02  Bruno Haible  <bruno@clisp.org>
25179
25180         Tests for module 'sys_utsname'.
25181         * modules/sys_utsname-tests: New file.
25182         * tests/test-sys_utsname.c: New file.
25183
25184         New module 'sys_utsname'.
25185         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
25186         * m4/sys_utsname_h.m4: New file.
25187         * modules/sys_utsname: New file.
25188         * doc/posix-headers/sys_utsname.texi: Mention the new module.
25189
25190 2009-08-02  Bruno Haible  <bruno@clisp.org>
25191
25192         Implicitly initialize the sockets library.
25193         * lib/gethostname.c: Include sockets.h.
25194         (rpl_gethostname): Invoke gl_sockets_startup.
25195         * lib/socket.c: Include sockets.h.
25196         (rpl_socket): Invoke gl_sockets_startup.
25197         * modules/gethostname (Depends-on): Add sockets.
25198         * modules/socket (Depends-on): Likewise.
25199         * tests/test-poll.c: Don't include sockets.h.
25200         (main): Don't invoke gl_sockets_startup.
25201         * tests/test-select.c: Don't include sockets.h.
25202         (main): Don't invoke gl_sockets_startup.
25203
25204 2009-08-02  Bruno Haible  <bruno@clisp.org>
25205
25206         Allow multiple calls to gl_sockets_startup.
25207         * lib/sockets.c (initialized_sockets_version): New variable.
25208         (gl_sockets_startup): Do nothing if already called for this or a higher
25209         version.
25210         (gl_sockets_cleanup): Reset initialized_sockets_version.
25211
25212 2009-08-03  Simon Josefsson  <simon@josefsson.org>
25213
25214         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
25215         different project/version.
25216
25217 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
25218             Bruno Haible  <bruno@clisp.org>
25219
25220         Tests for module 'pipe-filter-gi'.
25221         * modules/pipe-filter-gi-tests: New file.
25222         * tests/test-pipe-filter-gi1.sh: New file.
25223         * tests/test-pipe-filter-gi1.c: New file.
25224         * tests/test-pipe-filter-gi2.sh: New file.
25225         * tests/test-pipe-filter-gi2-main.c: New file.
25226         * tests/test-pipe-filter-gi2-child.c: New file.
25227
25228         New module 'pipe-filter-gi'.
25229         * lib/pipe-filter-gi.c: New file.
25230         * modules/pipe-filter-gi: New file.
25231
25232 2009-08-02  Bruno Haible  <bruno@clisp.org>
25233             Paolo Bonzini  <bonzini@gnu.org>
25234
25235         Tests for module 'pipe-filter-ii'.
25236         * modules/pipe-filter-ii-tests: New file.
25237         * tests/test-pipe-filter-ii1.sh: New file.
25238         * tests/test-pipe-filter-ii1.c: New file.
25239         * tests/test-pipe-filter-ii2.sh: New file.
25240         * tests/test-pipe-filter-ii2-main.c: New file.
25241         * tests/test-pipe-filter-ii2-child.c: New file.
25242
25243         New module 'pipe-filter-ii'.
25244         * lib/pipe-filter.h: New file.
25245         * lib/pipe-filter-ii.c: New file.
25246         * lib/pipe-filter-aux.h: New file.
25247         * modules/pipe-filter-ii: New file.
25248
25249 2009-08-02  Simon Josefsson  <simon@josefsson.org>
25250
25251         * lib/gc-libgcrypt.c: Change copyright to FSF.
25252         * lib/gc-gnulib.c: Likewise.
25253
25254 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
25255
25256         * lib/gethostname.c: Include limits.h.
25257
25258 2009-08-02  Simon Josefsson  <simon@josefsson.org>
25259             Bruno Haible  <bruno@clisp.org>
25260
25261         Ensure HOST_NAME_MAX as part of the gethostname module.
25262         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
25263         define also HOST_NAME_MAX.
25264         * tests/test-gethostname.c: Include <limits.h>.
25265         (main): Check also HOST_NAME_MAX.
25266         * doc/posix-headers/limits.texi: Document the mingw problem.
25267
25268 2009-08-02  Bruno Haible  <bruno@clisp.org>
25269
25270         * lib/gethostname.c (gethostname): Fix handling of large len argument.
25271         Add comments.
25272
25273 2009-03-31  Simon Josefsson  <simon@josefsson.org>
25274
25275         * lib/gethostname.c: Add Windows wrapper.
25276         * m4/gethostname.m4: Look for gethostname in -lws2_32.
25277         * modules/gethostname: Depend on sys_socket & errno, for also
25278         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
25279         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
25280
25281 2009-07-31  Jim Meyering  <meyering@redhat.com>
25282
25283         getloadavg: fix symbol name in comment
25284         * lib/getloadavg.c: Correct a typo I introduced when adding
25285         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
25286         Matt Kraai spotted the problem.
25287
25288 2009-07-29  Matt Kraai  <mkraai@beckman.com>
25289
25290         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
25291         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
25292         code also if ! defined N_NAME_POINTER.
25293         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
25294         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
25295         but the n_name member is a 12-byte array.
25296
25297 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
25298
25299         update-copyright: generalize comment handling
25300         * build-aux/update-copyright: Handle copyright statements
25301         within more comment styles.
25302         Document usage.
25303         Report any file with an external copyright holder or parse failure.
25304
25305 2009-07-29  Jim Meyering  <meyering@redhat.com>
25306
25307         mktime: correct setting of REPLACE_MKTIME
25308         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
25309
25310         update-copyright: new module
25311         * modules/update-copyright: New file.
25312         * build-aux/update-copyright: New file.
25313         * MODULES.html.sh (maint+release support): Add update-copyright.
25314
25315 2009-07-27  Bruno Haible  <bruno@clisp.org>
25316
25317         Fix compilation error when <ctime> is used and mktime is replaced.
25318         * lib/time.in.h (mktime): New declaration.
25319         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
25320         REPLACE_MKTIME instead of defining mktime in config.h.
25321         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
25322         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
25323         Reported by Ross McFarland <rwmcfa1@neces.com>.
25324
25325 2009-07-27  Bruno Haible  <bruno@clisp.org>
25326
25327         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
25328         Reported by Matt Kraai <mkraai@beckman.com>.
25329
25330 2009-07-25  Jim Meyering  <meyering@redhat.com>
25331
25332         maint.mk: avoid warnings about missing files
25333         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
25334         diagnostic when .prev-version does not exist.
25335         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
25336         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
25337         nonexistent cfg.mk.
25338         Suggestions from Simon Josefsson.
25339
25340 2009-07-25  Bruno Haible  <bruno@clisp.org>
25341
25342         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
25343         defined as macros. Needed on QNX 6.4.1.
25344         Reported by Matt Kraai <mkraai@beckman.com>.
25345
25346 2009-07-23  Jim Meyering  <meyering@redhat.com>
25347
25348         maint.mk: invoke "make dist" with a working value of XZ_OPT
25349         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
25350
25351 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
25352
25353         Make fseeko.c compile on QNX.
25354         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
25355
25356 2009-07-22  Peter Simons  <simons@cryp.to>
25357
25358         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
25359         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
25360         * lib/md4.h: Likewise.
25361         * lib/md5.h: Likewise.
25362         * lib/sha1.h: Likewise.
25363         * lib/sha256.h: Likewise.
25364         * lib/sha512.h: Likewise.
25365
25366         tests-sha1: don't assign literal string to 'char *' variable
25367         * tests/test-sha1.c (main): Declare locals with "const" to match
25368         attributes of the right hand side.
25369
25370 2009-07-21  Eric Blake  <ebb9@byu.net>
25371
25372         dup2: fix more mingw problems
25373         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
25374         fd to itself.
25375         * doc/posix-functions/dup2.texi (dup2): Document the bug.
25376         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
25377         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
25378         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
25379         care of mingw bugs.
25380
25381 2009-07-21  Jim Meyering  <meyering@redhat.com>
25382
25383         vc-list-files: avoid failure when /bin/sh is dash
25384         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
25385         On some Debian based systems, /bin/sh is a symlink to dash, and running
25386         this command would omit the "/" following each 'tests' prefix:
25387           dash -x build-aux/vc-list-files -C . tests
25388         That is because bash and dash work differently:
25389           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
25390           bash ok
25391           dash odd
25392
25393 2009-07-21  Eric Blake  <ebb9@byu.net>
25394
25395         dup2-tests: test previous patch
25396         * modules/dup2-tests: New file.
25397         * tests/test-dup2.c: Likewise.
25398         * tests/test-open.c (main): Avoid unspecified behavior.
25399         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
25400         test.
25401
25402         dup2: work around mingw and cygwin 1.5 bug
25403         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
25404         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
25405         * modules/unistd (Makefile.am): Substitute it.
25406         * lib/unistd.in.h (dup2): Declare the replacement.
25407         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
25408         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
25409         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
25410         * modules/execute (Depends-on): Add dup2.
25411         * modules/fseterr (Depends-on): Likewise.
25412         * modules/pipe (Depends-on): Likewise.
25413         * modules/posix_spawn-internal (Depends-on): Likewise.
25414
25415 2009-07-21  Bruno Haible  <bruno@clisp.org>
25416
25417         * modules/.gitattributes: New file.
25418
25419 2009-07-20  Bruno Haible  <bruno@clisp.org>
25420
25421         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
25422         (main): Use it.
25423
25424 2009-07-20  Eric Blake  <ebb9@byu.net>
25425
25426         test-pipe: make a bit more robust.
25427         * tests/test-pipe.c (myerr): Allow error messages regardless of
25428         what we do to stderr.
25429         (test_pipe): Rearrange to avoid deadlock.
25430         (child_main): Try a larger read, to ensure we avoided deadlock.
25431         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
25432         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
25433         if misused.
25434
25435 2009-07-19  Jim Meyering  <meyering@redhat.com>
25436
25437         fts: avoid false-positive cycle-detection
25438         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
25439         for each new command line argument.
25440
25441 2009-07-19  Bruno Haible  <bruno@clisp.org>
25442
25443         Fix build error on mingw with the modules sys_select and unistd.
25444         * modules/acl-tests (Depends-on): Add close.
25445         * modules/binary-io-tests (Depends-on): Likewise.
25446         * modules/closein-tests (Depends-on): Likewise.
25447         * modules/flock-tests (Depends-on): Likewise.
25448         * modules/fsync-tests (Depends-on): Likewise.
25449         * modules/lseek-tests (Depends-on): Likewise.
25450         * modules/pipe-tests (Depends-on): Likewise.
25451         * modules/posix_spawn-tests (Depends-on): Likewise.
25452         * modules/posix_spawnp-tests (Depends-on): Likewise.
25453         * modules/stat-time-tests (Depends-on): Likewise.
25454         * modules/yesno-tests (Depends-on): Likewise.
25455
25456 2009-07-19  Bruno Haible  <bruno@clisp.org>
25457
25458         Unify conditionals.
25459         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
25460         macros, not at the compiler macros.
25461         * lib/pipe.c: Likewise.
25462         * lib/execute.c: Likewise.
25463         * lib/spawni.c: Likewise.
25464
25465 2009-07-19  Bruno Haible  <bruno@clisp.org>
25466
25467         Fix handling of closed stdin/stdout/stderr on mingw.
25468         * lib/w32spawn.h: Include unistd.h.
25469         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
25470         file descriptor with O_NOINHERIT flag.
25471         (fd_safer_noinherit): New function, based on fd-safer.c.
25472         (dup_safer_noinherit): New function, based on dup-safer.c.
25473         (undup_safer_noinherit): New function.
25474         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
25475         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
25476         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
25477         instead of fd_safer.
25478         * tests/test-pipe.c: Include <windows.h>.
25479         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
25480
25481         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
25482         from main.
25483         (test_pipe): Pass an extra argument for disambiguation.
25484         (main): Invoke parent_main or child_main.
25485
25486         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
25487         consistently.
25488
25489 2009-07-18  Eric Blake  <ebb9@byu.net>
25490
25491         test-pipe: fix mingw build
25492         * tests/test-pipe.c (main): Avoid fcntl on mingw.
25493
25494 2009-07-18  Bruno Haible  <bruno@clisp.org>
25495
25496         * modules/pipe-tests (Makefile.am): Fix typo.
25497
25498 2009-07-18  Eric Blake  <ebb9@byu.net>
25499
25500         error: fix mingw build
25501         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
25502         Reported by Bruno Haible.
25503
25504         error: avoid undefined use of stdout
25505         * lib/error.c (error, error_at_line): Check that fd 1 is open
25506         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
25507         is handling faults and the close_stdout module wants to report the
25508         detection of closed stdout as an error.
25509
25510 2009-07-17  Eric Blake  <ebb9@byu.net>
25511
25512         pipe: be robust in face of closed fds
25513         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
25514         should cause child to misbehave.
25515         * modules/pipe-tests: New module.
25516         * tests/test-pipe.c: New file.
25517         * tests/test-pipe.sh: New file.
25518         Reported by Akim Demaille.
25519
25520 2009-07-14  Bruno Haible  <bruno@clisp.org>
25521
25522         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
25523         Reported by anonymous kc.
25524
25525 2009-07-07  Jim Meyering  <meyering@redhat.com>
25526
25527         maint.mk: don't look for translatable strings in *.m4 or *.mk
25528         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
25529         when searching for translatable strings.
25530
25531 2009-07-05  Jim Meyering  <meyering@redhat.com>
25532
25533         remove superfluous parentheses in STREQ definition
25534         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
25535         * lib/getugroups.c (STREQ): Likewise.
25536         * lib/fnmatch.c (STREQ): Likewise.
25537         Spotted by Bruno Haible.
25538
25539 2009-07-04  Jim Meyering  <meyering@redhat.com>
25540
25541         argv-iter: new module
25542         * MODULES.html.sh: Add argv-iter.
25543         * lib/argv-iter.c, lib/argv-iter.h: New files.
25544         * modules/argv-iter: New file.
25545         * modules/argv-iter-tests: New file.
25546         * tests/test-argv-iter.c: Test it.
25547
25548 2009-07-04  Bruno Haible  <bruno@clisp.org>
25549
25550         Fix assertion.
25551         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
25552         contains more exact copies of a given entry than file2, leave the extra
25553         copies unpaired rather than aborting.
25554         Reported by Eric Blake.
25555
25556 2009-07-02  Bruno Haible  <bruno@clisp.org>
25557
25558         Speedup git-merge-changelog for git cherry-pick.
25559         * lib/git-merge-changelog.c (struct entries_mapping): New type.
25560         (entries_mapping_get): New function, extracted from compute_mapping.
25561         (entries_mapping_reverse_get): New function.
25562         (compute_mapping): Add a 'full' argument. Return the result in a
25563         'struct entries_mapping'.
25564         (main): Update. Access the mappings through entries_mapping_get.
25565         Reported by Eric Blake.
25566
25567 2009-07-02  Bruno Haible  <bruno@clisp.org>
25568
25569         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
25570         best_i.
25571
25572 2009-07-02  Bruno Haible  <bruno@clisp.org>
25573
25574         Speed up approximate search for matching ChangeLog entries.
25575         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
25576         argument. Call fstrcmp_bounded instead of fstrcmp.
25577         (compute_mapping, try_split_merged_entry, main): Update callers.
25578
25579 2009-07-02  Bruno Haible  <bruno@clisp.org>
25580
25581         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
25582
25583 2009-06-30  Bruno Haible  <bruno@clisp.org>
25584
25585         Reduce the number of uc_is_cased calls.
25586         * lib/unicase.h (casing_suffix_context_t): Add
25587         'first_char_except_ignorable' field.
25588         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
25589         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
25590         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
25591         Update initializer.
25592         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
25593         case-ignorable characters.
25594         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
25595         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
25596         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
25597         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
25598         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
25599
25600 2009-06-30  Bruno Haible  <bruno@clisp.org>
25601
25602         Tests for module 'unicase/ignorable'.
25603         * modules/unicase/ignorable-tests: New file.
25604         * tests/unicase/test-ignorable.c: New file, generated by
25605         gen-uni-tables.
25606
25607         Tests for module 'unicase/cased'.
25608         * modules/unicase/cased-tests: New file.
25609         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
25610         * tests/unicase/test-predicate-part1.h: New file, derived from
25611         tests/unictype/test-predicate-part1.h.
25612         * tests/unicase/test-predicate-part2.h: New file, same as
25613         tests/unictype/test-predicate-part2.h.
25614
25615         Fix evaluation of "Before C" condition of FINAL_SIGMA.
25616         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
25617         (output_casing_properties): New function.
25618         (main): Call it.
25619         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
25620         * lib/unicase/cased.c: Include unictype/bitmap.h.
25621         (uc_is_cased): Define through a bitmap lookup.
25622         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
25623         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
25624         (uc_is_case_ignorable): Define through a bitmap lookup.
25625         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
25626         lib/unictype/bitmap.h.
25627         (Depends-on): Add inline. Clean up.
25628         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
25629         lib/unictype/bitmap.h.
25630         (Depends-on): Add inline. Clean up.
25631         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
25632         recognition.
25633         * tests/unicase/test-u16-tolower.c (main): Likewise.
25634         * tests/unicase/test-u32-tolower.c (main): Likewise.
25635
25636 2009-06-30  Bruno Haible  <bruno@clisp.org>
25637
25638         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
25639         * lib/unicase/u16-casemap.c: Likewise.
25640         * lib/unicase/u32-casemap.c: Likewise.
25641
25642 2009-06-29  Bruno Haible  <bruno@clisp.org>
25643
25644         Define u32_casefold as a wrapper around u32_ct_casefold.
25645         * lib/unicase/u32-casefold.c: Update.
25646         * modules/unicase/u32-casefold (Depends-on): Add
25647         unicase/u32-ct-casefold, unicase/empty-prefix-context,
25648         unicase/empty-suffix-context. Clean up.
25649
25650         Define u16_casefold as a wrapper around u16_ct_casefold.
25651         * lib/unicase/u16-casefold.c: Update.
25652         * modules/unicase/u16-casefold (Depends-on): Add
25653         unicase/u16-ct-casefold, unicase/empty-prefix-context,
25654         unicase/empty-suffix-context. Clean up.
25655
25656         Define u8_casefold as a wrapper around u8_ct_casefold.
25657         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
25658         * lib/unicase/u8-casefold.c: Update.
25659         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
25660         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
25661
25662         Define u32_totitle as a wrapper around u32_ct_totitle.
25663         * lib/unicase/u32-totitle.c: Update.
25664         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
25665         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
25666
25667         Define u16_totitle as a wrapper around u16_ct_totitle.
25668         * lib/unicase/u16-totitle.c: Update.
25669         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
25670         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
25671
25672         Define u8_totitle as a wrapper around u8_ct_totitle.
25673         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
25674         functions.
25675         (FUNC): Delegate to U_CT_TOTITLE.
25676         * lib/unicase/u8-totitle.c: Update.
25677         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
25678         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
25679
25680         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
25681         invocation.
25682         * modules/unicase/u32-tolower (Depends-on): Add
25683         unicase/empty-prefix-context, unicase/empty-suffix-context.
25684
25685         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
25686         invocation.
25687         * modules/unicase/u16-tolower (Depends-on): Add
25688         unicase/empty-prefix-context, unicase/empty-suffix-context.
25689
25690         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
25691         * modules/unicase/u8-tolower (Depends-on): Add
25692         unicase/empty-prefix-context, unicase/empty-suffix-context.
25693
25694         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
25695         invocation.
25696         * modules/unicase/u32-toupper (Depends-on): Add
25697         unicase/empty-prefix-context, unicase/empty-suffix-context.
25698
25699         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
25700         invocation.
25701         * modules/unicase/u16-toupper (Depends-on): Add
25702         unicase/empty-prefix-context, unicase/empty-suffix-context.
25703
25704         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
25705         * modules/unicase/u8-toupper (Depends-on): Add
25706         unicase/empty-prefix-context, unicase/empty-suffix-context.
25707
25708         New module 'unicase/u32-ct-casefold'.
25709         * lib/unicase/u32-ct-casefold.c: New file.
25710         * modules/unicase/u32-ct-casefold: New file.
25711
25712         New module 'unicase/u16-ct-casefold'.
25713         * lib/unicase/u16-ct-casefold.c: New file.
25714         * modules/unicase/u16-ct-casefold: New file.
25715
25716         New module 'unicase/u8-ct-casefold'.
25717         * lib/unicase/u8-ct-casefold.c: New file.
25718         * lib/unicase/u-ct-casefold.h: New file, derived from
25719         lib/unicase/u-casefold.h.
25720         * modules/unicase/u8-ct-casefold: New file.
25721
25722         New module 'unicase/u32-ct-totitle'.
25723         * lib/unicase/u32-ct-totitle.c: New file.
25724         * modules/unicase/u32-ct-totitle: New file.
25725
25726         New module 'unicase/u16-ct-totitle'.
25727         * lib/unicase/u16-ct-totitle.c: New file.
25728         * modules/unicase/u16-ct-totitle: New file.
25729
25730         New module 'unicase/u8-ct-totitle'.
25731         * lib/unicase/u8-ct-totitle.c: New file.
25732         * lib/unicase/u-ct-totitle.h: New file, derived from
25733         lib/unicase/u-totitle.h.
25734         * modules/unicase/u8-ct-totitle: New file.
25735
25736         New module 'unicase/u32-ct-tolower'.
25737         * lib/unicase/u32-ct-tolower.c: New file.
25738         * modules/unicase/u32-ct-tolower: New file.
25739
25740         New module 'unicase/u16-ct-tolower'.
25741         * lib/unicase/u16-ct-tolower.c: New file.
25742         * modules/unicase/u16-ct-tolower: New file.
25743
25744         New module 'unicase/u8-ct-tolower'.
25745         * lib/unicase/u8-ct-tolower.c: New file.
25746         * modules/unicase/u8-ct-tolower: New file.
25747
25748         New module 'unicase/u32-ct-toupper'.
25749         * lib/unicase/u32-ct-toupper.c: New file.
25750         * modules/unicase/u32-ct-toupper: New file.
25751
25752         New module 'unicase/u16-ct-toupper'.
25753         * lib/unicase/u16-ct-toupper.c: New file.
25754         * modules/unicase/u16-ct-toupper: New file.
25755
25756         New module 'unicase/u8-ct-toupper'.
25757         * lib/unicase/u8-ct-toupper.c: New file.
25758         * modules/unicase/u8-ct-toupper: New file.
25759
25760         Add context arguments to u*_casemap functions.
25761         * lib/unicase/unicasemap.h: Include unicase.h.
25762         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
25763         suffix_context arguments.
25764         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
25765         functions.
25766         (FUNC): Add prefix_context and suffix_context arguments. Use
25767         uc_is_cased and uc_is_case_ignorable.
25768         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
25769         * lib/unicase/u16-casemap.c: Likewise.
25770         * lib/unicase/u32-casemap.c: Likewise.
25771         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
25772         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
25773         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
25774         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
25775         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
25776         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
25777
25778         New module 'unicase/u32-suffix-context'.
25779         * lib/unicase/u32-suffix-context.c: New file.
25780         * modules/unicase/u32-suffix-context: New file.
25781
25782         New module 'unicase/u16-suffix-context'.
25783         * lib/unicase/u16-suffix-context.c: New file.
25784         * modules/unicase/u16-suffix-context: New file.
25785
25786         New module 'unicase/u8-suffix-context'.
25787         * lib/unicase/u8-suffix-context.c: New file.
25788         * lib/unicase/u-suffix-context.h: New file.
25789         * modules/unicase/u8-suffix-context: New file.
25790
25791         New module 'unicase/empty-suffix-context'.
25792         * lib/unicase/empty-suffix-context.c: New file.
25793         * modules/unicase/empty-suffix-context: New file.
25794
25795         New module 'unicase/u32-prefix-context'.
25796         * lib/unicase/u32-prefix-context.c: New file.
25797         * modules/unicase/u32-prefix-context: New file.
25798
25799         New module 'unicase/u16-prefix-context'.
25800         * lib/unicase/u16-prefix-context.c: New file.
25801         * modules/unicase/u16-prefix-context: New file.
25802
25803         New module 'unicase/u8-prefix-context'.
25804         * lib/unicase/u8-prefix-context.c: New file.
25805         * lib/unicase/u-prefix-context.h: New file.
25806         * lib/unicase/context.h: New file.
25807         * modules/unicase/u8-prefix-context: New file.
25808
25809         New module 'unicase/empty-prefix-context'.
25810         * lib/unicase/empty-prefix-context.c: New file.
25811         * modules/unicase/empty-prefix-context: New file.
25812
25813         New module 'unicase/ignorable'.
25814         * lib/unicase/ignorable.c: New file.
25815         * modules/unicase/ignorable: New file.
25816
25817         New module 'unicase/cased'.
25818         * lib/unicase/caseprop.h: New file.
25819         * lib/unicase/cased.c: New file.
25820         * modules/unicase/cased: New file.
25821
25822         New functions for case mapping of substrings.
25823         * lib/unicase.h (casing_prefix_context_t): New type.
25824         (unicase_empty_prefix_context): New variable.
25825         (u8_casing_prefix_context, u16_casing_prefix_context,
25826         u32_casing_prefix_context, u8_casing_prefixes_context,
25827         u16_casing_prefixes_context, u32_casing_prefixes_context): New
25828         declarations.
25829         (casing_suffix_context_t): New type.
25830         (unicase_empty_suffix_context): New variable.
25831         (u8_casing_suffix_context, u16_casing_suffix_context,
25832         u32_casing_suffix_context, u8_casing_suffixes_context,
25833         u16_casing_suffixes_context, u32_casing_suffixes_context,
25834         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
25835         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
25836         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
25837         declarations.
25838
25839 2009-06-28  Jim Meyering  <meyering@redhat.com>
25840
25841         boostrap: indent only with spaces
25842         * build-aux/bootstrap: Indent only with spaces, never TABs.
25843
25844         bootstrap: split long lines
25845         * build-aux/bootstrap: Keep line length < 80.
25846
25847         bootstrap: sync from coreutils
25848         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
25849         just as autoreconf does.  Verify a list of prerequisite
25850         package-name,version-number pairs if defined in bootstrap.conf.
25851         Refer to README-prereq, if prerequisites are not satisfied.
25852
25853 2009-06-27  Eric Blake  <ebb9@byu.net>
25854
25855         tests: add test for bogus NULL definition
25856         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
25857         * tests/test-stdlib.c: Likewise.
25858         * tests/test-string.c: Likewise.
25859         * tests/test-locale.c: Likewise.
25860         * tests/test-unistd.c: Likewise.
25861         * modules/stdio-tests (Depends-on): Add verify.
25862         * modules/stdlib-tests (Depends-on): Likewise.
25863         * modules/string-tests (Depends-on): Likewise.
25864         * modules/locale-tests (Depends-on): Likewise.
25865         * modules/unistd-tests (Depends-on): Likewise.
25866
25867 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
25868
25869         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
25870         self-explaining comment.
25871         * m4/selinux-selinux-h: Update serial.
25872         (gl_LIBSELINUX): New macro, adding a warning for missing development
25873         packages to code extracted from...
25874         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
25875         Add warning for missing development packages here, too.
25876
25877 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
25878
25879         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
25880
25881 2009-06-25  Eric Blake  <ebb9@byu.net>
25882
25883         version-etc: fix regression
25884         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
25885         gcc.
25886         (version_etc): Use it, to catch bugs with trailing NULL.
25887         * lib/version-etc.c (version_etc_arn): Delete unused argument.
25888         (version_etc_va): Fix logic bug.
25889         * modules/version-etc-tests: Add test.
25890         * tests/test-version-etc.c: New file.
25891         * tests/test-version-etc.sh: Likewise.
25892
25893 2009-06-25  Sam Steingold  <sds@gnu.org>
25894
25895         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
25896         mbtowc declaration.
25897
25898 2009-06-25  Eric Blake  <ebb9@byu.net>
25899
25900         fpurge: migrate into <stdio.h>
25901         * lib/fpurge.h: Delete...
25902         * lib/stdio.in.h (fpurge): ...and declare here, instead.
25903         * lib/fpurge.c (fpurge): Change declaring header.
25904         * modules/fpurge (Files): Drop deleted file.
25905         (Depends-on): Add stdio.
25906         (configure.ac): Set witness.
25907         * modules/stdio (Makefile.am): Support fpurge macros.
25908         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
25909         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
25910         * lib/fflush.c: Update client.
25911         * tests/test-fpurge.c: Likewise.
25912         * NEWS: Mention the change.
25913
25914 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
25915
25916         * lib/argp-version-etc.c (program_authors): Add const
25917         qualifier.
25918         * lib/version-etc.c: Fix typos in the comments.
25919         * modules/argp-version-etc: Depends on version-etc.
25920
25921 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
25922
25923         argp-version-etc: new module.
25924
25925         * lib/argp-version-etc.c: New file.
25926         * lib/argp-version-etc.h: New file.
25927         * modules/argp-version-etc: New file.
25928         * modules/argp-version-etc-tests: New file.
25929         * tests/test-argp-version-etc.c: New test.
25930         * tests/test-argp-version-etc-1.sh: New test.
25931
25932 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
25933
25934         Provide additional interfaces and documentation for version-etc
25935         module.
25936
25937         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
25938         interfaces.
25939         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
25940         prototypes.
25941
25942 2009-06-24  Bruno Haible  <bruno@clisp.org>
25943
25944         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
25945         HAVE_LIB${NAME} macro.
25946         Reported by Sam Steingold <sds@gnu.org>.
25947
25948 2009-06-23  Simon Josefsson  <simon@josefsson.org>
25949
25950         * modules/hash-tests (test_hash_LDADD): Link to libintl when
25951         needed.
25952
25953 2009-06-21  Bruno Haible  <bruno@clisp.org>
25954
25955         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
25956         work.
25957         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
25958         together with LIB${NAME}, LTLIB${NAME}.
25959         Reported by Sam Steingold <sds@gnu.org>.
25960
25961 2009-06-20  Jim Meyering  <meyering@redhat.com>
25962
25963         tests: make sc_require_test_exit_idiom more generic
25964         * top/maint.mk (Exit_witness_file): New overridable variable.
25965         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
25966         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
25967
25968 2009-06-19  Jim Meyering  <meyering@redhat.com>
25969
25970         hash: reverse order of src/dst parameters in an internal interface
25971         * lib/hash.c (transfer_entries): Reverse order of parameters to
25972         put DST before SRC.  Adjust callers.
25973
25974         tests: test-hash: avoid wholesale duplication
25975         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
25976         Instead, use a loop and add a single conditional.
25977
25978         tests: test-hash: allow seed selection via a command line argument
25979         * tests/test-hash.c (get_seed): New function.
25980         (main): Use it.
25981
25982 2009-06-19  Eric Blake  <ebb9@byu.net>
25983
25984         hash: avoid memory leak on allocation failure
25985         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
25986         failure.  Factor repeated algorithm...
25987         (transfer_entries): ...into new helper routine.
25988         (hash_delete): React to hash_rehash return value.
25989
25990         hash: reduce memory pressure in hash_rehash no-op case
25991         * lib/hash.c (next_prime): Avoid overflow.
25992         (hash_initialize): Factor bucket size computation...
25993         (compute_bucket_size): ...into new helper function.
25994         (hash_rehash): Use new function and open coding to reduce memory
25995         pressure, and avoid a memory leak in USE_OBSTACK code.
25996         Reported by Jim Meyering.
25997
25998 2009-06-18  Eric Blake  <ebb9@byu.net>
25999
26000         hash: make rotation more obvious
26001         * modules/hash (Depends-on): Add bitrotate and stdint.
26002         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
26003         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
26004         (SIZE_MAX): Rely on headers for definition.
26005         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
26006         (raw_hasher): Use rotr_sz.
26007         Suggested by Jim Meyering.
26008
26009         hash: fix memory leak in last patch
26010         * lib/hash.c (hash_rehash): Avoid memory leak.
26011
26012         hash: avoid no-op rehashing
26013         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
26014
26015         hash: provide default callback functions
26016         * lib/hash.c (raw_hasher, raw_comparator): New functions.
26017         (hash_initialize): Use them as defaults.
26018         * tests/test-hash.c (main): Test this.
26019
26020         hash: minor optimization
26021         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
26022         when possible.
26023         (hash_initialize): Document this promise.
26024         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
26025         * tests/test-hash.c (hash_compare_strings): Test this.
26026
26027 2009-06-18  Bruno Haible  <bruno@clisp.org>
26028
26029         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
26030         going to be replaced anyway.
26031
26032 2009-06-18  Bruno Haible  <bruno@clisp.org>
26033
26034         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
26035         in one place.
26036         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
26037         be replaced anyway.
26038
26039 2009-06-18  Eric Blake  <ebb9@byu.net>
26040
26041         hash: check for resize before insertion
26042         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
26043         threshold before insertion, so that a pathological hash_rehash
26044         that fills every bucket can still trigger another rehash.
26045
26046 2009-06-18  Jim Meyering  <meyering@redhat.com>
26047
26048         hash-tests: add a loop around the small tests
26049         * tests/test-hash.c (main): Repeat small tests with selected
26050         small initial table sizes.
26051
26052 2009-06-17  Eric Blake  <ebb9@byu.net>
26053
26054         hash: minor cleanups
26055         * lib/hash.h (hash_entry): Make opaque, by moving...
26056         * lib/hash.c (hash_entry): ...here.
26057         (hash_insert): Clarify restrictions on what can be inserted.
26058         (hash_get_next): Clarify when it is safe to remove an element
26059         during traversal.
26060         (check_tuning): Skip verification when tuning is known safe.
26061         (hash_initialize): Clarify restrictions on tuning.
26062
26063 2009-06-17  Jim Meyering  <jim@meyering.net>
26064         and Eric Blake  <ebb9@byu.net>
26065
26066         hash-tests: new module
26067         * modules/hash-tests: New file.
26068         * tests/test-hash.c: New file.
26069
26070 2009-06-17  Eric Blake  <ebb9@byu.net>
26071
26072         strstr-simple: document new module
26073         * MODULES.html.sh: Document new module.
26074
26075         strstr, strcasestr: replace on platforms with broken memchr
26076         * modules/strstr: Split into...
26077         * modules/strstr-simple: ...new module that does not care about
26078         performance, but does care about glibc bug.
26079         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
26080         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
26081         if platform memchr is broken, per Debian bug 521737.
26082         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
26083         memchr.
26084         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
26085         * doc/posix-functions/strstr.texi (strstr): Document the fix.
26086         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
26087         * modules/mountlist (Depends-on): Add strstr-simple.
26088         * modules/gen-uni-tables (Depends-on): Likewise.
26089         * modules/argz (Depends-on): Add strstr.
26090
26091 2009-06-17  Bruno Haible  <bruno@clisp.org>
26092
26093         * modules/posix_spawn-internal (Depends-on): Add errno.
26094
26095 2009-06-17  Bruno Haible  <bruno@clisp.org>
26096
26097         Define missing ESTALE on Interix 3.5.
26098         * lib/errno.in.h (ESTALE): Assign a value if missing.
26099         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
26100         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
26101         missing.
26102         * doc/posix-headers/errno.texi: Mention the Interix bug.
26103         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
26104
26105 2009-06-15  Eric Blake  <ebb9@byu.net>
26106
26107         memchr, memchr2: add valgrind exception
26108         * lib/memchr.valgrind: New file.
26109         * lib/memchr2.valgrind: New file.
26110         * modules/memchr (Files): Distribute valgrind file.
26111         * modules/memchr2 (Files): Likewise.
26112
26113         docs: memchr is no longer obsolete
26114         * MODULES.html.sh: Move memchr from obsolete to string.h section.
26115         * lib/string.in.h (memchr): Simplify logic.
26116
26117 2009-06-14  Jim Meyering  <meyering@redhat.com>
26118
26119         link-follow: fix the "checking..." message to not mention trailing slash
26120         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
26121         never considered trailing slashes.
26122
26123 2009-06-14  Bruno Haible  <bruno@clisp.org>
26124
26125         * m4/memchr.m4: Mention also the bug on IA-64.
26126         * doc/posix-functions/memchr.texi: Likewise.
26127
26128 2009-06-12  Eric Blake  <ebb9@byu.net>
26129
26130         memchr: detect broken x86_64 and alpha implementations
26131         * modules/memchr-tests (Depends-on): Move mmap detection...
26132         * modules/memchr (Depends-on): ...here.
26133         (configure.ac): Set indicator.
26134         * lib/string.in.h (memchr): Declare replacement.
26135         * modules/string (Makefile.am): Trigger replacement.
26136         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
26137         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
26138         bugs.
26139         * doc/posix-functions/memchr.texi (memchr): Document the bug.
26140         * modules/getpagesize (License): Relax license.
26141
26142 2009-06-11  Bruno Haible  <bruno@clisp.org>
26143
26144         * lib/idpriv.h: Add more references.
26145
26146 2009-06-08  Bruno Haible  <bruno@clisp.org>
26147
26148         Tests for module 'idpriv-droptemp'.
26149         * modules/idpriv-droptemp-tests: New file.
26150         * tests/test-idpriv-droptemp.sh: New file.
26151         * tests/test-idpriv-droptemp.su.sh: New file.
26152         * tests/test-idpriv-droptemp.c: New file.
26153
26154         New module 'idpriv-droptemp'.
26155         * lib/idpriv-droptemp.c: New file.
26156         * modules/idpriv-droptemp: New file.
26157
26158 2009-06-08  Bruno Haible  <bruno@clisp.org>
26159
26160         Tests for module 'idpriv-drop'.
26161         * modules/idpriv-drop-tests: New file.
26162         * tests/test-idpriv-drop.sh: New file.
26163         * tests/test-idpriv-drop.su.sh: New file.
26164         * tests/test-idpriv-drop.c: New file.
26165
26166         New module 'idpriv-drop'.
26167         * lib/idpriv.h: New file.
26168         * lib-idpriv-drop.c: New file.
26169         * m4/idpriv.m4: New file.
26170         * modules/idpriv-drop: New file.
26171
26172 2009-06-08  Bruno Haible  <bruno@clisp.org>
26173
26174         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
26175         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
26176         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
26177         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
26178         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
26179         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
26180         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
26181
26182 2009-06-08  Eric Blake  <ebb9@byu.net>
26183
26184         test-strstr: use memory fence, when possible
26185         * tests/test-strstr.c (main): Use memory fence, in order to be
26186         more likely to trigger Debian bug 521737.
26187         * modules/strstr-tests (Files): Pull in additional files.
26188
26189         memchr: no longer obsolete, for wider field testing
26190         * modules/memchr (Status, Notice): Delete, this module is no
26191         longer obsolete.
26192         * modules/vasnprintf (Depends-on): Add memchr.
26193
26194 2009-06-07  Jim Meyering  <meyering@redhat.com>
26195
26196         hash: declare some functions with the warn_unused_result attribute
26197         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
26198
26199 2009-06-07  Bruno Haible  <bruno@clisp.org>
26200
26201         * tests/test-alignof.c: Don't test int64_t if it does not exist.
26202         Reported by Eric Blake.
26203
26204 2009-06-06  Eric Blake  <ebb9@byu.net>
26205
26206         test-alignof: fix typo with long double
26207         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
26208         compiler error.
26209
26210 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
26211
26212         Escape non-texinfo { and }s.
26213         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
26214         markup error.
26215
26216 2009-06-04  Jim Meyering  <meyering@redhat.com>
26217
26218         gitlog-to-changelog: don't infloop on an empty commit log
26219         * build-aux/gitlog-to-changelog: Warn about an empty log message.
26220         Reported by Boris Petersen <transacid@centerim.org>.
26221
26222 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
26223
26224         version-etc: extend for packagers
26225         Add three new configure options, intended for packagers:
26226           --with-packager="packager name"
26227           --with-packager-version="packager-specific version"
26228           --with-packager-bug-reports="packager bug reporting"
26229         An example with coreutils:
26230           $ ./configure \
26231             --with-packager=Gentoo \
26232             --with-packager-bug-report=http://bugs.gentoo.org/ \
26233             --with-packager-version="patchset 1.6"
26234           $ ./src/ls --version | head -n2
26235           ls (GNU coreutils) 7.1-dirty
26236           Packaged by Gentoo (patchset 1.6)
26237         Note that the bug reporting info via --help doesn't show up because
26238         coreutils uses its own custom emit_bug_reporting_address() implementation
26239         in src/system.h.  If it didn't, it'd look like:
26240           $ ./src/ls --help | tail -n4
26241           Report bugs to <bug-coreutils@gnu.org>.
26242           Report Gentoo bugs to <http://bugs.gentoo.org/>.
26243           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
26244           General help using GNU software: <http://www.gnu.org/gethelp/>.
26245         * lib/version-etc.c: Print new information, if provided.
26246         * m4/version-etc.m4: New file.
26247         * modules/version-etc (Files): Add m4/version-etc.m4.
26248         (configure.ac): Add gl_VERSION_ETC.
26249
26250 2009-05-31  Bruno Haible  <bruno@clisp.org>
26251
26252         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
26253         and 'int64_t'.
26254         * modules/alignof-tests (Dependencies): Add stdint.
26255         Reported by Eric Blake.
26256
26257 2009-05-31  Bruno Haible  <bruno@clisp.org>
26258
26259         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
26260         restriction due to compiler bugs.
26261         Reported by Eric Blake.
26262
26263 2009-05-31  Simon Josefsson  <simon@josefsson.org>
26264             Bruno Haible  <bruno@clisp.org>
26265
26266         Fix test-alignof failure.
26267         * lib/alignof.h (alignof_slot): New macro.
26268         (alignof_type): New macro, with the same semantics as the previous
26269         'alignof'.
26270         (alignof): Alias to alignof_slot.
26271         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
26272         check that the results are usable as constant expressions.
26273
26274 2009-05-31  Bruno Haible  <bruno@clisp.org>
26275
26276         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
26277         * tests/test-memchr.c (main): Check that memchr does not read past the
26278         first occurrence of the byte.
26279         * tests/test-strstr.c (main): Update comment.
26280         Suggested by Eric Blake.
26281
26282 2009-05-30  Bruno Haible  <bruno@clisp.org>
26283
26284         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
26285         detail how to use dumpbin.
26286         Reported by David Byron <dbyron@dbyron.com>.
26287
26288 2009-06-02  Simon Josefsson  <simon@josefsson.org>
26289
26290         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
26291
26292 2009-06-02  Simon Josefsson  <simon@josefsson.org>
26293
26294         * m4/manywarnings.m4: Add GCC 4.4 warnings.
26295
26296 2009-05-28  Bruno Haible  <bruno@clisp.org>
26297
26298         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
26299         build-aux/ files.
26300
26301 2009-05-28  Simon Josefsson  <simon@josefsson.org>
26302
26303         * gnulib-tool (func_import): Transform license on build-aux/ files too.
26304
26305 2009-05-27  Simon Josefsson  <simon@josefsson.org>
26306
26307         * gnulib-tool (sed_transform_main_lib_file)
26308         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
26309         regexps.
26310
26311 2009-05-26  Simon Josefsson  <simon@josefsson.org>
26312
26313         * tests/test-strstr.c: Add another self-test.
26314         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
26315         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
26316
26317 2009-05-23  Bruno Haible  <bruno@clisp.org>
26318
26319         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
26320         change.
26321
26322 2009-05-21  Bruno Haible  <bruno@clisp.org>
26323
26324         Simplify use of mode_t varargs.
26325         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
26326         uses 'mode_t' or 'int'.
26327         * lib/openat.c (openat): Likewise.
26328         * lib/open-safer.c (open_safer): Likewise.
26329         * m4/mode_t.m4: New file.
26330         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
26331         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
26332         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
26333         * modules/open (Files): Add m4/mode_t.m4.
26334         * modules/openat (Files): Likewise.
26335         * modules/fcntl-safer (Files): Likewise.
26336         Suggested by Eric Blake.
26337
26338 2009-05-21  Pádraig Brady  <P@draigbrady.com>
26339
26340         * doc/glibc-functions/fallocate.texi: New file.
26341         * doc/gnulib.texi: Include it.
26342
26343 2009-05-21  Eric Blake  <ebb9@byu.net>
26344             Bruno Haible  <bruno@clisp.org>
26345
26346         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
26347         invocations.
26348         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
26349
26350 2009-05-21  Eric Blake  <ebb9@byu.net>
26351             Bruno Haible  <bruno@clisp.org>
26352
26353         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
26354         include_next. Fix of 2008-11-20 commit.
26355         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
26356         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
26357         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
26358         NEXT_MATH_H.
26359         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
26360         instead of NEXT_MATH_H.
26361
26362 2009-05-21  Bruno Haible  <bruno@clisp.org>
26363
26364         Avoid redefinition warnings for SIZE_MAX.
26365         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
26366         Reported by Simon Josefsson.
26367
26368 2009-05-21  Bruno Haible  <bruno@clisp.org>
26369
26370         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
26371         AC_CACHE_VAL.
26372
26373 2009-05-20  Bruno Haible  <bruno@clisp.org>
26374
26375         Make zeroptr.h work on mingw.
26376         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
26377         mprotect.
26378         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
26379         * modules/memchr2-tests (configure.ac): Likewise.
26380         * modules/memcmp-tests (configure.ac): Likewise.
26381         * modules/memmem-tests (configure.ac): Likewise.
26382         * modules/memrchr-tests (configure.ac): Likewise.
26383         Reported by Simon Josefsson.
26384
26385 2009-05-20  Simon Josefsson  <simon@josefsson.org>
26386
26387         * tests/test-glob.c: Include string.h for strcmp prototype.
26388
26389 2009-05-20  Simon Josefsson  <simon@josefsson.org>
26390
26391         * modules/getdelim (Depends-on): Add explicit stdint, although it
26392         was implicitly already pulled in via realloc-posix.
26393         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
26394
26395 2009-05-20  Simon Josefsson  <simon@josefsson.org>
26396
26397         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
26398         G. Christensen" <tgc@jupiterrise.com>.
26399         * m4/sys_socket_h.m4: Check for sa_family_t.
26400         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
26401         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
26402         * tests/test-sys_socket.c: Check that sa_family_t works.
26403
26404 2009-05-18  Eric Blake  <ebb9@byu.net>
26405
26406         maint.mk: allow gnulib_dir in VPATH build
26407         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
26408
26409 2009-05-15  Jim Meyering  <meyering@redhat.com>
26410
26411         maint.mk: Give gnulib_dir a default definition.
26412         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
26413         Thus, most packages no longer need to specify this variable in cfg.mk
26414
26415 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
26416
26417         rename.m4: fix typos that would make non-mingw cross-configure fail
26418         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
26419
26420 2009-05-13  Eric Blake  <ebb9@byu.net>
26421
26422         mmap-anon: avoid out-of-order autoconf expansion
26423         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
26424         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
26425         * modules/memchr-tests (Depends-on): Add extensions.
26426         * modules/memchr2-tests (Depends-on): Add extensions.
26427         * modules/memcmp-tests (Depends-on): Add extensions.
26428         * modules/memmem-tests (Depends-on): Add extensions.
26429         * modules/memrchr-tests (Depends-on): Add extensions.
26430
26431 2009-05-13  Bruno Haible  <bruno@clisp.org>
26432
26433         Make some tests ISO C 99 compliant.
26434         * tests/zerosize-ptr.h: New file.
26435         * tests/test-memchr.c: Include zerosize-ptr.h.
26436         (main): Use a zero-size object pointer instead of NULL.
26437         * tests/test-memchr2.c: Include zerosize-ptr.h.
26438         (main): Use a zero-size object pointer instead of NULL.
26439         * tests/test-memcmp.c: Include zerosize-ptr.h.
26440         (main): Use a zero-size object pointer instead of NULL.
26441         * tests/test-memmem.c: Include zerosize-ptr.h.
26442         (main): Use a zero-size object pointer instead of NULL.
26443         * tests/test-memrchr.c: Include zerosize-ptr.h.
26444         (main): Use a zero-size object pointer instead of NULL.
26445         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
26446         m4/mmap-anon.m4.
26447         (Depends-on): Add getpagesize.
26448         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
26449         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
26450         m4/mmap-anon.m4.
26451         (Depends-on): Add getpagesize.
26452         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
26453         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
26454         m4/mmap-anon.m4.
26455         (Depends-on): Add getpagesize.
26456         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
26457         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
26458         m4/mmap-anon.m4.
26459         (Depends-on): Add getpagesize.
26460         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
26461         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
26462         m4/mmap-anon.m4.
26463         (Depends-on): Add getpagesize.
26464         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
26465
26466 2009-05-12  Bruno Haible  <bruno@clisp.org>
26467
26468         Tests for module 'alignof'.
26469         * modules/alignof-tests: New file.
26470         * tests/test-alignof.c: New file.
26471
26472 2009-05-12  Bruno Haible  <bruno@clisp.org>
26473
26474         Fix alignof macro.
26475         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
26476         vendor compilers that are always correct.
26477
26478 2009-05-12  Bruno Haible  <bruno@clisp.org>
26479
26480         Make the MAP_ANONYMOUS detection work on HP-UX 11.
26481         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
26482         not whether its fully works.
26483
26484 2009-05-12  Bruno Haible  <bruno@clisp.org>
26485
26486         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
26487
26488 2009-05-12  Jim Meyering  <meyering@redhat.com>
26489
26490         * top/maint.mk: Adjust backslash alignment.
26491
26492 2009-05-11  Simon Josefsson  <simon@josefsson.org>
26493
26494         * top/maint.mk: Make $(srcdir)/build-aux configurable.
26495
26496 2009-05-11  Eric Blake  <ebb9@byu.net>
26497
26498         argp: avoid undefined behavior
26499         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
26500         macros.
26501
26502 2009-05-08  Simon Josefsson  <simon@josefsson.org>
26503
26504         * tests/test-vc-list-files-git.sh: Do git config of user.email and
26505         user.name to prevent git commit from complaining.
26506
26507 2009-05-10  Bruno Haible  <bruno@clisp.org>
26508
26509         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
26510         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
26511         it rewrites every file name only once.
26512         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
26513
26514 2009-05-08  Bruno Haible  <bruno@clisp.org>
26515
26516         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
26517         instead of 'max'.
26518
26519 2009-05-08  Simon Josefsson  <simon@josefsson.org>
26520
26521         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
26522         sockaddr_storage test.
26523
26524 2009-05-07  Simon Josefsson  <simon@josefsson.org>
26525
26526         * modules/sys_socket (Makefile.am): Substitute
26527         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
26528         * m4/sys_socket_h.m4: Check for sockaddr_storage.
26529         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
26530         * tests/test-sys_socket.c: Check sockaddr_storage.
26531
26532 2009-05-08  Bruno Haible  <bruno@clisp.org>
26533
26534         New module 'alignof'.
26535         * lib/alignof.h: New file.
26536         * modules/alignof: New file.
26537
26538 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
26539             Bruno Haible  <bruno@clisp.org>
26540
26541         Fix test-file-has-acl on FreeBSD.
26542         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
26543         mask is implicitly added.
26544         * tests/test-file-has-acl.c: Include <signal.h>.
26545         (main): Terminate the test after 5 seconds.
26546         * modules/acl-tests (configure.ac): Check for alarm function.
26547
26548 2009-05-04  Bruno Haible  <bruno@clisp.org>
26549
26550         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
26551         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
26552         * modules/errno (configure.ac): Drop AC_REQUIRE.
26553         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
26554         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
26555
26556 2009-05-04  Simon Josefsson  <simon@josefsson.org>
26557
26558         * modules/glob-tests: New module.
26559         * tests/test-glob.c: Add.
26560
26561 2009-05-04  Simon Josefsson  <simon@josefsson.org>
26562
26563         * modules/fnmatch-tests: New module.
26564         * tests/test-fnmatch.c: Add.
26565
26566 2009-05-04  Eric Blake  <ebb9@byu.net>
26567
26568         maint: make the new no-submodule-changes rule VPATH-safe
26569         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
26570
26571 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
26572             Bruno Haible  <bruno@clisp.org>
26573
26574         acl: Fix infinite loop on FreeBSD.
26575         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
26576         of return value from acl_get_entry.
26577         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
26578         Likewise.
26579
26580 2009-05-03  Bruno Haible  <bruno@clisp.org>
26581
26582         * lib/acl-internal.h (acl_entries): Clarify return value.
26583         * lib/acl_entries.c (acl_entries): Likewise.
26584
26585 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
26586
26587         Bug fix in acl module.
26588         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
26589
26590 2009-05-03  Bruno Haible  <bruno@clisp.org>
26591
26592         Create gperf-generated file in the source dir, not in the build dir.
26593         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
26594         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
26595         * modules/unicase/locale-language (unicase/locale-languages.h):
26596         Likewise.
26597         * modules/unicase/special-casing (unicase/special-casing-table.h):
26598         Likewise.
26599         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
26600         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
26601         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
26602         Reported by Ralf Wildenhues.
26603
26604 2009-05-03  Bruno Haible  <bruno@clisp.org>
26605
26606         * modules/fnmatch (Description, configure.ac): Taken from
26607         fnmatch-posix.
26608         * modules/fnmatch-posix: Turn into a symbolic reference to the
26609         'fnmatch' module, and deprecate.
26610         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
26611
26612 2009-05-03  Bruno Haible  <bruno@clisp.org>
26613
26614         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
26615         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
26616         Reported by Ralf Wildenhues.
26617
26618 2009-05-04  Simon Josefsson  <simon@josefsson.org>
26619
26620         * m4/fnmatch.m4: Fix fnmatch re-define.
26621
26622 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
26623
26624         priv-set: new module and tests; adapt write-any-file
26625         * lib/priv-set.c: New file.
26626         * lib/priv-set.h: New file.
26627         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
26628         * lib/write-any-file.c: Simplify by using priv-set module.
26629         * m4/priv-set.m4: New file.
26630         * modules/priv-set: New file.
26631         * modules/unlinkdir: Add dependency on priv-set module.
26632         * modules/write-any-file: Likewise.
26633
26634         Tests for module 'priv-set'.
26635         * modules/priv-set-tests: New file.
26636         * tests/test-priv-set.c: New file.
26637
26638 2009-05-03  Jim Meyering  <meyering@redhat.com>
26639             Bruno Haible  <bruno@clisp.org>
26640
26641         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
26642         use the converted UTF-8 variant of the name instead.
26643
26644 2009-05-03  Jim Meyering  <meyering@redhat.com>
26645
26646         tests: tighten some getdate tests
26647         * tests/test-getdate.c (main): Tighten tests: require equality,
26648         not just greater than.  Set TZ envvar to UTC0.
26649
26650 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
26651
26652         getdate: correctly interpret "next monday" when run on a Monday
26653         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
26654         that e.g., "next tues" (when run on a tuesday) results in a date
26655         that is one week in the future, and not today's date.
26656         I.e., add a week when the wday is the same as the current one.
26657         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
26658         and earlier by Martin Bernreuther and Jan Minář.
26659         * tests/test-getdate.c (main): Check that "next DAY" is always in
26660         the future and that "last DAY" is always in the past.
26661
26662 2009-05-02  Jim Meyering  <meyering@redhat.com>
26663
26664         build: ensure that a release build fails when a submodule is unclean
26665         * top/maint.mk (no-submodule-changes): New rule.
26666         (alpha beta major): Depend on it.
26667
26668 2009-05-02  Bruno Haible  <bruno@clisp.org>
26669
26670         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
26671         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
26672         shell variable gl_fnmatch_required to detect which variant is
26673         requested.
26674         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
26675         gl_FUNC_FNMATCH_POSIX.
26676         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
26677         exclude fnmatch-posix.
26678
26679 2009-05-02  Bruno Haible  <bruno@clisp.org>
26680
26681         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
26682         * modules/mbsrtowcs (License): Change to LGPLv2+.
26683         * modules/strnlen1 (License): Likewise.
26684         Reported by Simon Josefsson.
26685
26686 2009-05-02  Bruno Haible  <bruno@clisp.org>
26687
26688         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
26689         "cross".
26690         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
26691         gnulib-tool was called with option --source-base=lib.
26692
26693 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26694
26695         Use automake *-local hooks without commands, for extensibility.
26696         * modules/localcharset (Makefile.am): Rename install-exec-local
26697         rule to install-exec-localcharset, and make it a prerequisite of
26698         install-exec-local.  Likewise, rename the uninstall-local rule to
26699         uninstall-localcharset, and make it a prerequisite of the former.
26700
26701 2009-05-01  Bruno Haible  <bruno@clisp.org>
26702
26703         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
26704         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
26705         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
26706         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
26707         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
26708         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
26709         m4/locale-zh.m4, m4/codeset.m4.
26710
26711         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
26712         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
26713         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
26714         m4/locale-zh.m4.
26715
26716         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
26717         REPLACE_WCRTOMB if mbstate_t must be replaced.
26718         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
26719         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
26720
26721 2009-05-01  Bruno Haible  <bruno@clisp.org>
26722
26723         Avoid compiler warnings when redefining macros defined by <libintl.h>.
26724         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
26725         dngettext, dcngettext, textdomain, bindtextdomain,
26726         bind_textdomain_codeset): Undefine before redefining.
26727
26728 2009-04-30  Bruno Haible  <bruno@clisp.org>
26729
26730         Fix bug introduced on 2009-04-25.
26731         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
26732         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
26733         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
26734         is defined.
26735         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
26736         is defined.
26737         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
26738         is defined.
26739         Reported by Elbert_Pol <elbert.pol@gmail.com>.
26740
26741 2009-04-28  Bruno Haible  <bruno@clisp.org>
26742
26743         Comment tweaks.
26744         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
26745         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
26746         * lib/unicase.h (u*_casexfrm): Likewise.
26747         Reported by Paolo Bonzini.
26748
26749 2009-04-28  Bruno Haible  <bruno@clisp.org>
26750
26751         Fix a compilation error.
26752         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
26753         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
26754         Reported by Jim Meyering.
26755
26756 2009-04-27  Bruno Haible  <bruno@clisp.org>
26757
26758         New module 'libunistring'.
26759         * modules/libunistring: New file.
26760         * m4/libunistring.m4: New file.
26761         * MODULES.html.sh (Unicode string functions): Add it.
26762
26763 2009-04-27  Eric Blake  <ebb9@byu.net>
26764
26765         maint.mk: allow package-specific header to provide <config.h>
26766         * top/maint.mk (sc_require_config_h): New variable.
26767         (sc_require_config_h, sc_require_config_h_first): Use it.
26768
26769 2009-04-27  Simon Josefsson  <simon@josefsson.org>
26770
26771         * top/maint.mk (sc_avoid_if_before_free): Except
26772         useless-if-before-free script.
26773
26774 2009-04-27  Eric Blake  <ebb9@byu.net>
26775
26776         maintainer-makefile: depend on all required helper scripts
26777         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
26778         useless-if-before-free.
26779         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
26780         version, rather than assuming gnulib checkout is available.
26781         Reported by Simen Josefsson.
26782
26783 2009-04-26  Bruno Haible  <bruno@clisp.org>
26784
26785         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
26786         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
26787         "../" or "..".
26788
26789 2009-04-26  Bruno Haible  <bruno@clisp.org>
26790
26791         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
26792         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
26793         AC_LIB_HAVE_LINKFLAGS.
26794
26795 2009-04-26  Bruno Haible  <bruno@clisp.org>
26796
26797         Simplify calling convention of u*_conv_from_encoding.
26798         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
26799         u32_conv_from_encoding): Expect a resultbuf argument and return the
26800         result directly as a pointer.
26801         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
26802         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
26803         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
26804         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
26805         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
26806         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
26807         Update.
26808         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
26809         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
26810         * lib/vasnprintf.c (VASNPRINTF): Update.
26811         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
26812         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
26813         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
26814         * NEWS: Mention the change.
26815
26816 2009-04-26  Bruno Haible  <bruno@clisp.org>
26817
26818         Simplify calling convention of u*_conv_to_encoding.
26819         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
26820         u32_conv_to_encoding): Expect a resultbuf argument and return the
26821         result directly as a pointer.
26822         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
26823         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
26824         freeing scaled_offsets if mem_iconveha failed.
26825         * lib/unicase/u-casexfrm.h (FUNC): Update.
26826         * lib/uninorm/u-normxfrm.h (FUNC): Update.
26827         * lib/vasnprintf.c (VASNPRINTF): Update.
26828         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
26829         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
26830         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
26831         * NEWS: Mention the change.
26832
26833 2009-04-26  Bruno Haible  <bruno@clisp.org>
26834
26835         Avoid test failures on AIX and OSF/1.
26836         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
26837         malloc(0).
26838         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
26839         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
26840         Likewise.
26841         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
26842         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
26843         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
26844         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
26845         * doc/posix-functions/malloc.texi: Document the portability problem
26846         related to malloc(0).
26847
26848 2009-04-26  Bruno Haible  <bruno@clisp.org>
26849
26850         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
26851         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
26852         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
26853
26854 2009-04-25  Bruno Haible  <bruno@clisp.org>
26855
26856         Avoid link error when creating a namespace clean library.
26857         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
26858         as macro with arguments if already defined as an alias.
26859         * lib/signbitf.c (gl_signbitf): Don't undefine.
26860         * lib/signbitd.c (gl_signbitd): Don't undefine.
26861         * lib/signbitl.c (gl_signbitl): Don't undefine.
26862
26863 2009-04-25  Jim Meyering  <meyering@redhat.com>
26864
26865         vc-list-files: fix another quoting bug
26866         * build-aux/vc-list-files: Avoid sed backslash expansion
26867         of pathological directory names.
26868
26869 2009-04-25  Eric Blake  <ebb9@byu.net>
26870
26871         vc-list-files: fix shell quoting error
26872         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
26873         timestamp.
26874
26875 2009-04-25  Jim Meyering  <meyering@redhat.com>
26876
26877         vc-list-files: restore lost functionality with subdir argument
26878         * build-aux/vc-list-files: When given a non-"." sub-directory
26879         argument, substitute the $dir/ prefix back onto each resulting name.
26880         Otherwise, coreutils' root_tests check would fail.
26881
26882 2009-04-24  Eric Blake  <ebb9@byu.net>
26883
26884         vc-list-files: ignore git symlinks
26885         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
26886         than ls-files, to ignore git symlinks.
26887
26888         maint.mk: import improvements from m4
26889         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
26890         (move_if_change): Delete unused macro.
26891         (news-date-check, vc-diff-check): Support VPATH builds.
26892         (announcement): Likewise.  Split --bootstrap-tools list...
26893         (boostrap-tools): ...into separate list, which can be overridden
26894         in cfg.mk.
26895         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
26896         requiring dependency on useless-if-before-free module.
26897         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
26898         Support VPATH builds.
26899
26900 2009-04-24  Jim Meyering  <meyering@redhat.com>
26901
26902         maint.mk: remove coreutils-specific rules and variables
26903         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
26904         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
26905         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
26906
26907         maint.mk: remove obsolete rule
26908         * top/maint.mk (rel-check): Remove rule.
26909         (WGET, WGETFLAGS): Remove now-unused variables.
26910
26911 2009-04-24  Simon Josefsson  <simon@josefsson.org>
26912
26913         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
26914         consistency.
26915
26916         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
26917         '$(PATH_SEPARATOR)' instead of ':'.
26918
26919 2009-04-24  Simon Josefsson  <simon@josefsson.org>
26920
26921         * lib/getopt1.c (main): Use 'const' for static array.
26922
26923 2009-04-24  Simon Josefsson  <simon@josefsson.org>
26924
26925         * top/maint.mk: Sync with coreutils.
26926         * NEWS: Explain incompatibilities.
26927
26928 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26929             Bruno Haible  <bruno@clisp.org>
26930
26931         Fix cross-compilation results.
26932         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
26933         statement, as third argument of AC_TRY_RUN.
26934         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
26935         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
26936         Likewise.
26937         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
26938         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
26939         Likewise.
26940         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
26941         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
26942         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
26943
26944 2009-04-20  Bruno Haible  <bruno@clisp.org>
26945
26946         Avoid test failure on mingw.
26947         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
26948
26949 2009-04-20  Bruno Haible  <bruno@clisp.org>
26950
26951         Avoid compilation error on mingw.
26952         * modules/localename-tests (Depends-on): Add locale.
26953
26954 2009-04-19  Bruno Haible  <bruno@clisp.org>
26955
26956         Support for building a shared library on Windows platforms.
26957         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
26958         (main): Test the presence of UNINORM_NFC here.
26959         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
26960         (main): Test the presence of UNINORM_NFD here.
26961         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
26962         (main): Test the presence of UNINORM_NFKC here.
26963         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
26964         (main): Test the presence of UNINORM_NFKD here.
26965
26966 2009-04-19  Bruno Haible  <bruno@clisp.org>
26967
26968         Avoid a compiler warning.
26969         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
26970         Change type of variable 'sequence'.
26971
26972 2009-04-19  Bruno Haible  <bruno@clisp.org>
26973
26974         * modules/configmake (Makefile.am): When the contents of configmake.h
26975         does not change, arrange to preserve its modification time.
26976
26977 2009-04-17  Simon Josefsson  <simon@josefsson.org>
26978
26979         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
26980         gettext domain.
26981
26982 2009-04-16  Jim Meyering  <meyering@redhat.com>
26983
26984         useless-if-before-free: improve conversion code
26985         * build-aux/useless-if-before-free: Adjust code-in-comment to match
26986         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
26987
26988 2009-04-14  Bruno Haible  <bruno@clisp.org>
26989
26990         * modules/fcntl (Depends-on): Add extensions.
26991         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
26992
26993 2009-04-12  Ben Pfaff  <blp@gnu.org>
26994
26995         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
26996         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
26997
26998 2009-03-20  Ben Pfaff  <blp@gnu.org>
26999
27000         Make rename replace existing destinations on Windows.
27001         * m4/rename.m4: Add test for Mingw.
27002         * lib/rename.c: Add rename replacement that uses MoveFileEx with
27003         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
27004         * doc/posix-functions/rename.texi: Document.
27005
27006 2009-04-10  Bruno Haible  <bruno@clisp.org>
27007
27008         New include file "iconveh.h".
27009         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
27010         * lib/striconveh.h: Include it.
27011         (enum iconv_ilseq_handler): Remove definition.
27012         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
27013         striconveh.h.
27014         * lib/striconveha.c: Include striconveh.h.
27015         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
27016         * modules/striconveh (Files): Add lib/iconveh.h.
27017         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
27018         lib/striconveh.h.
27019
27020 2009-04-10  Bruno Haible  <bruno@clisp.org>
27021
27022         * lib/uniconv.h: Update comment.
27023
27024 2009-04-10  Bruno Haible  <bruno@clisp.org>
27025
27026         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
27027         always.
27028         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
27029         * lib/unistr/u16-mbtouc-aux.c: Likewise.
27030         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
27031         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
27032         "unistring-notinline.h", so that the function gets defined always.
27033         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
27034         * lib/unistr/u8-uctomb.c: Likewise.
27035         * lib/unistr/u16-mbtouc.c: Likewise.
27036         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
27037         * lib/unistr/u16-uctomb.c: Likewise.
27038         * lib/unistr/u32-mbtouc.c: Likewise.
27039         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
27040         * lib/unistr/u32-uctomb.c: Likewise.
27041
27042 2009-04-10  Bruno Haible  <bruno@clisp.org>
27043
27044         Mark 'utime' obsolete.
27045         * modules/utime (Status, Notice): New sections.
27046         Suggested by Jim Meyering.
27047
27048         Fix cross-compile guess for utime test.
27049         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
27050         autoconf.
27051         * doc/posix-functions/utime.texi: Give more precisions.
27052         Reported by Jan <ipif@ymail.com>.
27053
27054 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
27055
27056         filevercmp: correct today's change
27057         * lib/filevercmp.c: Also handle coreutils' test inputs.
27058         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
27059
27060         Fix regression in 'filevercmp' module. Thanks Sven Joachim
27061         for reporting it.
27062         * lib/filevercmp.c: Special handle for "", "." and "..".
27063         * tests/test-filevercmp.c: Enlarge the set suite.
27064
27065 2009-04-07  Jim Meyering  <meyering@redhat.com>
27066
27067         useless-if-before-free: show how to remove braced useless free, too
27068         * build-aux/useless-if-before-free: still only in a comment, though.
27069
27070 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
27071
27072         maint.mk: import changes to syntax-check macros from coreutils
27073         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
27074         Use them in the relevant macros.
27075
27076 2009-04-06  Bruno Haible  <bruno@clisp.org>
27077
27078         Fix unportable use of bit-fields.
27079         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
27080         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
27081         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
27082
27083 2009-04-06  Bruno Haible  <bruno@clisp.org>
27084
27085         Avoid test failures on AIX and OSF/1.
27086         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
27087         that malloc(0) = NULL.
27088         * tests/unicase/test-u8-tolower.c (check): Likewise.
27089         * tests/unicase/test-u8-totitle.c (check): Likewise.
27090         * tests/unicase/test-u8-toupper.c (check): Likewise.
27091         * tests/unicase/test-u16-casefold.c (check): Likewise.
27092         * tests/unicase/test-u16-tolower.c (check): Likewise.
27093         * tests/unicase/test-u16-totitle.c (check): Likewise.
27094         * tests/unicase/test-u16-toupper.c (check): Likewise.
27095         * tests/unicase/test-u32-casefold.c (check): Likewise.
27096         * tests/unicase/test-u32-tolower.c (check): Likewise.
27097         * tests/unicase/test-u32-totitle.c (check): Likewise.
27098         * tests/unicase/test-u32-toupper.c (check): Likewise.
27099         * tests/uninorm/test-u8-nfc.c (check): Likewise.
27100         * tests/uninorm/test-u8-nfd.c (check): Likewise.
27101         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
27102         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
27103         * tests/uninorm/test-u16-nfc.c (check): Likewise.
27104         * tests/uninorm/test-u16-nfd.c (check): Likewise.
27105         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
27106         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
27107         * tests/uninorm/test-u32-nfc.c (check): Likewise.
27108         * tests/uninorm/test-u32-nfd.c (check): Likewise.
27109         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
27110         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
27111
27112 2009-04-05  Bruno Haible  <bruno@clisp.org>
27113
27114         Work around an autoconf limitation.
27115         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
27116         comment line if it would be longer than 3 KB.
27117
27118 2009-04-05  Bruno Haible  <bruno@clisp.org>
27119
27120         Avoid test failure with libiconv-1.13.
27121         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
27122         of the expected test results.
27123
27124 2009-04-05  Bruno Haible  <bruno@clisp.org>
27125
27126         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
27127         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
27128         that it should be installed.
27129
27130 2009-04-05  Bruno Haible  <bruno@clisp.org>
27131
27132         * gnulib-tool: New option --copy-file.
27133         (func_usage): Document it.
27134         (func_dest_tmpfilename): Moved out of func_import.
27135         (func_add_file, func_update_file): New functions, extracted from
27136         func_import.
27137         (func_import): Update.
27138
27139 2009-04-05  Karl Berry  <karl@gnu.org>
27140
27141         * README: prominently mention gnulib-tool.
27142         Rearrange sections so getting the code is near the top.
27143
27144 2009-04-05  Bruno Haible  <bruno@clisp.org>
27145
27146         * lib/unicase.h: Mention u*_cmp2.
27147         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
27148         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
27149         * lib/unicase/ulc-casecmp.c: Likewise.
27150         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
27151         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
27152         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
27153         unistr/u8-cmp.
27154         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
27155         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
27156         unistr/u16-cmp.
27157         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
27158         unistr/u32-cmp.
27159
27160         * lib/uninorm.h: Mention u*_cmp2.
27161         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
27162         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
27163         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
27164         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
27165         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
27166         unistr/u8-cmp.
27167         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
27168         unistr/u16-cmp.
27169         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
27170         unistr/u32-cmp.
27171
27172         New module 'unistr/u32-cmp2'.
27173         * lib/unistr/u32-cmp2.c: New file.
27174         * modules/unistr/u32-cmp2: New file.
27175
27176         New module 'unistr/u16-cmp2'.
27177         * lib/unistr/u16-cmp2.c: New file.
27178         * modules/unistr/u16-cmp2: New file.
27179
27180         New module 'unistr/u8-cmp2'.
27181         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
27182         * lib/unistr/u8-cmp2.c: New file.
27183         * lib/unistr/u-cmp2.h: New file.
27184         * modules/unistr/u8-cmp2: New file.
27185
27186 2009-04-05  Bruno Haible  <bruno@clisp.org>
27187
27188         * lib/unictype.h (uc_property_is_valid): New macro.
27189         * tests/unictype/test-pr_byname.c (main): Use it.
27190
27191         * lib/unistr.h: Doc fixes.
27192         * lib/uniconv.h: Doc fixes.
27193         * lib/unictype.h: Doc fixes.
27194
27195 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
27196
27197         Port coreutils 7.2 to Solaris 8.
27198
27199         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
27200         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
27201         for Solaris 8.  This is a bit of a hack, as it means it's the
27202         caller's responsibility to add -lnsl if needed, but most likely it
27203         won't be needed since only getaddrinfo uses this and getaddrinfo
27204         isn't needed on Solaris 8.
27205
27206         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
27207         problem to Solaris 8 encountered with coreutils 7.2, which
27208         resulted in a message "fnmatch.c:292: warning: passing argument 4
27209         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
27210         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
27211
27212 2009-04-03  Simon Josefsson  <simon@josefsson.org>
27213
27214         * m4/ld-version-script.m4: Add FIXME comment.
27215
27216 2009-04-02  Simon Josefsson  <simon@josefsson.org>
27217
27218         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
27219         SOVERSION variable.
27220
27221 2009-04-02  Bruno Haible  <bruno@clisp.org>
27222
27223         * Makefile (info, html, dvi, pdf): Combine the rules.
27224         Suggested by Jim Meyering.
27225
27226 2009-04-01  Bruno Haible  <bruno@clisp.org>
27227
27228         * Makefile (info, html, dvi, pdf): New targets.
27229         Reported by Reuben Thomas <rrt@sc3d.org>.
27230
27231 2009-04-01  Bruno Haible  <bruno@clisp.org>
27232
27233         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
27234         can be put into PATH.
27235         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
27236
27237 2009-04-01  Bruno Haible  <bruno@clisp.org>
27238
27239         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
27240
27241 2009-04-01  Bruno Haible  <bruno@clisp.org>
27242
27243         Rename module 'visibility'.
27244         * modules/lib-symbol-visibility: Renamed from modules/visibility.
27245         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
27246         * doc/gnulib.texi: Update.
27247         * MODULES.html.sh (Misc): Update.
27248         * NEWS: Mention the change.
27249
27250 2009-04-01  Simon Josefsson  <simon@josefsson.org>
27251
27252         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
27253         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
27254         Eric Blake <ebb9@byu.net> for review.
27255         * MODULES.html.sh: Add lib-msvc-compat.
27256         * doc/gnulib.texi: Link to new section.
27257         * m4/ld-output-def.m4: New file.
27258         * doc/ld-output-def.texi: New file.
27259
27260 2009-04-01  Simon Josefsson  <simon@josefsson.org>
27261
27262         Rename ld-version-script to lib-symbol-versions.  Suggested by
27263         Bruno Haible <bruno@clisp.org>.
27264         * modules/ld-version-script: Renamed to lib-symbol-versions.
27265         * doc/ld-version-script.texi: Fix module name.
27266         * MODULES.html.sh: Add lib-symbol-versions.
27267
27268 2009-03-31  Simon Josefsson  <simon@josefsson.org>
27269
27270         * modules/u64-tests: New file.
27271         * tests/test-u64.c: New file.
27272
27273 2009-03-04  Simon Josefsson  <simon@josefsson.org>
27274
27275         * MODULES.html.sh: Mention u64.
27276         * modules/u64: New module.
27277         * modules/crypto/sha512: Depend on u64 module instead of providing
27278         u64.h.
27279
27280 2009-03-27  Eric Blake  <ebb9@byu.net>
27281
27282         test-strerror: make debugging EAI_SYSTEM easier
27283         * modules/getaddrinfo-tests (Depends-on): Add strerror.
27284         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
27285         failure was EAI_SYSTEM.
27286
27287 2009-03-25  Bruno Haible  <bruno@clisp.org>
27288
27289         Fix a problem with --enable-relocatable on Solaris 7.
27290         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
27291         since 2008-02-24.
27292
27293 2009-03-25  Eric Blake  <ebb9@byu.net>
27294
27295         test-sockets: avoid gcc warning
27296         * tests/test-sockets.c (main): Silence compiler warning.
27297
27298 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
27299
27300         New modules nproc, pthread, contributed by Glen Lenker.
27301
27302         * MODULES.html.sh: Add pthread, nproc.
27303         * lib/nproc.c: New file.
27304         * lib/nproc.h: New file.
27305         * lib/pthread.in.h: New file.
27306         * m4/pthread.m4: New file.
27307         * modules/nproc: New file.
27308         * modules/pthread: New file.
27309
27310 2009-03-24  Simon Josefsson  <simon@josefsson.org>
27311
27312         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
27313         New variable.
27314
27315 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
27316
27317         filevercmp: handle simple~ and numbered.~3~ backup suffixes
27318         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
27319         * tests/test-filevercmp.c: Add tests for backup suffixes.
27320
27321 2009-03-24  Simon Josefsson  <simon@josefsson.org>
27322
27323         * modules/stdlib (Depends-on): Add stdint, needed when defining
27324         struct random_data on, for example, HP-UX 10.20.  Reported by
27325         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
27326
27327 2009-03-24  Simon Josefsson  <simon@josefsson.org>
27328
27329         * lib/readline.c (readline): Call fflush on stdout after printing
27330         prompt.
27331
27332 2009-03-20  Bruno Haible  <bruno@clisp.org>
27333
27334         Remove dependency from 'close' module to -lws2_32 on native Windows.
27335         * lib/close-hook.h: New file.
27336         * lib/close-hook.c: New file.
27337         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
27338         w32sock.h.
27339         (_gl_close_fd_maybe_socket): Remove function.
27340         (rpl_close): Invoke execute_all_close_hooks instead of
27341         _gl_close_fd_maybe_socket.
27342         * lib/sockets.c: Include close-hook.h, w32sock.h.
27343         (close_fd_maybe_socket): New function, essentially from lib/close.c.
27344         (close_sockets_hook): New variable.
27345         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
27346         (gl_sockets_cleanup): Unregister it.
27347         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
27348         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
27349         * modules/close-hook: New file.
27350         * modules/close (Files): Remove lib/w32sock.h.
27351         (Depends-on): Add close-hook.
27352         (Link): Remove section.
27353         * modules/sockets (Files): Add lib/w32sock.h.
27354         (Depends-on): Add close-hook.
27355         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
27356         invocation.
27357         * NEWS: Mention that LIB_CLOSE is gone.
27358
27359 2009-03-23  Eric Blake  <ebb9@byu.net>
27360
27361         signal-tests: test previous patch
27362         * tests/test-signal.c: New file.
27363         * modules/signal-tests: Likewise.
27364
27365         signal.h: always support 'volatile sig_atomic_t'
27366         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
27367         (gl_SIGNAL_H_DEFAULTS): Add a default.
27368         * modules/signal (Makefile.am): Substitute if needed.
27369         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
27370         users can blindly add volatile.
27371         * doc/posix-headers/signal.texi (signal.h): Document it.
27372         Reported by Matthew Woehlke.
27373
27374 2009-03-23  Jim Meyering  <meyering@redhat.com>
27375
27376         pathmax: PATH_MAX: use pathconf only when available
27377         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
27378         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
27379         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
27380         This avoids a link failure in a PSP cross-compilation environment
27381         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
27382
27383         * lib/vasnprintf.c (divide): Fix typo in comment.
27384
27385 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27386
27387         * gnulib-tool (func_filter_filelist): Fix comment.
27388
27389 2009-03-20  Bruno Haible  <bruno@clisp.org>
27390
27391         Make sockets.h self-contained.
27392         * lib/sockets.c: Include sockets.h first.
27393         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
27394
27395 2009-03-19  Eric Blake  <ebb9@byu.net>
27396
27397         doc: mention more functions added in cygwin 1.7.0
27398         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
27399         addition.
27400         * doc/posix-functions/log2f.texi: Likewise.
27401
27402 2009-03-19  Jim Meyering  <meyering@redhat.com>
27403
27404         fsusage: avoid syntax error due to statement-before-declaration
27405         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
27406         after all declarations.  Reported by Matthew Woehlke in
27407         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
27408
27409 2009-03-18  Eric Blake  <ebb9@byu.net>
27410
27411         build-aux/compile: sync from automake
27412         * build-aux/compile: New file, from automake.
27413         * config/srclist.txt: Mention build-aux/compile.
27414
27415 2009-03-17  Bruno Haible  <bruno@clisp.org>
27416
27417         * lib/git-merge-changelog.c: Fix typo in comment.
27418         Reported by Reuben Thomas <rrt@sc3d.org>.
27419
27420 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
27421
27422         * m4/regex.m4: update and improve help for
27423         --without-included-regex.
27424
27425 2009-03-17  Simon Josefsson  <simon@josefsson.org>
27426
27427         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
27428         failure on missing include files.
27429
27430 2009-03-17  Eric Blake  <ebb9@byu.net>
27431
27432         doc: mention more functions added in cygwin 1.7.0
27433         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
27434         addition.
27435         * doc/posix-functions/fwscanf.texi: Likewise.
27436         * doc/posix-functions/swprintf.texi: Likewise.
27437         * doc/posix-functions/swscanf.texi: Likewise.
27438         * doc/posix-functions/vfwprintf.texi: Likewise.
27439         * doc/posix-functions/vfwscanf.texi: Likewise.
27440         * doc/posix-functions/vswprintf.texi: Likewise.
27441         * doc/posix-functions/vswscanf.texi: Likewise.
27442         * doc/posix-functions/vwprintf.texi: Likewise.
27443         * doc/posix-functions/vwscanf.texi: Likewise.
27444         * doc/posix-functions/wcscasecmp.texi: Likewise.
27445         * doc/posix-functions/wcsdup.texi: Likewise.
27446         * doc/posix-functions/wcsftime.texi: Likewise.
27447         * doc/posix-functions/wcsncasecmp.texi: Likewise.
27448         * doc/posix-functions/wprintf.texi: Likewise.
27449         * doc/posix-functions/wscanf.texi: Likewise.
27450         * doc/glibc-functions/gethostbyname2.texi: Likewise.
27451
27452 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27453
27454         maint.mk: really add $(AM_MAKEFLAGS)
27455         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
27456         was inadvertently omitted in the last commit.
27457         Spotted by Bruno Haible.
27458
27459         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
27460         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
27461         $(AM_MAKEFLAGS)' rather than plain `make'.
27462
27463         gnulib-tool: execute $MAKE not make
27464         * gnulib-tool: Default $MAKE to 'make'.
27465         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
27466         than make.  Initialize $MAKE in the do-autobuild script.
27467
27468         gnulib-tool: use $MAKE not make in generated files
27469         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
27470         make, in generated files.  Initialize $MAKE in the do-autobuild
27471         script.
27472
27473         * top/GNUmakefile (_have-git-version-gen): Fix typo.
27474
27475         GNUmakefile: disable parallelism only for multiple, recursive targets
27476         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
27477         additions in the Makefile.
27478         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
27479         by Automake.
27480         (.NOTPARALLEL): Only disable parallel builds if multiple targets
27481         are listed on the command line and at least one of them is
27482         listed in $(ALL_RECURSIVE_TARGETS).
27483
27484 2009-03-14  Bruno Haible  <bruno@clisp.org>
27485
27486         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
27487         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
27488         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
27489         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
27490         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
27491         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
27492         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
27493         unistr/u8-uctomb.
27494         * modules/unistr/u8-strchr (Depends-on): Likewise.
27495         * modules/unistr/u8-strrchr (Depends-on): Likewise.
27496         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
27497         unistr/u16-uctomb.
27498         * modules/unistr/u16-strchr (Depends-on): Likewise.
27499         * modules/unistr/u16-strrchr (Depends-on): Likewise.
27500
27501 2009-03-12  Bruno Haible  <bruno@clisp.org>
27502
27503         Work around select() bug on Interix 3.5.
27504         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
27505         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
27506         * m4/select.m4: New file.
27507         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
27508         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
27509         * modules/select (Files): Add m4/select.m4.
27510         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
27511         * modules/nanosleep (Depends-on): Add select.
27512         * modules/poll (Depends-on): Likewise.
27513         * doc/posix-functions/select.texi: Mention the Interix bug.
27514         Reported by Markus Duft <mduft@gentoo.org>.
27515
27516         * lib/select.c: Renamed from lib/winsock-select.c.
27517         * modules/select (Files): Add lib/select.c, remove
27518         lib/winsock-select.c.
27519         (configure.ac): Update.
27520
27521 2009-03-12  Jim Meyering  <meyering@redhat.com>
27522
27523         avoid gcc warnings about unused macro definitions
27524         * lib/readtokens.c (STREQ): Remove unused definition.
27525         * lib/xmalloc.c (SIZE_MAX): Likewise.
27526         * lib/openat-die.c (N_): Likewise.
27527         * lib/mountlist.c (SIZE_MAX): Remove definition.
27528         Instead, include <stdint.h>.
27529         * lib/readutmp.c: Likewise.
27530         * modules/readutmp (Depends-on): Add stdint.
27531         * modules/mountlist (Depends-on): Add stdint.
27532         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
27533
27534 2009-03-10  Bruno Haible  <bruno@clisp.org>
27535
27536         Tests for module 'mbmemcasecoll'.
27537         * modules/mbmemcasecoll-tests: New file.
27538         * tests/test-mbmemcasecoll1.sh: New file.
27539         * tests/test-mbmemcasecoll2.sh: New file.
27540         * tests/test-mbmemcasecoll3.sh: New file.
27541         * tests/test-mbmemcasecoll.c: New file.
27542
27543         New module 'mbmemcasecoll'.
27544         * lib/mbmemcasecoll.h: New file.
27545         * lib/mbmemcasecoll.c: New file.
27546         * modules/mbmemcasecoll: New file.
27547
27548         * tests/test-mbmemcasecmp.h: New file, extracted from
27549         tests/test-mbmemcasecmp.c.
27550         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
27551         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
27552         (main): Update.
27553         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
27554
27555 2009-03-09  Bruno Haible  <bruno@clisp.org>
27556
27557         Tests for module 'mbmemcasecmp'.
27558         * modules/mbmemcasecmp-tests: New file.
27559         * tests/test-mbmemcasecmp1.sh: New file.
27560         * tests/test-mbmemcasecmp2.sh: New file.
27561         * tests/test-mbmemcasecmp3.sh: New file.
27562         * tests/test-mbmemcasecmp.c: New file.
27563
27564         New module 'mbmemcasecmp'.
27565         * lib/mbmemcasecmp.h: New file.
27566         * lib/mbmemcasecmp.c: New file.
27567         * modules/mbmemcasecmp: New file.
27568
27569 2009-03-09  Bruno Haible  <bruno@clisp.org>
27570
27571         Tests for module 'unicase/ulc-casecoll'.
27572         * modules/unicase/ulc-casecoll-tests: New file.
27573         * tests/unicase/test-ulc-casecoll1.sh: New file.
27574         * tests/unicase/test-ulc-casecoll2.sh: New file.
27575         * tests/unicase/test-ulc-casecoll.c: New file.
27576
27577         New module 'unicase/ulc-casecoll'.
27578         * lib/unicase.h (ulc_casecoll): New declaration.
27579         * lib/unicase/ulc-casecoll.c: New file.
27580         * modules/unicase/ulc-casecoll: New file.
27581
27582         New module 'unicase/ulc-casexfrm'.
27583         * lib/unicase.h (ulc_casexfrm): New declaration.
27584         * lib/unicase/ulc-casexfrm.c: New file.
27585         * modules/unicase/ulc-casexfrm: New file.
27586
27587 2009-03-09  Bruno Haible  <bruno@clisp.org>
27588
27589         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
27590         invocations.
27591
27592         * m4/mbscasecmp.m4: Remove file.
27593         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
27594         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
27595
27596         * m4/mbscasestr.m4: Remove file.
27597         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
27598         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
27599
27600         * m4/mbschr.m4: Remove file.
27601         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
27602         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
27603
27604         * m4/mbscspn.m4: Remove file.
27605         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
27606         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
27607
27608         * m4/mbslen.m4: Remove file.
27609         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
27610         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
27611
27612         * m4/mbsncasecmp.m4: Remove file.
27613         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
27614         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
27615
27616         * m4/mbsnlen.m4: Remove file.
27617         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
27618         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
27619
27620         * m4/mbspbrk.m4: Remove file.
27621         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
27622         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
27623
27624         * m4/mbspcasecmp.m4: Remove file.
27625         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
27626         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
27627
27628         * m4/mbsrchr.m4: Remove file.
27629         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
27630         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
27631
27632         * m4/mbssep.m4: Remove file.
27633         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
27634         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
27635
27636         * m4/mbsspn.m4: Remove file.
27637         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
27638         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
27639
27640         * m4/mbsstr.m4: Remove file.
27641         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
27642         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
27643
27644         * m4/mbstok_r.m4: Remove file.
27645         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
27646         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
27647
27648         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
27649
27650         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
27651         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
27652
27653         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
27654
27655 2009-03-08  Bruno Haible  <bruno@clisp.org>
27656
27657         Tests for module 'unicase/ulc-casecmp'.
27658         * modules/unicase/ulc-casecmp-tests: New file.
27659         * tests/unicase/test-ulc-casecmp1.sh: New file.
27660         * tests/unicase/test-ulc-casecmp2.sh: New file.
27661         * tests/unicase/test-ulc-casecmp.c: New file.
27662
27663         New module 'unicase/ulc-casecmp'.
27664         * lib/unicase.h (ulc_casecmp): New declaration.
27665         * lib/unicase/ulc-casecmp.c: New file.
27666         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
27667         'const SRC_UNIT *'.
27668         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
27669         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
27670         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
27671         * modules/unicase/ulc-casecmp: New file.
27672
27673         Tests for module 'unicase/u32-is-cased'.
27674         * modules/unicase/u32-is-cased-tests: New file.
27675         * tests/unicase/test-u32-is-cased.c: New file.
27676
27677         Tests for module 'unicase/u16-is-cased'.
27678         * modules/unicase/u16-is-cased-tests: New file.
27679         * tests/unicase/test-u16-is-cased.c: New file.
27680
27681         Tests for module 'unicase/u8-is-cased'.
27682         * modules/unicase/u8-is-cased-tests: New file.
27683         * tests/unicase/test-u8-is-cased.c: New file.
27684         * tests/unicase/test-is-cased.h: New file.
27685
27686         New module 'unicase/u32-is-cased'.
27687         * lib/unicase/u32-is-cased.c: New file.
27688         * modules/unicase/u32-is-cased: New file.
27689
27690         New module 'unicase/u16-is-cased'.
27691         * lib/unicase/u16-is-cased.c: New file.
27692         * modules/unicase/u16-is-cased: New file.
27693
27694         New module 'unicase/u8-is-cased'.
27695         * lib/unicase/u8-is-cased.c: New file.
27696         * lib/unicase/u-is-cased.h: New file.
27697         * modules/unicase/u8-is-cased: New file.
27698
27699         Tests for module 'unicase/u32-is-casefolded'.
27700         * modules/unicase/u32-is-casefolded-tests: New file.
27701         * tests/unicase/test-u32-is-casefolded.c: New file.
27702
27703         Tests for module 'unicase/u16-is-casefolded'.
27704         * modules/unicase/u16-is-casefolded-tests: New file.
27705         * tests/unicase/test-u16-is-casefolded.c: New file.
27706
27707         Tests for module 'unicase/u8-is-casefolded'.
27708         * modules/unicase/u8-is-casefolded-tests: New file.
27709         * tests/unicase/test-u8-is-casefolded.c: New file.
27710         * tests/unicase/test-is-casefolded.h: New file.
27711
27712         New module 'unicase/u32-is-casefolded'.
27713         * lib/unicase/u32-is-casefolded.c: New file.
27714         * modules/unicase/u32-is-casefolded: New file.
27715
27716         New module 'unicase/u16-is-casefolded'.
27717         * lib/unicase/u16-is-casefolded.c: New file.
27718         * modules/unicase/u16-is-casefolded: New file.
27719
27720         New module 'unicase/u8-is-casefolded'.
27721         * lib/unicase/u8-is-casefolded.c: New file.
27722         * modules/unicase/u8-is-casefolded: New file.
27723
27724         Tests for module 'unicase/u32-is-titlecase'.
27725         * modules/unicase/u32-is-titlecase-tests: New file.
27726         * tests/unicase/test-u32-is-titlecase.c: New file.
27727
27728         Tests for module 'unicase/u16-is-titlecase'.
27729         * modules/unicase/u16-is-titlecase-tests: New file.
27730         * tests/unicase/test-u16-is-titlecase.c: New file.
27731
27732         Tests for module 'unicase/u8-is-titlecase'.
27733         * modules/unicase/u8-is-titlecase-tests: New file.
27734         * tests/unicase/test-u8-is-titlecase.c: New file.
27735         * tests/unicase/test-is-titlecase.h: New file.
27736
27737         New module 'unicase/u32-is-titlecase'.
27738         * lib/unicase/u32-is-titlecase.c: New file.
27739         * modules/unicase/u32-is-titlecase: New file.
27740
27741         New module 'unicase/u16-is-titlecase'.
27742         * lib/unicase/u16-is-titlecase.c: New file.
27743         * modules/unicase/u16-is-titlecase: New file.
27744
27745         New module 'unicase/u8-is-titlecase'.
27746         * lib/unicase/u8-is-titlecase.c: New file.
27747         * modules/unicase/u8-is-titlecase: New file.
27748
27749         Tests for module 'unicase/u32-is-lowercase'.
27750         * modules/unicase/u32-is-lowercase-tests: New file.
27751         * tests/unicase/test-u32-is-lowercase.c: New file.
27752
27753         Tests for module 'unicase/u16-is-lowercase'.
27754         * modules/unicase/u16-is-lowercase-tests: New file.
27755         * tests/unicase/test-u16-is-lowercase.c: New file.
27756
27757         Tests for module 'unicase/u8-is-lowercase'.
27758         * modules/unicase/u8-is-lowercase-tests: New file.
27759         * tests/unicase/test-u8-is-lowercase.c: New file.
27760         * tests/unicase/test-is-lowercase.h: New file.
27761
27762         New module 'unicase/u32-is-lowercase'.
27763         * lib/unicase/u32-is-lowercase.c: New file.
27764         * modules/unicase/u32-is-lowercase: New file.
27765
27766         New module 'unicase/u16-is-lowercase'.
27767         * lib/unicase/u16-is-lowercase.c: New file.
27768         * modules/unicase/u16-is-lowercase: New file.
27769
27770         New module 'unicase/u8-is-lowercase'.
27771         * lib/unicase/u8-is-lowercase.c: New file.
27772         * modules/unicase/u8-is-lowercase: New file.
27773
27774         Tests for module 'unicase/u32-is-uppercase'.
27775         * modules/unicase/u32-is-uppercase-tests: New file.
27776         * tests/unicase/test-u32-is-uppercase.c: New file.
27777
27778         Tests for module 'unicase/u16-is-uppercase'.
27779         * modules/unicase/u16-is-uppercase-tests: New file.
27780         * tests/unicase/test-u16-is-uppercase.c: New file.
27781
27782         Tests for module 'unicase/u8-is-uppercase'.
27783         * modules/unicase/u8-is-uppercase-tests: New file.
27784         * tests/unicase/test-u8-is-uppercase.c: New file.
27785         * tests/unicase/test-is-uppercase.h: New file.
27786
27787         New module 'unicase/u32-is-uppercase'.
27788         * lib/unicase/u32-is-uppercase.c: New file.
27789         * modules/unicase/u32-is-uppercase: New file.
27790
27791         New module 'unicase/u16-is-uppercase'.
27792         * lib/unicase/u16-is-uppercase.c: New file.
27793         * modules/unicase/u16-is-uppercase: New file.
27794
27795         New module 'unicase/u8-is-uppercase'.
27796         * lib/unicase/u8-is-uppercase.c: New file.
27797         * modules/unicase/u8-is-uppercase: New file.
27798
27799         New module 'unicase/u32-is-invariant'.
27800         * lib/unicase/u32-is-invariant.c: New file.
27801         * modules/unicase/u32-is-invariant: New file.
27802
27803         New module 'unicase/u16-is-invariant'.
27804         * lib/unicase/u16-is-invariant.c: New file.
27805         * modules/unicase/u16-is-invariant: New file.
27806
27807         New module 'unicase/u8-is-invariant'.
27808         * lib/unicase/u8-is-invariant.c: New file.
27809         * lib/unicase/invariant.h: New file.
27810         * lib/unicase/u-is-invariant.h: New file.
27811         * modules/unicase/u8-is-invariant: New file.
27812
27813         Tests for module 'unicase/u32-casecoll'.
27814         * modules/unicase/u32-casecoll-tests: New file.
27815         * tests/unicase/test-u32-casecoll.c: New file.
27816
27817         Tests for module 'unicase/u16-casecoll'.
27818         * modules/unicase/u16-casecoll-tests: New file.
27819         * tests/unicase/test-u16-casecoll.c: New file.
27820
27821         Tests for module 'unicase/u8-casecoll'.
27822         * modules/unicase/u8-casecoll-tests: New file.
27823         * tests/unicase/test-u8-casecoll.c: New file.
27824
27825         New module 'unicase/u32-casecoll'.
27826         * lib/unicase/u32-casecoll.c: New file.
27827         * modules/unicase/u32-casecoll: New file.
27828
27829         New module 'unicase/u16-casecoll'.
27830         * lib/unicase/u16-casecoll.c: New file.
27831         * modules/unicase/u16-casecoll: New file.
27832
27833         New module 'unicase/u8-casecoll'.
27834         * lib/unicase/u8-casecoll.c: New file.
27835         * lib/unicase/u-casecoll.h: New file.
27836         * modules/unicase/u8-casecoll: New file.
27837
27838         New module 'unicase/u32-casexfrm'.
27839         * lib/unicase/u32-casexfrm.c: New file.
27840         * modules/unicase/u32-casexfrm: New file.
27841
27842         New module 'unicase/u16-casexfrm'.
27843         * lib/unicase/u16-casexfrm.c: New file.
27844         * modules/unicase/u16-casexfrm: New file.
27845
27846         New module 'unicase/u8-casexfrm'.
27847         * lib/unicase/u8-casexfrm.c: New file.
27848         * lib/unicase/u-casexfrm.h: New file.
27849         * modules/unicase/u8-casexfrm: New file.
27850
27851         Tests for module 'unicase/u32-casecmp'.
27852         * modules/unicase/u32-casecmp-tests: New file.
27853         * tests/unicase/test-u32-casecmp.c: New file.
27854
27855         Tests for module 'unicase/u16-casecmp'.
27856         * modules/unicase/u16-casecmp-tests: New file.
27857         * tests/unicase/test-u16-casecmp.c: New file.
27858
27859         Tests for module 'unicase/u8-casecmp'.
27860         * modules/unicase/u8-casecmp-tests: New file.
27861         * tests/unicase/test-u8-casecmp.c: New file.
27862         * tests/unicase/test-casecmp.h: New file.
27863
27864         New module 'unicase/u32-casecmp'.
27865         * lib/unicase/u32-casecmp.c: New file.
27866         * modules/unicase/u32-casecmp: New file.
27867
27868         New module 'unicase/u16-casecmp'.
27869         * lib/unicase/u16-casecmp.c: New file.
27870         * modules/unicase/u16-casecmp: New file.
27871
27872         New module 'unicase/u8-casecmp'.
27873         * lib/unicase/u8-casecmp.c: New file.
27874         * lib/unicase/u-casecmp.h: New file.
27875         * modules/unicase/u8-casecmp: New file.
27876
27877         Tests for module 'unicase/u32-casefold'.
27878         * modules/unicase/u32-casefold-tests: New file.
27879         * tests/unicase/test-u32-casefold.c: New file.
27880
27881         Tests for module 'unicase/u16-casefold'.
27882         * modules/unicase/u16-casefold-tests: New file.
27883         * tests/unicase/test-u16-casefold.c: New file.
27884
27885         Tests for module 'unicase/u8-casefold'.
27886         * modules/unicase/u8-casefold-tests: New file.
27887         * tests/unicase/test-u8-casefold.c: New file.
27888
27889         New module 'unicase/u32-casefold'.
27890         * lib/unicase/u32-casefold.c: New file.
27891         * modules/unicase/u32-casefold: New file.
27892
27893         New module 'unicase/u16-casefold'.
27894         * lib/unicase/u16-casefold.c: New file.
27895         * modules/unicase/u16-casefold: New file.
27896
27897         New module 'unicase/u8-casefold'.
27898         * lib/unicase/u8-casefold.c: New file.
27899         * lib/unicase/u-casefold.h: New file.
27900         * modules/unicase/u8-casefold: New file.
27901
27902         New module 'unicase/tocasefold'.
27903         * lib/unicase/casefold.h: New file.
27904         * lib/unicase/tocasefold.c: New file.
27905         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
27906         * modules/unicase/tocasefold: New file.
27907
27908         Tests for module 'unicase/u32-totitle'.
27909         * modules/unicase/u32-totitle-tests: New file.
27910         * tests/unicase/test-u32-totitle.c: New file.
27911
27912         Tests for module 'unicase/u16-totitle'.
27913         * modules/unicase/u16-totitle-tests: New file.
27914         * tests/unicase/test-u16-totitle.c: New file.
27915
27916         Tests for module 'unicase/u8-totitle'.
27917         * modules/unicase/u8-totitle-tests: New file.
27918         * tests/unicase/test-u8-totitle.c: New file.
27919
27920         New module 'unicase/u32-totitle'.
27921         * lib/unicase/u32-totitle.c: New file.
27922         * modules/unicase/u32-totitle: New file.
27923
27924         New module 'unicase/u16-totitle'.
27925         * lib/unicase/u16-totitle.c: New file.
27926         * modules/unicase/u16-totitle: New file.
27927
27928         New module 'unicase/u8-totitle'.
27929         * lib/unicase/u8-totitle.c: New file.
27930         * lib/unicase/u-totitle.h: New file.
27931         * modules/unicase/u8-totitle: New file.
27932
27933         Tests for module 'unicase/u32-tolower'.
27934         * modules/unicase/u32-tolower-tests: New file.
27935         * tests/unicase/test-u32-tolower.c: New file.
27936
27937         Tests for module 'unicase/u16-tolower'.
27938         * modules/unicase/u16-tolower-tests: New file.
27939         * tests/unicase/test-u16-tolower.c: New file.
27940
27941         Tests for module 'unicase/u8-tolower'.
27942         * modules/unicase/u8-tolower-tests: New file.
27943         * tests/unicase/test-u8-tolower.c: New file.
27944
27945         New module 'unicase/u32-tolower'.
27946         * lib/unicase/u32-tolower.c: New file.
27947         * modules/unicase/u32-tolower: New file.
27948
27949         New module 'unicase/u16-tolower'.
27950         * lib/unicase/u16-tolower.c: New file.
27951         * modules/unicase/u16-tolower: New file.
27952
27953         New module 'unicase/u8-tolower'.
27954         * lib/unicase/u8-tolower.c: New file.
27955         * modules/unicase/u8-tolower: New file.
27956
27957         Tests for module 'unicase/u32-toupper'.
27958         * modules/unicase/u32-toupper-tests: New file.
27959         * tests/unicase/test-u32-toupper.c: New file.
27960
27961         Tests for module 'unicase/u16-toupper'.
27962         * modules/unicase/u16-toupper-tests: New file.
27963         * tests/unicase/test-u16-toupper.c: New file.
27964
27965         Tests for module 'unicase/u8-toupper'.
27966         * modules/unicase/u8-toupper-tests: New file.
27967         * tests/unicase/test-u8-toupper.c: New file.
27968
27969         New module 'unicase/u32-toupper'.
27970         * lib/unicase/u32-toupper.c: New file.
27971         * modules/unicase/u32-toupper: New file.
27972
27973         New module 'unicase/u16-toupper'.
27974         * lib/unicase/u16-toupper.c: New file.
27975         * modules/unicase/u16-toupper: New file.
27976
27977         New module 'unicase/u8-toupper'.
27978         * lib/unicase/u8-toupper.c: New file.
27979         * modules/unicase/u8-toupper: New file.
27980
27981         New module 'unicase/u32-casemap'.
27982         * lib/unicase/u32-casemap.c: New file.
27983         * modules/unicase/u32-casemap: New file.
27984
27985         New module 'unicase/u16-casemap'.
27986         * lib/unicase/u16-casemap.c: New file.
27987         * modules/unicase/u16-casemap: New file.
27988
27989         New module 'unicase/u8-casemap'.
27990         * lib/unicase/unicasemap.h: New file.
27991         * lib/unicase/u8-casemap.c: New file.
27992         * lib/unicase/u-casemap.h: New file.
27993         * modules/unicase/u8-casemap: New file.
27994
27995         New module 'unicase/special-casing'.
27996         * lib/unicase/special-casing.h: New file.
27997         * lib/unicase/special-casing.c: New file.
27998         * lib/unicase/special-casing-table.gperf: New file, generated by
27999         gen-uni-tables.c.
28000         * modules/unicase/special-casing: New file.
28001
28002         Tests for module 'unicase/locale-language'.
28003         * modules/unicase/locale-language-tests: New file.
28004         * tests/unicase/test-locale-language.sh: New file.
28005         * tests/unicase/test-locale-language.c: New file.
28006
28007         New module 'unicase/locale-language'.
28008         * lib/unicase/locale-language.c: New file.
28009         * lib/unicase/locale-languages.gperf: New file.
28010         * modules/unicase/locale-language: New file.
28011
28012         Generate more tables for case conversion and case folding.
28013         * lib/gen-uni-tables.c (SCC_*): New enum items.
28014         (struct special_casing_rule): New type.
28015         (casing_rules, num_casing_rules, allocated_casing_rules): New
28016         variables.
28017         (add_casing_rule, fill_casing_rules): New functions.
28018         (struct casefold_rule): New type.
28019         (casefolding_rules, num_casefolding_rules,
28020         allocated_casefolding_rules): New variables.
28021         (fill_casefolding_rules): New function.
28022         (unicode_casefold): New variable.
28023         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
28024         sort_casing_rules, output_casing_rules): New functions.
28025         (main): Accept to more arguments: SpecialCasing.txt and
28026         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
28027         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
28028         Output mapping for casefolding.
28029
28030         * lib/unicase.h: Include stdbool.h, uninorm.h.
28031         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
28032         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
28033         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
28034         arguments.
28035         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
28036         resultp arguments.
28037         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
28038         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
28039         resultp arguments.
28040         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
28041         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
28042         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
28043         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
28044         declarations.
28045         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
28046
28047 2009-03-08  Bruno Haible  <bruno@clisp.org>
28048
28049         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
28050         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
28051         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
28052         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
28053
28054 2009-03-07  Bruno Haible  <bruno@clisp.org>
28055
28056         Adjust u*_normcmp, u*_normcoll API.
28057         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
28058         u16_normcoll, u32_normcoll): Change failure conventions.
28059         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
28060         errno and return -1.
28061         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
28062
28063 2009-03-07  Bruno Haible  <bruno@clisp.org>
28064
28065         Tests for module 'uninorm/u32-normcoll'.
28066         * modules/uninorm/u32-normcoll-tests: New file.
28067         * tests/uninorm/test-u32-normcoll.c: New file.
28068
28069         Tests for module 'uninorm/u16-normcoll'.
28070         * modules/uninorm/u16-normcoll-tests: New file.
28071         * tests/uninorm/test-u16-normcoll.c: New file.
28072
28073         Tests for module 'uninorm/u8-normcoll'.
28074         * modules/uninorm/u8-normcoll-tests: New file.
28075         * tests/uninorm/test-u8-normcoll.c: New file.
28076
28077 2009-03-07  Bruno Haible  <bruno@clisp.org>
28078
28079         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
28080         tests/uninorm/test-u32-normcmp.c.
28081         * tests/uninorm/test-u32-normcmp.c: Include it.
28082         (test_nonascii): New function, extracted from main. Add some more
28083         tests.
28084         (main): Invoke test_ascii and test_nonascii.
28085         * modules/uninorm/u32-normcmp-tests (Files): Add
28086         tests/uninorm/test-u32-normcmp.h.
28087         (Depends-on): Remove uninorm/u32-normcmp.
28088
28089         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
28090         tests/uninorm/test-u16-normcmp.c.
28091         * tests/uninorm/test-u16-normcmp.c: Include it.
28092         (test_nonascii): New function, extracted from main. Add some more
28093         tests.
28094         (main): Invoke test_ascii and test_nonascii.
28095         * modules/uninorm/u16-normcmp-tests (Files): Add
28096         tests/uninorm/test-u16-normcmp.h.
28097         (Depends-on): Remove uninorm/u16-normcmp.
28098
28099         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
28100         tests/uninorm/test-u8-normcmp.c.
28101         * tests/uninorm/test-u8-normcmp.c: Include it.
28102         (test_nonascii): New function, extracted from main. Add some more
28103         tests.
28104         (main): Invoke test_ascii and test_nonascii.
28105         * modules/uninorm/u8-normcmp-tests (Files): Add
28106         tests/uninorm/test-u8-normcmp.h.
28107         (Depends-on): Remove uninorm/u8-normcmp.
28108
28109 2009-03-07  Bruno Haible  <bruno@clisp.org>
28110
28111         New module 'uninorm/u32-normcoll'.
28112         * lib/uninorm/u32-normcoll.c: New file.
28113         * modules/uninorm/u32-normcoll: New file.
28114
28115         New module 'uninorm/u16-normcoll'.
28116         * lib/uninorm/u16-normcoll.c: New file.
28117         * modules/uninorm/u16-normcoll: New file.
28118
28119         New module 'uninorm/u8-normcoll'.
28120         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
28121         declarations.
28122         * lib/uninorm/u8-normcoll.c: New file.
28123         * lib/uninorm/u-normcoll.h: New file.
28124         * modules/uninorm/u8-normcoll: New file.
28125
28126         New module 'uninorm/u32-normxfrm'.
28127         * lib/uninorm/u32-normxfrm.c: New file.
28128         * modules/uninorm/u32-normxfrm: New file.
28129
28130         New module 'uninorm/u16-normxfrm'.
28131         * lib/uninorm/u16-normxfrm.c: New file.
28132         * modules/uninorm/u16-normxfrm: New file.
28133
28134         New module 'uninorm/u8-normxfrm'.
28135         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
28136         declarations.
28137         * lib/uninorm/u8-normxfrm.c: New file.
28138         * lib/uninorm/u-normxfrm.h: New file.
28139         * modules/uninorm/u8-normxfrm: New file.
28140
28141 2009-03-07  Bruno Haible  <bruno@clisp.org>
28142
28143         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
28144         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
28145         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
28146
28147 2009-03-07  Bruno Haible  <bruno@clisp.org>
28148
28149         New module 'memxfrm'.
28150         * lib/memxfrm.h: New file.
28151         * lib/memxfrm.c: New file.
28152         * modules/memxfrm: New file.
28153
28154 2009-03-07  Bruno Haible  <bruno@clisp.org>
28155
28156         New module 'memcmp2'.
28157         * lib/memcmp2.h: New file.
28158         * lib/memcmp2.c: New file.
28159         * modules/memcmp2: New file.
28160
28161 2009-03-07  Bruno Haible  <bruno@clisp.org>
28162
28163         Tests for module 'uninorm/decomposing-form'.
28164         * modules/uninorm/decomposing-form-tests: New file.
28165         * tests/uninorm/test-decomposing-form.c: New file.
28166
28167         New module 'uninorm/decomposing-form'.
28168         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
28169         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
28170         Add 'decomposing_variant' field.
28171         * lib/uninorm/decomposing-form.c: New file.
28172         * lib/uninorm/nfc.c (uninorm_nfc): Update.
28173         * lib/uninorm/nfd.c (uninorm_nfd): Update.
28174         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
28175         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
28176         * modules/uninorm/decomposing-form: New file.
28177         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
28178         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
28179
28180 2009-03-07  Bruno Haible  <bruno@clisp.org>
28181
28182         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
28183         strings.
28184
28185 2009-03-06  Bruno Haible  <bruno@clisp.org>
28186
28187         Tests for module 'uninorm/u32-normcmp'.
28188         * tests/uninorm/test-u32-normcmp.c: New file.
28189         * modules/uninorm/u32-normcmp-tests: New file.
28190
28191         Tests for module 'uninorm/u16-normcmp'.
28192         * tests/uninorm/test-u16-normcmp.c: New file.
28193         * modules/uninorm/u16-normcmp-tests: New file.
28194
28195         Tests for module 'uninorm/u8-normcmp'.
28196         * tests/uninorm/test-u8-normcmp.c: New file.
28197         * modules/uninorm/u8-normcmp-tests: New file.
28198
28199         New module 'uninorm/u32-normcmp'.
28200         * lib/uninorm/u32-normcmp.c: New file.
28201         * modules/uninorm/u32-normcmp: New file.
28202
28203         New module 'uninorm/u16-normcmp'.
28204         * lib/uninorm/u16-normcmp.c: New file.
28205         * modules/uninorm/u16-normcmp: New file.
28206
28207         New module 'uninorm/u8-normcmp'.
28208         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
28209         declarations.
28210         * lib/uninorm/u8-normcmp.c: New file.
28211         * lib/uninorm/u-normcmp.h: New file.
28212         * modules/uninorm/u8-normcmp: New file.
28213
28214 2009-03-06  Bruno Haible  <bruno@clisp.org>
28215
28216         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
28217         Reported by Eric Blake.
28218
28219 2009-03-06  Eric Blake  <ebb9@byu.net>
28220             Bruno Haible  <bruno@clisp.org>
28221
28222         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
28223         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
28224         condition.
28225         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
28226         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
28227         condition.
28228         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
28229
28230 2009-03-06  Eric Blake  <ebb9@byu.net>
28231
28232         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
28233         to avoid compiler warnings.
28234         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
28235
28236 2009-03-05  Bruno Haible  <bruno@clisp.org>
28237
28238         * tests/test-ftell.c (main): Disable test beyond end of file on
28239         FreeMiNT.
28240         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
28241
28242 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
28243
28244         * lib/filevercmp.c: Move hidden files up in ordering.
28245         * tests/test-filevercmp.c: Add tests for hidden files.
28246
28247 2009-03-04  Bruno Haible  <bruno@clisp.org>
28248
28249         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
28250         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
28251         AM_CFLAGS.
28252         Reported by Simon Josefsson.
28253
28254 2009-03-03  Bruno Haible  <bruno@clisp.org>
28255
28256         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
28257         Reported by Simon Josefsson.
28258
28259         * doc/ld-version-script.texi: Update node reference.
28260
28261 2009-03-03  Bruno Haible  <bruno@clisp.org>
28262
28263         * modules/visibility (License): Change to 'unlimited'.
28264         Suggested by Simon Josefsson.
28265
28266 2009-03-03  Jim Meyering  <meyering@redhat.com>
28267
28268         unlinkdir: cannot_unlink_dir may modify process state
28269         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
28270         it's neither thread-safe nor appropriate for use in a library.
28271
28272 2009-03-03  Eric Blake  <ebb9@byu.net>
28273
28274         test-closein: silence test under Darwin
28275         * tests/test-closein.sh: Ignore stderr from cat, since we don't
28276         care if it dies from EPIPE or EBADF.
28277
28278 2009-03-03  Bruno Haible  <bruno@clisp.org>
28279
28280         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
28281         earlier.
28282         * doc/visibility.texi: Fix @node and @section.
28283
28284 2009-03-03  Simon Josefsson  <simon@josefsson.org>
28285
28286         * doc/gnulib.texi: Link to sections for ld version script and
28287         visibility.
28288         * doc/visibility.texi: Add @node and @section.
28289         * modules/ld-version-script: New module.
28290         * m4/ld-version-script.m4: New file.
28291         * doc/ld-version-script.texi: New file.
28292
28293 2009-03-02  David Lutterkort  <lutter@redhat.com>
28294
28295         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
28296         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28297
28298 2009-03-02  Bruno Haible  <bruno@clisp.org>
28299
28300         * doc/visibility.texi: Mention libtool's -export-symbols option.
28301
28302 2009-03-02  Jim Meyering  <meyering@redhat.com>
28303
28304         announce-gen: new option: --no-print-checksums
28305         * build-aux/announce-gen (usage): Describe it.
28306         (print_checksums): Print a newline here, not in the [*] footnote.
28307         (main): Honor it.
28308
28309 2009-03-01  Bruno Haible  <bruno@clisp.org>
28310
28311         Use socklen_t in the native Windows replacements prototypes.
28312         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
28313         instead of 'int'.
28314         * lib/getsockopt.c (rpl_getsockopt): Likewise.
28315         * lib/setsockopt.c (rpl_setsockopt): Likewise.
28316         * modules/getsockopt (Depends-on): Add socklen.
28317         * modules/setsockopt (Depends-on): Add socklen.
28318
28319 2009-03-01  Bruno Haible  <bruno@clisp.org>
28320
28321         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
28322         least 4.2.
28323
28324 2009-03-01  Eric Blake  <ebb9@byu.net>
28325             Bruno Haible  <bruno@clisp.org>
28326
28327         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
28328         error messages.
28329         * lib/wait-process.c (wait_subprocess): Omit error message about
28330         deadly signal sent to the child of termsigp != NULL.
28331
28332 2009-03-01  Eric Blake  <ebb9@byu.net>
28333
28334         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
28335
28336 2009-03-01  Bruno Haible  <bruno@clisp.org>
28337
28338         Avoid a gcc warning.
28339         * tests/test-sched.c (b): Make global.
28340         Reported by Eric Blake.
28341
28342 2009-01-19  Martin Lambers  <marlam@marlam.de>
28343
28344         Provide POSIX semantics for socket timeout options on W32.
28345         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
28346         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
28347         * modules/setsockopt: Depend on sys_time module for struct timeval.
28348         * modules/getsockopt: Depend on sys_time module for struct timeval.
28349
28350 2009-03-01  Simon Josefsson  <simon@josefsson.org>
28351
28352         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
28353         __USE_GNU, for consistency with netdb.in.h.
28354         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
28355
28356 2009-03-01  Bruno Haible  <bruno@clisp.org>
28357
28358         More support for FreeMiNT.
28359         * lib/fseeko.c (rpl_fseeko): Complete last commit.
28360         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
28361
28362 2009-03-01  Bruno Haible  <bruno@clisp.org>
28363
28364         More support for FreeMiNT.
28365         * lib/fpurge.c (fpurge): Correct last commit.
28366         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
28367
28368 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28369
28370         Fix unportable awk script in vc-list-files.
28371         * build-aux/vc-list-files: In the replacement awk script, use
28372         substr with a second argument of 1, not zero.
28373         Report by Simon Josefsson.
28374
28375 2009-02-28  Bruno Haible  <bruno@clisp.org>
28376
28377         More support for FreeMiNT.
28378         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
28379         to FreeMiNT today.
28380         * lib/fwriting.c (fwriting): Likewise.
28381         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
28382
28383 2009-02-28  Bruno Haible  <bruno@clisp.org>
28384
28385         * tests/test-freadseek.c (main): Disable test beyond end of file on
28386         FreeMiNT.
28387         * tests/test-ftello.c (main): Likewise.
28388         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
28389
28390 2009-02-28  Bruno Haible  <bruno@clisp.org>
28391
28392         Add tentative support for FreeMiNT.
28393         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
28394         * lib/fpurge.c (fpurge): Likewise.
28395         * lib/freadable.c (freadable): Likewise.
28396         * lib/freading.c (freading): Likewise.
28397         * lib/freadptr.c (freadptr): Likewise.
28398         * lib/freadseek.c (freadptrinc): Likewise.
28399         * lib/fseeko.c (rpl_fseeko): Likewise.
28400         * lib/fseterr.c (fseterr): Likewise.
28401         * lib/fwritable.c (fwritable): Likewise.
28402         * lib/fwriting.c (fwriting): Likewise.
28403         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
28404         Hourihane.
28405         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
28406
28407 2009-02-28  Bruno Haible  <bruno@clisp.org>
28408
28409         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
28410         SIGCHLD.
28411         Reported by Jim Meyering.
28412
28413 2009-02-28  Bruno Haible  <bruno@clisp.org>
28414
28415         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
28416         Mention the results of these tests on various platforms.
28417         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
28418         order.
28419         * doc/posix-functions/printf.texi: Likewise.
28420         * doc/posix-functions/snprintf.texi: Likewise.
28421         * doc/posix-functions/sprintf.texi: Likewise.
28422         * doc/posix-functions/vfprintf.texi: Likewise.
28423         * doc/posix-functions/vprintf.texi: Likewise.
28424         * doc/posix-functions/vsnprintf.texi: Likewise.
28425         * doc/posix-functions/vsprintf.texi: Likewise.
28426         * doc/glibc-functions/obstack_printf.texi: Likewise.
28427         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
28428
28429 2009-02-28  Bruno Haible  <bruno@clisp.org>
28430
28431         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
28432         Reported by Loïc Minier <lool@dooz.org>.
28433
28434 2009-02-27  Bruno Haible  <bruno@clisp.org>
28435
28436         * gnulib-tool (func_import): Make the sed expression used to create the
28437         sed script for updating the .gitignore file POSIX compliant.
28438         Reported by Eric Blake.
28439
28440 2009-02-27  Bruno Haible  <bruno@clisp.org>
28441
28442         * gnulib-tool (sed): Don't alias as "sed --posix".
28443         Reported by Eric Blake.
28444
28445 2009-02-27  Bruno Haible  <bruno@clisp.org>
28446
28447         Avoid test link errors.
28448         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
28449         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
28450         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
28451         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
28452         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28453
28454 2009-02-27  Bruno Haible  <bruno@clisp.org>
28455
28456         Avoid spurious "(cached)" in configure output.
28457         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
28458         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
28459         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
28460         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
28461         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
28462         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
28463         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
28464         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
28465         Reported by Eric Blake.
28466
28467 2009-02-27  Eric Blake  <ebb9@byu.net>
28468
28469         printf: fix regression in previous patch
28470         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
28471
28472 2009-02-27  Bruno Haible  <bruno@clisp.org>
28473
28474         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
28475         value.
28476         * lib/stdint.in.h: Likewise.
28477         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
28478
28479 2009-02-27  Eric Blake  <ebb9@byu.net>
28480
28481         doc: mention more functions added in cygwin 1.7.0
28482         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
28483         addition.
28484         * doc/posix-functions/open_wmemstream.texi: Likewise.
28485         * doc/posix-functions/wcsnlen.texi: Likewise.
28486         * doc/posix-functions/wcsnrtombs.texi: Likewise.
28487         * doc/posix-functions/wcstod.texi: Likewise.
28488         * doc/posix-functions/wcstof.texi: Likewise.
28489         * doc/posix-functions/wcstoimax.texi: Likewise.
28490         * doc/posix-functions/wcstok.texi: Likewise.
28491         * doc/posix-functions/wcstoumax.texi: Likewise.
28492
28493         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
28494         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
28495         * doc/posix-functions/fprintf.texi: Update.
28496         * doc/posix-functions/printf.texi: Update.
28497         * doc/posix-functions/snprintf.texi: Update.
28498         * doc/posix-functions/sprintf.texi: Update.
28499         * doc/posix-functions/vfprintf.texi: Update.
28500         * doc/posix-functions/vprintf.texi: Update.
28501         * doc/posix-functions/vsnprintf.texi: Update.
28502         * doc/posix-functions/vsprintf.texi: Update.
28503         * doc/glibc-functions/obstack_printf.texi: Update.
28504         * doc/glibc-functions/obstack_vprintf.texi: Update.
28505
28506 2009-02-26  Eric Blake  <ebb9@byu.net>
28507
28508         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
28509         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
28510         compilation bug by using runtime conversion.
28511         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
28512         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
28513         * modules/ceill-tests (Files): Use nan.h.
28514         * modules/floorl-tests (Files): Likewise.
28515         * modules/frexpl-tests (Files): Likewise.
28516         * modules/isnanl-tests (Files): Likewise.
28517         * modules/ldexpl-tests (Files): Likewise.
28518         * modules/roundl-tests (Files): Likewise.
28519         * modules/truncl-tests (Files): Likewise.
28520         * tests/test-ceill.c (main): Use a working NaN.
28521         * tests/test-floorl.c (main): Likewise.
28522         * tests/test-frexpl.c (main): Likewise.
28523         * tests/test-isnan.c (test_long_double): Likewise.
28524         * tests/test-isnanl.h (main): Likewise.
28525         * tests/test-ldexpl.h (main): Likewise.
28526         * tests/test-roundl.h (main): Likewise.
28527         * tests/test-truncl.h (main): Likewise.
28528         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
28529
28530 2009-02-26  Eric Blake  <ebb9@byu.net>
28531             Bruno Haible  <bruno@clisp.org>
28532
28533         Work around a *printf bug with %ls on Solaris.
28534         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
28535         precision is specified, sprintf stops converting the wide string
28536         argument when the number of bytes that have been produced by this
28537         conversion equals or exceeds the precision.
28538         * doc/posix-functions/fprintf.texi: Update.
28539         * doc/posix-functions/printf.texi: Update.
28540         * doc/posix-functions/snprintf.texi: Update.
28541         * doc/posix-functions/sprintf.texi: Update.
28542         * doc/posix-functions/vfprintf.texi: Update.
28543         * doc/posix-functions/vprintf.texi: Update.
28544         * doc/posix-functions/vsnprintf.texi: Update.
28545         * doc/posix-functions/vsprintf.texi: Update.
28546         * doc/glibc-functions/obstack_printf.texi: Update.
28547         * doc/glibc-functions/obstack_vprintf.texi: Update.
28548
28549 2009-02-26  Eric Blake  <ebb9@byu.net>
28550
28551         stdlib: favor compiler check of random.h
28552         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
28553         to avoid an ObjC random.h installed by Swarm.
28554
28555 2009-02-26  Bruno Haible  <bruno@clisp.org>
28556
28557         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
28558         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
28559         Reported by Gary V. Vaughan <gary@gnu.org>.
28560
28561 2009-02-26  Bruno Haible  <bruno@clisp.org>
28562
28563         Fix *printf behaviour regarding the %ls directive.
28564         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
28565         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
28566         NEED_PRINTF_DIRECTIVE_LS.
28567         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
28568         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
28569         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
28570         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
28571         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
28572         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
28573         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
28574         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
28575         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
28576         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
28577         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
28578         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
28579         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
28580         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
28581         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
28582         * doc/posix-functions/fprintf.texi: Update.
28583         * doc/posix-functions/printf.texi: Update.
28584         * doc/posix-functions/snprintf.texi: Update.
28585         * doc/posix-functions/sprintf.texi: Update.
28586         * doc/posix-functions/vfprintf.texi: Update.
28587         * doc/posix-functions/vprintf.texi: Update.
28588         * doc/posix-functions/vsnprintf.texi: Update.
28589         * doc/posix-functions/vsprintf.texi: Update.
28590         * doc/glibc-functions/obstack_printf.texi: Update.
28591         * doc/glibc-functions/obstack_vprintf.texi: Update.
28592         Reported by Eric Blake.
28593
28594 2009-02-25  Bruno Haible  <bruno@clisp.org>
28595
28596         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
28597         with known value.
28598         Reported by Gary V. Vaughan <gary@gnu.org>.
28599
28600 2009-02-25  Bruno Haible  <bruno@clisp.org>
28601
28602         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
28603         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
28604         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
28605         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
28606         Reported by Gary V. Vaughan <gary@gnu.org>.
28607
28608 2009-02-25  Bruno Haible  <bruno@clisp.org>
28609
28610         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
28611         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
28612         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
28613         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
28614         Reported by Gary V. Vaughan <gary@gnu.org>.
28615
28616 2009-02-25  Eric Blake  <ebb9@byu.net>
28617
28618         tests: skip fseek/ftell tests if ungetc is broken
28619         * m4/ungetc.m4: New file.
28620         * modules/fseek-tests: Split test, so ungetc dependency is
28621         separate from rest of test.
28622         * modules/fseeko-tests: Likewise.
28623         * modules/ftell-tests: Likewise.
28624         * modules/ftello-tests: Likewise.
28625         * tests/test-fseek.c (main): Isolate ungetc dependency.
28626         * tests/test-fseeko.c (main): Likewise.
28627         * tests/test-ftell.c (main): Likewise.
28628         * tests/test-ftello.c (main): Likewise.
28629         * tests/test-fseek2.sh: New file.
28630         * tests/test-fseeko2.sh: Likewise.
28631         * tests/test-ftell2.sh: Likewise.
28632         * tests/test-ftello2.sh: Likewise.
28633
28634 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
28635
28636         test-getaddrinfo: fix usage of skip return code 77
28637         * tests/test-gettaddrinfo.c: Return skip code 77 only
28638         for first occurance of skip (4x77 is not 77)
28639
28640 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
28641
28642         strtod: avoid C99 decl-after-statement
28643         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
28644
28645 2009-02-24  Eric Blake  <ebb9@byu.net>
28646
28647         strtod: detect HP-UX 11.31 bug
28648         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
28649         Reported by Gary V. Vaughan.
28650
28651 2009-02-23  Bruno Haible  <bruno@clisp.org>
28652
28653         Fix invalid read past end of memory block.
28654         * lib/vasnprintf.c (DCHAR_SET): Define.
28655         (local_wcslen): Define only when needed.
28656         (local_strnlen, local_wcsnlen): New functions.
28657         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
28658         directives that involve a conversion ourselves.
28659         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
28660         wcsnlen, mbrtowc, wcrtomb.
28661         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
28662         * tests/test-vasprintf-posix.c (test_function): Likewise.
28663         * tests/test-snprintf-posix.h (test_function): Likewise.
28664         * tests/test-sprintf-posix.h (test_function): Likewise.
28665         Reported by Ben Pfaff <blp@cs.stanford.edu>.
28666
28667 2009-02-22  Bruno Haible  <bruno@clisp.org>
28668
28669         Implement new clarified decomposition of Hangul syllables.
28670         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
28671         of type LTV, return only a pairwise decomposition.
28672         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
28673         Likewise.
28674         * tests/uninorm/test-decomposition.c (main): Updated expected result.
28675         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
28676         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
28677
28678 2009-02-22  Bruno Haible  <bruno@clisp.org>
28679
28680         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
28681         zero-length results and shrink excess allocated memory.
28682         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
28683         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
28684         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
28685         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
28686         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
28687         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
28688         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
28689         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
28690         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
28691         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
28692         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
28693         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
28694
28695 2009-02-21  Bruno Haible  <bruno@clisp.org>
28696
28697         * doc/gnulib.texi: Include safe-alloc.texi earlier.
28698         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
28699         spaces after a period. Put a space between a macro name and its
28700         argument list. Trivial rewordings.
28701         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
28702         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
28703         (main): Return 0 explicitly.
28704
28705 2009-02-21  Bruno Haible  <bruno@clisp.org>
28706
28707         Tests for module 'uninorm/filter'.
28708         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
28709         * modules/uninorm/filter-tests: New file.
28710
28711         New module 'uninorm/filter'.
28712         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
28713         uninorm_filter_flush, uninorm_filter_free): New declarations.
28714         * lib/uninorm/uninorm-filter.c: New file.
28715         * modules/uninorm/filter: New file.
28716
28717 2009-02-21  Bruno Haible  <bruno@clisp.org>
28718
28719         Tests for module 'uninorm/nfkc'.
28720         * tests/uninorm/test-nfkc.c: New file.
28721         * tests/uninorm/test-u8-nfkc.c: New file.
28722         * tests/uninorm/test-u16-nfkc.c: New file.
28723         * tests/uninorm/test-u32-nfkc.c: New file.
28724         * tests/uninorm/test-u32-nfkc-big.sh: New file.
28725         * tests/uninorm/test-u32-nfkc-big.c: New file.
28726         * modules/uninorm/nfkc-tests: New file.
28727
28728         New module 'uninorm/nfkc'.
28729         * lib/uninorm/nfkc.c: New file.
28730         * modules/uninorm/nfkc: New file.
28731
28732         Tests for module 'uninorm/nfkd'.
28733         * tests/uninorm/test-nfkd.c: New file.
28734         * tests/uninorm/test-u8-nfkd.c: New file.
28735         * tests/uninorm/test-u16-nfkd.c: New file.
28736         * tests/uninorm/test-u32-nfkd.c: New file.
28737         * tests/uninorm/test-u32-nfkd-big.sh: New file.
28738         * tests/uninorm/test-u32-nfkd-big.c: New file.
28739         * modules/uninorm/nfkd-tests: New file.
28740
28741         New module 'uninorm/nfkd'.
28742         * lib/uninorm/nfkd.c: New file.
28743         * modules/uninorm/nfkd: New file.
28744
28745         Tests for module 'uninorm/nfc'.
28746         * tests/uninorm/test-nfc.c: New file.
28747         * tests/uninorm/test-u8-nfc.c: New file.
28748         * tests/uninorm/test-u16-nfc.c: New file.
28749         * tests/uninorm/test-u32-nfc.c: New file.
28750         * tests/uninorm/test-u32-nfc-big.sh: New file.
28751         * tests/uninorm/test-u32-nfc-big.c: New file.
28752         * modules/uninorm/nfc-tests: New file.
28753
28754         New module 'uninorm/nfc'.
28755         * lib/uninorm/nfc.c: New file.
28756         * modules/uninorm/nfc: New file.
28757
28758         Tests for module 'uninorm/nfd'.
28759         * tests/uninorm/test-nfd.c: New file.
28760         * tests/uninorm/test-u8-nfd.c: New file.
28761         * tests/uninorm/test-u16-nfd.c: New file.
28762         * tests/uninorm/test-u32-nfd.c: New file.
28763         * tests/uninorm/test-u32-nfd-big.sh: New file.
28764         * tests/uninorm/test-u32-nfd-big.c: New file.
28765         * tests/uninorm/test-u32-normalize-big.h: New file.
28766         * tests/uninorm/test-u32-normalize-big.c: New file.
28767         * tests/uninorm/NormalizationTest.txt: New file, created from
28768         Unicode 5.1.0 NormalizationTest.txt.
28769         * modules/uninorm/nfd-tests: New file.
28770
28771         New module 'uninorm/nfd'.
28772         * lib/uninorm/nfd.c: New file.
28773         * modules/uninorm/nfd: New file.
28774
28775         New module 'uninorm/u32-normalize'.
28776         * lib/uninorm/u32-normalize.c: New file.
28777         * modules/uninorm/u32-normalize: New file.
28778
28779         New module 'uninorm/u16-normalize'.
28780         * lib/uninorm/u16-normalize.c: New file.
28781         * modules/uninorm/u16-normalize: New file.
28782
28783         New module 'uninorm/u8-normalize'.
28784         * lib/uninorm/u8-normalize.c: New file.
28785         * lib/uninorm/normalize-internal.h: New file.
28786         * lib/uninorm/u-normalize-internal.h: New file.
28787         * modules/uninorm/u8-normalize: New file.
28788
28789         New module 'uninorm/decompose-internal'.
28790         * lib/uninorm/decompose-internal.c: New file.
28791         * modules/uninorm/decompose-internal: New file.
28792
28793         Tests for module 'uninorm/composition'.
28794         * tests/uninorm/test-composition.c: New file.
28795         * modules/uninorm/composition-tests: New file.
28796
28797         New module 'uninorm/composition'.
28798         * lib/uninorm/composition.c: New file.
28799         * lib/uninorm/composition-table.gperf: New file, generated by
28800         gen-uni-tables.
28801         * modules/uninorm/composition: New file.
28802
28803         Tests for module 'uninorm/compat-decomposition'.
28804         * tests/uninorm/test-compat-decomposition.c: New file.
28805         * modules/uninorm/compat-decomposition-tests: New file.
28806
28807         New module 'uninorm/compat-decomposition'.
28808         * lib/uninorm/decompose-internal.h: New file.
28809         * lib/uninorm/compat-decomposition.c: New file.
28810         * modules/uninorm/compat-decomposition: New file.
28811
28812         Tests for module 'uninorm/canonical-decomposition'.
28813         * tests/uninorm/test-canonical-decomposition.c: New file.
28814         * modules/uninorm/canonical-decomposition-tests: New file.
28815
28816         New module 'uninorm/canonical-decomposition'.
28817         * lib/uninorm/canonical-decomposition.c: New file.
28818         * modules/uninorm/canonical-decomposition: New file.
28819
28820         Tests for module 'uninorm/decomposition'.
28821         * tests/uninorm/test-decomposition.c: New file.
28822         * modules/uninorm/decomposition-tests: New file.
28823
28824         New module 'uninorm/decomposition'.
28825         * lib/uninorm/decomposition.c: New file.
28826         * modules/uninorm/decomposition: New file.
28827
28828         New module 'uninorm/decomposition-table'.
28829         * lib/uninorm/decomposition-table.h: New file.
28830         * lib/uninorm/decomposition-table.c: New file.
28831         * lib/uninorm/decomposition-table1.h: New file, generated by
28832         gen-uni-tables.
28833         * lib/uninorm/decomposition-table2.h: New file, generated by
28834         gen-uni-tables.
28835         * modules/uninorm/decomposition-table: New file.
28836
28837         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
28838         (UC_DECOMP_*): New enumeration items.
28839         (get_decomposition): New function.
28840         (struct decomp_table): New type.
28841         (output_decomposition, output_decomposition_tables): New functions.
28842         (unicode_composition_exclusions): New variable.
28843         (fill_composition_exclusions, debug_output_composition_tables): New
28844         functions.
28845         (main): Accept one more argument. Invoke fill_composition_exclusions.
28846         Output decomposition and composition tables.
28847
28848         New module 'uninorm/base'.
28849         * lib/uninorm.h: New file.
28850         * lib/unictype.h: Update comment.
28851         * modules/uninorm/base: New file.
28852
28853 2009-02-21  David Lutterkort  <lutter@redhat.com>
28854
28855         Tests for module 'safe-alloc'.
28856         * tests/test-safe-alloc.c: New file.
28857         * modules/safe-alloc-tests: New file.
28858
28859         New module 'safe-alloc'.
28860         * lib/safe-alloc.h: New file.
28861         * lib/safe-alloc.c: New file.
28862         * m4/safe-alloc.m4: New file.
28863         * modules/safe-alloc: New file.
28864         * doc/safe-alloc.texi: New file.
28865         * doc/gnulib.texi: Include it.
28866         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
28867         safe-alloc.
28868
28869 2009-02-18  Bruno Haible  <bruno@clisp.org>
28870
28871         Fix link error on non-glibc systems.
28872         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
28873         variable.
28874         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28875
28876 2009-02-18  Jim Meyering  <meyering@redhat.com>
28877
28878         fts: avoid used-uninitialized error due to recent change
28879         * lib/fts.c (fts_read): Guard uses of the new member,
28880         parent->fts_n_dirs_remaining, since it's not relevant for
28881         the parent of a directory specified on the command-line.
28882
28883 2009-02-17  James Youngman  <jay@gnu.org>
28884             Bruno Haible  <bruno@clisp.org>
28885
28886         * m4/include_next.m4: Reformulate comment.
28887
28888 2009-02-16  Jim Meyering  <meyering@redhat.com>
28889
28890         fts: add #if guards so that the fts_lgpl module still builds
28891         * lib/fts.c: Guard just-added hash-table-using parts with
28892         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
28893         Reported by Simon Josefsson.
28894
28895 2009-02-15  Bruno Haible  <bruno@clisp.org>
28896
28897         * modules/array-mergesort-tests: New file.
28898         * tests/test-array-mergesort.c: New file.
28899
28900         New module 'array-mergesort'.
28901         * modules/array-mergesort: New file.
28902         * lib/array-mergesort.h: New file.
28903
28904 2009-02-15  Bruno Haible  <bruno@clisp.org>
28905
28906         Fix 2009-02-07 commit.
28907         * lib/gen-uni-tables.c (output_predicate, output_category,
28908         output_combclass, output_bidi_category, output_decimal_digit,
28909         output_digit, output_numeric, output_mirror, output_scripts,
28910         output_ident_category, output_simple_mapping): Fix format directives.
28911         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
28912
28913 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
28914
28915         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
28916         fixes are available from IBM.
28917
28918 2009-02-13  Jim Meyering  <meyering@redhat.com>
28919
28920         fts: arrange not to stat non-directories in more cases
28921         This makes GNU find (when it doesn't need to stat each file)
28922         *much* more efficient at traversing reiserfs file systems.
28923         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
28924         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
28925         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
28926         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
28927         (leaf_optimization_applies): New function.
28928         (LCO_hash, LCO_compare): New helper functions.
28929         (link_count_optimize_ok): New function.
28930         (fts_stat): Initialize new member (if dir).
28931         (fts_read): Decrement parent's fts_n_dirs_remaining count if
28932         we've just stat'ed a directory.  Skip the stat call when possible.
28933         ---
28934         Note this AFS-related exchange:
28935         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
28936         and note find's pioctl call in find/fstype.c.
28937         But that is necessary only if you want to enable the
28938         optimization for AFS, and for now, I don't.
28939
28940         fts: move a function definition "up" (no semantic change)
28941         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
28942         "up" to precede upcoming use of a related function.
28943
28944 2009-02-11  Jim Meyering  <meyering@redhat.com>
28945
28946         fts: correct internal computation of nlinks (optimization-related)
28947         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
28948         whether the current entry is a directory, so don't test it.
28949
28950 2009-02-10  Bruno Haible  <bruno@clisp.org>
28951
28952         Tests for module 'uniwbrk/ulc-wordbreaks'.
28953         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
28954         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
28955         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
28956
28957         Tests for module 'uniwbrk/u32-wordbreaks'.
28958         * modules/uniwbrk/u32-wordbreaks-tests: New file.
28959         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
28960
28961         Tests for module 'uniwbrk/u16-wordbreaks'.
28962         * modules/uniwbrk/u16-wordbreaks-tests: New file.
28963         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
28964
28965         Tests for module 'uniwbrk/u8-wordbreaks'.
28966         * modules/uniwbrk/u8-wordbreaks-tests: New file.
28967         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
28968
28969 2009-02-10  Bruno Haible  <bruno@clisp.org>
28970
28971         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
28972         property.
28973         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
28974         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
28975         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
28976
28977 2009-02-10  Simon Josefsson  <simon@josefsson.org>
28978
28979         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
28980         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
28981
28982 2009-02-10  Bruno Haible  <bruno@clisp.org>
28983
28984         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
28985         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
28986         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
28987         * lib/unilbrk/u8-possible-linebreaks.c: Update.
28988         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
28989         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
28990
28991 2009-02-09  Simon Josefsson  <simon@josefsson.org>
28992
28993         * lib/sockets.h (gl_fd_to_handle): New function.
28994
28995         * tests/test-sockets.c: Call gl_fd_to_handle.
28996
28997 2009-02-09  Bruno Haible  <bruno@clisp.org>
28998
28999         * doc/havelib.texi: Document the conventions on bi-arch systems.
29000
29001 2009-02-08  Bruno Haible  <bruno@clisp.org>
29002
29003         Document the AC_LIB_LINKFLAGS macro.
29004         * doc/havelib.texi: New file, mostly written on 2005-05-24.
29005         * doc/gnulib.texi: Include it.
29006
29007 2009-02-08  Bruno Haible  <bruno@clisp.org>
29008
29009         Fix wrong order of sections, compared to TOC.
29010         * doc/gnulib.texi: Include relocatable-maint.texi after the
29011         "Regular expressions" node, not before.
29012
29013 2009-02-08  Bruno Haible  <bruno@clisp.org>
29014
29015         Tests for module 'unicase/totitle'.
29016         * modules/unicase/totitle-tests: New file.
29017
29018         Tests for module 'unicase/tolower'.
29019         * modules/unicase/tolower-tests: New file.
29020
29021         Tests for module 'unicase/toupper'.
29022         * modules/unicase/toupper-tests: New file.
29023         * tests/unicase/test-mapping-part1.h: New file.
29024         * tests/unicase/test-mapping-part2.h: New file.
29025
29026         New module 'unicase/totitle'.
29027         * modules/unicase/totitle: New file.
29028         * lib/unicase/totitle.c: New file.
29029
29030         New module 'unicase/tolower'.
29031         * modules/unicase/tolower: New file.
29032         * lib/unicase/tolower.c: New file.
29033
29034         New module 'unicase/toupper'.
29035         * modules/unicase/toupper: New file.
29036         * lib/unicase/toupper.c: New file.
29037         * lib/unicase/simple-mapping.h: New file.
29038
29039         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
29040         (mapping_table): New structure.
29041         (output_simple_mapping): New function.
29042         (main): Invoke output_simple_mapping_test and output_simple_mapping.
29043         * modules/gen-uni-tables (Description): Update.
29044         * lib/unicase/toupper.h: New file, automatically generated by
29045         gen-uni-tables.
29046         * lib/unicase/tolower.h: New file, automatically generated by
29047         gen-uni-tables.
29048         * lib/unicase/totitle.h: New file, automatically generated by
29049         gen-uni-tables.
29050         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
29051         gen-uni-tables.
29052         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
29053         gen-uni-tables.
29054         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
29055         gen-uni-tables.
29056
29057         New module 'unicase/base'.
29058         * modules/unicase/base: New file.
29059         * lib/unicase.h: New file.
29060
29061 2009-02-08  Bruno Haible  <bruno@clisp.org>
29062
29063         New module 'uniwbrk/ulc-wordbreaks'.
29064         * modules/uniwbrk/ulc-wordbreaks: New file.
29065         * lib/uniwbrk/ulc-wordbreaks.c: New file.
29066
29067         New module 'uniwbrk/u32-wordbreaks'.
29068         * modules/uniwbrk/u32-wordbreaks: New file.
29069         * lib/uniwbrk/u32-wordbreaks.c: New file.
29070
29071         New module 'uniwbrk/u16-wordbreaks'.
29072         * modules/uniwbrk/u16-wordbreaks: New file.
29073         * lib/uniwbrk/u16-wordbreaks.c: New file.
29074
29075         New module 'uniwbrk/u8-wordbreaks'.
29076         * modules/uniwbrk/u8-wordbreaks: New file.
29077         * lib/uniwbrk/u8-wordbreaks.c: New file.
29078         * lib/uniwbrk/u-wordbreaks.h: New file.
29079
29080         New module 'uniwbrk/table'.
29081         * modules/uniwbrk/table: New file.
29082         * lib/uniwbrk/wbrktable.h: New file.
29083         * lib/uniwbrk/wbrktable.c: New file.
29084
29085         New module 'uniwbrk/wordbreak-property'.
29086         * modules/uniwbrk/wordbreak-property: New file.
29087         * lib/uniwbrk/wordbreak-property.c: New file.
29088
29089         * lib/gen-uni-tables.c (WBP_*): New enum items.
29090         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
29091         (unicode_org_wbp): New variable.
29092         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
29093         New functions.
29094         (wbp_table): New structure.
29095         (output_wbp, output_wbrk_tables): New functions.
29096         (main): Accept additional argument. Invoke fill_org_wbp,
29097         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
29098         output_wbrk_tables.
29099         * modules/gen-uni-tables (Description): Update.
29100         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
29101         gen-uni-tables.
29102
29103         New module 'uniwbrk/base'.
29104         * modules/uniwbrk/base: New file.
29105         * lib/uniwbrk.h: New file.
29106
29107 2009-02-08  Bruno Haible  <bruno@clisp.org>
29108
29109         Update to Unicode 5.1.0.
29110         * lib/gen-uni-tables.c (is_property_alphabetic): Include
29111         U+2185..U+2188.
29112         (is_property_default_ignorable_code_point): Don't include characters
29113         of category Cc or Cs and not-a-characters.
29114         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
29115         U+0D79, U+109E, U+109F, U+A60C.
29116         * lib/unictype/bidi_of.h: Regenerated.
29117         * lib/unictype/blocks.h: Regenerated.
29118         * lib/unictype/categ_C.h: Regenerated.
29119         * lib/unictype/categ_Cf.h: Regenerated.
29120         * lib/unictype/categ_Cn.h: Regenerated.
29121         * lib/unictype/categ_L.h: Regenerated.
29122         * lib/unictype/categ_Ll.h: Regenerated.
29123         * lib/unictype/categ_Lm.h: Regenerated.
29124         * lib/unictype/categ_Lo.h: Regenerated.
29125         * lib/unictype/categ_Lu.h: Regenerated.
29126         * lib/unictype/categ_M.h: Regenerated.
29127         * lib/unictype/categ_Mc.h: Regenerated.
29128         * lib/unictype/categ_Me.h: Regenerated.
29129         * lib/unictype/categ_Mn.h: Regenerated.
29130         * lib/unictype/categ_N.h: Regenerated.
29131         * lib/unictype/categ_Nd.h: Regenerated.
29132         * lib/unictype/categ_Nl.h: Regenerated.
29133         * lib/unictype/categ_No.h: Regenerated.
29134         * lib/unictype/categ_P.h: Regenerated.
29135         * lib/unictype/categ_Pd.h: Regenerated.
29136         * lib/unictype/categ_Pe.h: Regenerated.
29137         * lib/unictype/categ_Pf.h: Regenerated.
29138         * lib/unictype/categ_Pi.h: Regenerated.
29139         * lib/unictype/categ_Po.h: Regenerated.
29140         * lib/unictype/categ_Ps.h: Regenerated.
29141         * lib/unictype/categ_S.h: Regenerated.
29142         * lib/unictype/categ_Sk.h: Regenerated.
29143         * lib/unictype/categ_Sm.h: Regenerated.
29144         * lib/unictype/categ_So.h: Regenerated.
29145         * lib/unictype/categ_of.h: Regenerated.
29146         * lib/unictype/combining.h: Regenerated.
29147         * lib/unictype/ctype_alnum.h: Regenerated.
29148         * lib/unictype/ctype_alpha.h: Regenerated.
29149         * lib/unictype/ctype_graph.h: Regenerated.
29150         * lib/unictype/ctype_lower.h: Regenerated.
29151         * lib/unictype/ctype_print.h: Regenerated.
29152         * lib/unictype/ctype_punct.h: Regenerated.
29153         * lib/unictype/ctype_upper.h: Regenerated.
29154         * lib/unictype/decdigit.h: Regenerated.
29155         * lib/unictype/digit.h: Regenerated.
29156         * lib/unictype/mirror.h: Regenerated.
29157         * lib/unictype/numeric.h: Regenerated.
29158         * lib/unictype/pr_alphabetic.h: Regenerated.
29159         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
29160         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
29161         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
29162         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
29163         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
29164         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
29165         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
29166         * lib/unictype/pr_combining.h: Regenerated.
29167         * lib/unictype/pr_dash.h: Regenerated.
29168         * lib/unictype/pr_decimal_digit.h: Regenerated.
29169         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
29170         * lib/unictype/pr_deprecated.h: Regenerated.
29171         * lib/unictype/pr_diacritic.h: Regenerated.
29172         * lib/unictype/pr_extender.h: Regenerated.
29173         * lib/unictype/pr_format_control.h: Regenerated.
29174         * lib/unictype/pr_grapheme_base.h: Regenerated.
29175         * lib/unictype/pr_grapheme_extend.h: Regenerated.
29176         * lib/unictype/pr_grapheme_link.h: Regenerated.
29177         * lib/unictype/pr_id_continue.h: Regenerated.
29178         * lib/unictype/pr_id_start.h: Regenerated.
29179         * lib/unictype/pr_ideographic.h: Regenerated.
29180         * lib/unictype/pr_ignorable_control.h: Regenerated.
29181         * lib/unictype/pr_lowercase.h: Regenerated.
29182         * lib/unictype/pr_math.h: Regenerated.
29183         * lib/unictype/pr_numeric.h: Regenerated.
29184         * lib/unictype/pr_other_alphabetic.h: Regenerated.
29185         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
29186         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
29187         * lib/unictype/pr_other_id_continue.h: Regenerated.
29188         * lib/unictype/pr_other_lowercase.h: Regenerated.
29189         * lib/unictype/pr_other_math.h: Regenerated.
29190         * lib/unictype/pr_punctuation.h: Regenerated.
29191         * lib/unictype/pr_sentence_terminal.h: Regenerated.
29192         * lib/unictype/pr_soft_dotted.h: Regenerated.
29193         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
29194         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
29195         * lib/unictype/pr_unified_ideograph.h: Regenerated.
29196         * lib/unictype/pr_uppercase.h: Regenerated.
29197         * lib/unictype/pr_xid_continue.h: Regenerated.
29198         * lib/unictype/pr_xid_start.h: Regenerated.
29199         * lib/unictype/pr_zero_width.h: Regenerated.
29200         * lib/unictype/scripts.h: Regenerated.
29201         * lib/unictype/scripts_byname.gperf: Regenerated.
29202         * lib/unictype/sy_java_ident.h: Regenerated.
29203         * lib/unilbrk/lbrkprop1.h: Regenerated.
29204         * lib/unilbrk/lbrkprop2.h: Regenerated.
29205         * tests/unictype/test-categ_C.c: Regenerated.
29206         * tests/unictype/test-categ_Cf.c: Regenerated.
29207         * tests/unictype/test-categ_Cn.c: Regenerated.
29208         * tests/unictype/test-categ_L.c: Regenerated.
29209         * tests/unictype/test-categ_Ll.c: Regenerated.
29210         * tests/unictype/test-categ_Lm.c: Regenerated.
29211         * tests/unictype/test-categ_Lo.c: Regenerated.
29212         * tests/unictype/test-categ_Lu.c: Regenerated.
29213         * tests/unictype/test-categ_M.c: Regenerated.
29214         * tests/unictype/test-categ_Mc.c: Regenerated.
29215         * tests/unictype/test-categ_Me.c: Regenerated.
29216         * tests/unictype/test-categ_Mn.c: Regenerated.
29217         * tests/unictype/test-categ_N.c: Regenerated.
29218         * tests/unictype/test-categ_Nd.c: Regenerated.
29219         * tests/unictype/test-categ_Nl.c: Regenerated.
29220         * tests/unictype/test-categ_No.c: Regenerated.
29221         * tests/unictype/test-categ_P.c: Regenerated.
29222         * tests/unictype/test-categ_Pd.c: Regenerated.
29223         * tests/unictype/test-categ_Pe.c: Regenerated.
29224         * tests/unictype/test-categ_Pf.c: Regenerated.
29225         * tests/unictype/test-categ_Pi.c: Regenerated.
29226         * tests/unictype/test-categ_Po.c: Regenerated.
29227         * tests/unictype/test-categ_Ps.c: Regenerated.
29228         * tests/unictype/test-categ_S.c: Regenerated.
29229         * tests/unictype/test-categ_Sk.c: Regenerated.
29230         * tests/unictype/test-categ_Sm.c: Regenerated.
29231         * tests/unictype/test-categ_So.c: Regenerated.
29232         * tests/unictype/test-ctype_alnum.c: Regenerated.
29233         * tests/unictype/test-ctype_alpha.c: Regenerated.
29234         * tests/unictype/test-ctype_graph.c: Regenerated.
29235         * tests/unictype/test-ctype_lower.c: Regenerated.
29236         * tests/unictype/test-ctype_print.c: Regenerated.
29237         * tests/unictype/test-ctype_punct.c: Regenerated.
29238         * tests/unictype/test-ctype_upper.c: Regenerated.
29239         * tests/unictype/test-decdigit.h: Regenerated.
29240         * tests/unictype/test-digit.h: Regenerated.
29241         * tests/unictype/test-numeric.h: Regenerated.
29242         * tests/unictype/test-pr_alphabetic.c: Regenerated.
29243         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
29244         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
29245         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
29246         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
29247         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
29248         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
29249         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
29250         * tests/unictype/test-pr_combining.c: Regenerated.
29251         * tests/unictype/test-pr_dash.c: Regenerated.
29252         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
29253         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
29254         * tests/unictype/test-pr_deprecated.c: Regenerated.
29255         * tests/unictype/test-pr_diacritic.c: Regenerated.
29256         * tests/unictype/test-pr_extender.c: Regenerated.
29257         * tests/unictype/test-pr_format_control.c: Regenerated.
29258         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
29259         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
29260         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
29261         * tests/unictype/test-pr_id_continue.c: Regenerated.
29262         * tests/unictype/test-pr_id_start.c: Regenerated.
29263         * tests/unictype/test-pr_ideographic.c: Regenerated.
29264         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
29265         * tests/unictype/test-pr_lowercase.c: Regenerated.
29266         * tests/unictype/test-pr_math.c: Regenerated.
29267         * tests/unictype/test-pr_numeric.c: Regenerated.
29268         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
29269         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
29270         Regenerated.
29271         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
29272         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
29273         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
29274         * tests/unictype/test-pr_other_math.c: Regenerated.
29275         * tests/unictype/test-pr_punctuation.c: Regenerated.
29276         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
29277         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
29278         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
29279         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
29280         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
29281         * tests/unictype/test-pr_uppercase.c: Regenerated.
29282         * tests/unictype/test-pr_xid_continue.c: Regenerated.
29283         * tests/unictype/test-pr_xid_start.c: Regenerated.
29284         * tests/unictype/test-pr_zero_width.c: Regenerated.
29285
29286         Update to Unicode 5.1.0.
29287         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
29288         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
29289         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
29290         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
29291         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
29292         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
29293         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
29294         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
29295         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
29296         (nonspacing_table_ind): Update.
29297         * tests/uniwidth/test-uc_width2.sh: Update expected result.
29298
29299         Update to Unicode 5.1.0.
29300         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
29301         code transform.
29302         * lib/uniname/uniname.c (unicode_character_name,
29303         unicode_name_character): Add the range 0x1Fxxx to the code transform.
29304         * lib/uniname/uninames.h: Regenerated.
29305         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
29306
29307 2009-02-07  Bruno Haible  <bruno@clisp.org>
29308
29309         Merge gen-ctype and gen-lbrk into a single program.
29310         * lib/gen-uni-tables.c: New file, incorporating
29311         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
29312         Add directory prefixes to the names of the generated files.
29313         * lib/unictype/gen-ctype.c: Remove file.
29314         * lib/unilbrk/gen-lbrk.c: Remove file.
29315         * modules/gen-uni-tables: New file.
29316         * modules/unictype/gen-ctype: Remove file.
29317         * modules/unilbrk/gen-lbrk: Remove file.
29318
29319 2009-02-07  Bruno Haible  <bruno@clisp.org>
29320
29321         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
29322
29323         New module 'unistr/u32-strcoll'.
29324         * modules/unistr/u32-strcoll: New file.
29325         * lib/unistr/u32-strcoll.c: New file.
29326
29327         New module 'unistr/u16-strcoll'.
29328         * modules/unistr/u16-strcoll: New file.
29329         * lib/unistr/u16-strcoll.c: New file.
29330
29331         New module 'unistr/u8-strcoll'.
29332         * modules/unistr/u8-strcoll: New file.
29333         * lib/unistr/u8-strcoll.c: New file.
29334         * lib/unistr/u-strcoll.h: New file.
29335
29336 2009-02-07  Bruno Haible  <bruno@clisp.org>
29337
29338         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
29339         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
29340         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
29341         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
29342         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
29343         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
29344
29345 2009-02-07  Bruno Haible  <bruno@clisp.org>
29346
29347         Make 64-bit clean.
29348         * lib/unictype/gen-ctype.c (output_predicate, output_category,
29349         output_combclass, output_bidi_category, output_decimal_digit,
29350         output_digit, output_numeric, output_mirror, output_scripts,
29351         output_ident_category): Use proper width specifier in format strings.
29352
29353 2009-02-07  Bruno Haible  <bruno@clisp.org>
29354
29355         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
29356         failure behaviour.
29357
29358 2009-02-07  Jim Meyering  <meyering@redhat.com>
29359
29360         regex: avoid compilation failure with upcoming gcc-4.4
29361         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
29362         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
29363         "... error: integer overflow in preprocessor expression".
29364
29365 2009-02-05  Ben Pfaff  <blp@gnu.org>
29366
29367         Fix link errors on Windows when close module is used.
29368         * modules/close: Add $(LIB_CLOSE) to Link section.
29369         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
29370         $(LIB_CLOSE) on Windows.
29371
29372 2009-02-05  Jim Meyering  <meyering@redhat.com>
29373
29374         still avoid unused-parameter warnings, but do it cleanly
29375         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
29376         (get_fs_usage): Cast to void instead.
29377         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
29378         (dev_from_mount_options, read_file_system_list): Cast to void.
29379         Prompted by Bruno Haible.
29380
29381 2009-02-04  Jim Meyering  <meyering@redhat.com>
29382
29383         fsusage.c: correct copyright year
29384         * lib/fsusage.c: Reflect year in which the change is pushed into
29385
29386         avoid misc. warnings
29387         * lib/fsusage.c (UNUSED_PARAM): Define.
29388         (get_fs_usage): Mark parameter "disk" as unused.
29389         * lib/getugroups.c (getgrent): Use "void" in prototype.
29390         * lib/mountlist.c: Mark unused parameters.
29391         (read_file_system_list): Declare a local with "const".
29392         * lib/nanosleep.c (getnow): Declare static.
29393         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
29394
29395         dirfd: set errno upon failure
29396         * lib/dirfd.c: Include <errno.h>.
29397         Set errno to ENOTSUP when returning -1.
29398         * modules/dirfd (Depends-on): Add errno.
29399         Suggested by John Kodis <kodis@comcast.net>.
29400
29401 2009-02-01  Bruno Haible  <bruno@clisp.org>
29402
29403         Don't assume sizeof (long) >= sizeof (void *).
29404         * lib/memcmp.c: Include stdint.h.
29405         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
29406         srcp2 to 'const byte *'.
29407         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
29408         types to uintptr_t.
29409         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
29410         * modules/memcmp (Depends-on): Add stdint.
29411         Reported by Ozkan Sezer <sezeroz@gmail.com>.
29412
29413 2009-01-30  Eric Blake  <ebb9@byu.net>
29414
29415         fix more require-before-expand issues
29416         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
29417         expand, AC_PROG_AWK.
29418         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
29419
29420 2009-01-28  Eric Blake  <ebb9@byu.net>
29421
29422         version-etc: use consistent URL formatting
29423         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
29424         Improve formatting.  Use fputs for string without %.
29425
29426 2009-01-28  Jim Meyering  <meyering@redhat.com>
29427
29428         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
29429         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
29430         "underquoted definition of NAME" from autoconf-2.59.
29431
29432 2009-01-28  Bruno Haible  <bruno@clisp.org>
29433
29434         * doc/gnulib.texi: Add "Obsolete modules" to index.
29435
29436 2009-01-28  Jim Meyering  <meyering@redhat.com>
29437
29438         useless-if-before-free: recognize more variants
29439         * build-aux/useless-if-before-free: Also recognize e.g.,
29440         if (NULL != p) free (p);
29441
29442 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
29443
29444         test-getaddrinfo: skip (don't fail) this test when there's no network
29445         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
29446         on the presumption that it means you lack network access.
29447
29448 2009-01-26  Jim Meyering  <meyering@redhat.com>
29449
29450         fflush: avoid warnings on modern systems
29451         * lib/fflush.c (rpl_fflush): Move declarations of locals,
29452         pos and result, into scopes where they're used.
29453
29454 2009-01-26  Eric Blake  <ebb9@byu.net>
29455
29456         Silence warning reintroduced by recent extensions patch.
29457         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
29458         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
29459         autoconf.
29460
29461         Backport improved autoconf semantics of AC_DEFUN_ONCE.
29462         * m4/00gnulib.m4: New file.
29463         * gnulib-tool (func_get_filelist): Always use it.
29464         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
29465         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
29466
29467 2009-01-25  Bruno Haible  <bruno@clisp.org>
29468
29469         Make test-quotearg work on MacOS X and AIX.
29470         * tests/test-quotearg.sh: New file.
29471         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
29472         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
29473         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
29474         include <libintl.h>.
29475         (fake_locale): Remove variable.
29476         (gettext, dgettext, dcgettext): Remove functions.
29477         (main): Instead of setting a fake locale, set a real locale. Call
29478         textdomain and bindtextdomain.
29479         * modules/quotearg-tests (Files): Add the new files.
29480         (Depends-on): Add gettext, setenv, unsetenv.
29481         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
29482         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
29483         Augment TESTS_ENVIRONMENT.
29484
29485 2009-01-25  Bruno Haible  <bruno@clisp.org>
29486
29487         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
29488         fr_FR.ISO8859-1 locale on MacOS X.
29489         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
29490         ja_JP.eucJP locale on MacOS X.
29491         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
29492         zh_CN.GB18030 locale on MacOS X.
29493
29494 2009-01-25  Bruno Haible  <bruno@clisp.org>
29495
29496         Avoid link errors on MacOS X 10.3.
29497         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
29498         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
29499
29500 2009-01-25  Bruno Haible  <bruno@clisp.org>
29501
29502         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
29503         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
29504         * modules/pipe (Files): Remove m4/posix_spawn.m4.
29505         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
29506         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
29507         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
29508         posix_spawnattr_init, posix_spawnattr_setsigmask,
29509         posix_spawnattr_setflags, posix_spawnattr_destroy.
29510
29511         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
29512         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
29513         * modules/execute (Files): Remove m4/posix_spawn.m4.
29514         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
29515         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
29516         posix_spawnattr_init, posix_spawnattr_setsigmask,
29517         posix_spawnattr_setflags, posix_spawnattr_destroy.
29518
29519 2009-01-25  Bruno Haible  <bruno@clisp.org>
29520
29521         * lib/glthread/threadlib.c: Include <stdlib.h>.
29522
29523 2009-01-25  Bruno Haible  <bruno@clisp.org>
29524
29525         * lib/glthread/threadlib.c (dummy): New declaration.
29526
29527 2009-01-25  Bruno Haible  <bruno@clisp.org>
29528
29529         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
29530         multibyte characters also for the GB18030 encoding. Don't crash when
29531         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
29532
29533 2009-01-25  Bruno Haible  <bruno@clisp.org>
29534
29535         Avoid redefining 'struct random_data' on OSF/1 5.1.
29536         * lib/stdlib.in.h: Include <random.h> if it exists.
29537         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
29538         HAVE_RANDOM_H. Include <random.h> when testing whether
29539         'struct random_data' exists.
29540         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
29541
29542 2009-01-25  Bruno Haible  <bruno@clisp.org>
29543
29544         Don't install charset.alias on MacOS X >= 10.3.
29545         * lib/localcharset.c (DARWIN7): New macro.
29546         (get_charset_aliases): Hardcode the result for Darwin7.
29547         * modules/localcharset (install-exec-local): Don't install
29548         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
29549
29550 2009-01-25  Bruno Haible  <bruno@clisp.org>
29551
29552         Don't install charset.alias on mingw and Cygwin.
29553         * modules/localcharset (install-exec-local): Don't install
29554         charset.alias on mingw and Cygwin, if the file does not yet exist.
29555         The result for these platforms is hardcoded in localcharset.c.
29556
29557 2009-01-25  Bruno Haible  <bruno@clisp.org>
29558
29559         Make it possible again to use AC_GNU_SOURCE together with gnulib.
29560         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
29561         before requiring AC_USE_SYSTEM_EXTENSIONS.
29562
29563 2009-01-25  Jim Meyering  <meyering@redhat.com>
29564
29565         c-strtod: avoid warnings
29566         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
29567         "assignment discards qualifiers from pointer target type" warnings.
29568
29569 2009-01-24  Bruno Haible  <bruno@clisp.org>
29570
29571         Add support for non-UTF-8 locales on MacOS X.
29572         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
29573         canonical encodings. For Darwin 7 and newer, don't map traditional
29574         encodings to UTF-8.
29575         Reported by Vincent Lefevre <vincent@vinc17.org>
29576         at <http://savannah.gnu.org/bugs/?25235>.
29577
29578 2009-01-24  Bruno Haible  <bruno@clisp.org>
29579
29580         * doc/gnulib.texi (Obsolete modules): New section.
29581         Reported by Mike Frysinger <vapier@gentoo.org>.
29582
29583 2009-01-24  Bruno Haible  <bruno@clisp.org>
29584
29585         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
29586         (%.dvi): New rule.
29587
29588 2009-01-24  Bruno Haible  <bruno@clisp.org>
29589
29590         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
29591         Reported by Eric Blake.
29592
29593 2009-01-24  Bruno Haible  <bruno@clisp.org>
29594
29595         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
29596         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
29597         Reported by Gary V. Vaughan <gary@gnu.org>.
29598
29599 2009-01-24  Bruno Haible  <bruno@clisp.org>
29600
29601         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
29602
29603 2009-01-23  Bruno Haible  <bruno@clisp.org>
29604
29605         Make c-strtod, c-strtold usable in libraries.
29606         * lib/c-strtod.c: Include string.h instead of xalloc.h.
29607         (C_STRTOD): Call strdup instead of xstrdup.
29608         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
29609         * modules/c-strtold (Depends-on): Likewise.
29610         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
29611         * NEWS: Mention the change.
29612         Reported by Michael Gold <mgold@ncf.ca>.
29613
29614 2009-01-23  Jim Meyering  <meyering@redhat.com>
29615
29616         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
29617         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
29618         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
29619
29620 2009-01-23  Simon Josefsson  <simon@josefsson.org>
29621
29622         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
29623         GNU CoreUtils.
29624         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
29625         * modules/version-etc (Description): Update.
29626
29627 2009-01-22  Bruno Haible  <bruno@clisp.org>
29628
29629         Cache the C locale object.
29630         * lib/c-strtod.c (c_locale_cache): New variable.
29631         (c_locale): New function.
29632         (C_STRTOD): Use it, and don't call freelocale.
29633         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
29634         Suggested by Paolo Bonzini.
29635
29636 2009-01-21  Bruno Haible  <bruno@clisp.org>
29637
29638         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
29639         conditions other than overflow.
29640
29641 2009-01-21  Bruno Haible  <bruno@clisp.org>
29642
29643         * lib/c-strtod.c: Include errno.h.
29644         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
29645         value from STRTOD_L and STRTOD.
29646
29647 2009-01-21  Bruno Haible  <bruno@clisp.org>
29648         and Jim Meyering  <meyering@redhat.com>
29649
29650         nanosleep: skip configure test (fail it) for apple universal builds
29651         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
29652         universal builds, assume that nanosleep does not work.
29653         * modules/nanosleep (Depends-on): Add multiarch.
29654
29655         mktime: skip configure test (fail it) for apple universal builds
29656         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
29657         universal builds, assume that mktime does not work.
29658         * modules/mktime (Depends-on): Add multiarch.
29659
29660 2009-01-21  Eric Blake  <ebb9@byu.net>
29661
29662         multiarch: avoid expand-before-require warning
29663         * modules/multiarch (configure.ac): Require, rather than expand,
29664         gl_MULTIARCH.
29665         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
29666         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
29667         enforce that all clients require it.  Partial reversion of
29668         2008-12-29 patch.
29669
29670         error: avoid expand-before-require warning
29671         * modules/errno (configure.ac): Require, rather than expand,
29672         gl_HEADER_ERRNO_H.
29673         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
29674         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
29675         enforce that all clients require it.
29676
29677         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
29678         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
29679         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
29680         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
29681
29682 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
29683
29684         Revert:
29685         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
29686
29687         regex: do not depend on obsolete modules.
29688         * modules/regex: Remove memcmp and memmove.
29689
29690 2009-01-20  Bruno Haible  <bruno@clisp.org>
29691
29692         Make the 'link' module link on Windows NT 4.
29693         * lib/link.c (_WIN32_WINNT): Don't define.
29694         (CreateHardLinkFuncType): New type.
29695         (CreateHardLinkFunc, initialized): New variables.
29696         (initialize): New function.
29697         (link): Invoke CreateHardLink indirectly through the function pointer.
29698
29699 2009-01-20  Bruno Haible  <bruno@clisp.org>
29700
29701         Fix compilation failure on mingw.
29702         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
29703
29704 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
29705
29706         * doc/c-strtod.texi: Mention a couple of restrictions.
29707
29708 2009-01-20  Jim Meyering  <meyering@redhat.com>
29709
29710         gettimeofday: move more declarations out of functions
29711         * lib/gettimeofday.c: Move extern declarations of tzset and
29712         gmtime out of containing functions.  Prompted by Bruno Haible.
29713
29714 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
29715
29716         regex: do not depend on obsolete modules.
29717         * modules/regex: Remove memcmp and memmove.
29718
29719 2009-01-19  Bruno Haible  <bruno@clisp.org>
29720
29721         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
29722         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
29723         gl_BIGENDIAN, not AC_C_BIGENDIAN.
29724         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
29725         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
29726
29727 2009-01-19  Bruno Haible  <bruno@clisp.org>
29728
29729         * tests/test-link.c: Include <errno.h>.
29730         (main): Exit with code 77 when a hard link cannot be created due to
29731         the file system.
29732         * tests/test-link.sh: Skip test when a hard link cannot be created due
29733         to the file system.
29734         Suggested by Eric Blake.
29735
29736 2009-01-19  Martin Lambers  <marlam@marlam.de>
29737
29738         * modules/link-tests: New file.
29739         * tests/test-link.sh: New file.
29740         * tests/test-link.c: New file.
29741
29742 2009-01-19  Eric Blake  <ebb9@byu.net>
29743
29744         doc: mention another function added in cygwin 1.7.0
29745         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
29746         Another new function in cygwin 1.7.
29747
29748 2009-01-19  Bruno Haible  <bruno@clisp.org>
29749
29750         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
29751         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
29752         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
29753         gl_BIGENDIAN, not AC_C_BIGENDIAN.
29754         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
29755         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
29756         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
29757         * m4/md4.m4 (gl_MD4): Likewise.
29758         * m4/md5.m4 (gl_MD5): Likewise.
29759         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
29760         * m4/sha1.m4 (gl_SHA1): Likewise.
29761         * m4/sha256.m4 (gl_SHA256): Likewise.
29762         * m4/sha512.m4 (gl_SHA512): Likewise.
29763
29764 2009-01-19  Bruno Haible  <bruno@clisp.org>
29765
29766         * modules/uniname/uniname-tests (Depends-on): Add progname.
29767         * tests/uniname/test-uninames.c: Include progname.h.
29768         (main): Call set_program_name.
29769
29770         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
29771         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
29772         (main): Call set_program_name.
29773
29774         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
29775         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
29776         (main): Call set_program_name.
29777
29778         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
29779         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
29780         (main): Call set_program_name.
29781
29782         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
29783         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
29784         (main): Call set_program_name.
29785
29786         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
29787         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
29788         (main): Call set_program_name.
29789
29790         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
29791         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
29792         (main): Call set_program_name.
29793
29794         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
29795         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
29796         (main): Call set_program_name.
29797
29798         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
29799         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
29800         (main): Call set_program_name.
29801
29802 2009-01-19  Eric Blake  <ebb9@byu.net>
29803
29804         test-unistd: test previous patch
29805         * tests/test-unistd.c: Test *_FILENO macros.
29806
29807         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
29808         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
29809         Guarantee a definition.
29810         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
29811         * modules/unistd-safer (Depends-on): Add dependency on unistd.
29812         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
29813         * lib/dup-safer.c (STDERR_FILENO): Likewise.
29814         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
29815         Likewise.
29816         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
29817         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
29818         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
29819         Likewise.
29820         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
29821         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
29822         (STDERR_FILENO): Likewise.
29823         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
29824         (STDERR_FILENO): Likewise.
29825         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
29826         (STDERR_FILENO): Likewise.
29827         Reported by Elbert Pol.
29828
29829 2009-01-19  Eric Blake  <ebb9@byu.net>
29830
29831         doc: mention more functions added in cygwin 1.7.0
29832         * doc/posix-functions/abort.texi (abort): Update wording related
29833         to cygwin.
29834         * doc/posix-functions/daylight.texi (daylight): Likewise.
29835         * doc/posix-functions/optarg.texi (optarg): Likewise.
29836         * doc/posix-functions/optarg.texi (opterr): Likewise.
29837         * doc/posix-functions/optarg.texi (optind): Likewise.
29838         * doc/posix-functions/optarg.texi (optopt): Likewise.
29839         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
29840         worked in 1.5.x, and was withdrawn in 1.7.
29841         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
29842         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
29843         cygwin versions.
29844         * doc/posix-functions/perror.texi (perror): Likewise.
29845         * doc/posix-functions/printf.texi (printf): Likewise.
29846         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
29847         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
29848         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
29849         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
29850         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
29851         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
29852         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
29853         Likewise.
29854         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
29855         Likewise.
29856         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
29857         this function.
29858         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
29859         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
29860         Likewise.
29861         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
29862         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
29863         * doc/posix-functions/confstr.texi (confstr): Likewise.
29864         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
29865         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
29866         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
29867         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
29868         * doc/posix-functions/fputws.texi (fputws): Likewise.
29869         * doc/posix-functions/fwide.texi (fwide): Likewise.
29870         * doc/posix-functions/getwc.texi (getwc): Likewise.
29871         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
29872         * doc/posix-functions/putwc.texi (putwc): Likewise.
29873         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
29874         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
29875         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
29876         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
29877         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
29878         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
29879         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
29880         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
29881         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
29882         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
29883         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
29884
29885 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
29886
29887         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
29888         * lib/ioctl.c: Include <sys/ioctl.h>.
29889
29890 2009-01-19  Simon Josefsson  <simon@josefsson.org>
29891
29892         * modules/getdate-tests (Depends-on): Add progname.
29893         * tests/test-getdate.c: Use progname module, to avoid link errors
29894         on non-glibc systems.
29895
29896 2009-01-18  Simon Josefsson  <simon@josefsson.org>
29897
29898         * modules/filenamecat-tests (Depends-on): Add progname.
29899         * modules/fstrcmp-tests (Depends-on): Likewise.
29900
29901         * tests/test-filenamecat.c: Use progname module, to avoid link
29902         errors on non-glibc systems.
29903         * tests/test-fstrcmp.c: Likewise.
29904
29905 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
29906
29907         gettimeofday: avoid warning: nested extern declaration of 'localtime'
29908         * lib/gettimeofday.c: Move extern declaration out of function.
29909
29910 2009-01-18  Bruno Haible  <bruno@clisp.org>
29911
29912         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
29913         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
29914         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
29915
29916 2009-01-18  Bruno Haible  <bruno@clisp.org>
29917
29918         * lib/strftime.c (MEMPCPY): Remove unused macro.
29919         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
29920
29921 2009-01-18  Martin Lambers  <marlam@marlam.de>
29922
29923         New module 'link'.
29924         * lib/unistd.in.h (link): New declaration.
29925         * lib/link.c: New file.
29926         * m4/link.m4: New file.
29927         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
29928         HAVE_LINK.
29929         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
29930         * modules/link: New file.
29931         * doc/posix-functions/link.texi: Mention the new module.
29932
29933 2009-01-18  Bruno Haible  <bruno@clisp.org>
29934
29935         * tests/test-avltree_list.c (main): Call set_program_name.
29936         * tests/test-avltree_oset.c (main): Likewise.
29937         * tests/test-obstack-printf.c: Include progname.h.
29938         (main): Call set_program_name.
29939         * tests/test-quotearg.c: Include progname.h.
29940         (main): Call set_program_name.
29941         * tests/test-xmemdup0.c: Include progname.h.
29942         (main): Call set_program_name.
29943
29944 2009-01-18  Bruno Haible  <bruno@clisp.org>
29945
29946         New module 'alphasort'.
29947         * lib/dirent.in.h (alphasort): New declaration.
29948         * lib/alphasort.c: New file, from glibc with modifications.
29949         * m4/alphasort.m4: New file.
29950         * modules/alphasort: New file.
29951         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
29952         HAVE_ALPHASORT.
29953         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
29954         HAVE_ALPHASORT.
29955         * doc/posix-functions/alphasort.texi: Mention the new module and the
29956         portability problems.
29957
29958 2009-01-18  Bruno Haible  <bruno@clisp.org>
29959
29960         New module 'scandir'.
29961         * lib/dirent.in.h (scandir): New declaration.
29962         * lib/scandir.c: New file, from glibc with modifications.
29963         * m4/scandir.m4: New file.
29964         * modules/scandir: New file.
29965         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
29966         HAVE_SCANDIR.
29967         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
29968         HAVE_SCANDIR.
29969         * doc/posix-functions/scandir.texi: Mention the new module and the
29970         portability problems.
29971
29972 2009-01-17  Bruno Haible  <bruno@clisp.org>
29973
29974         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
29975         Update documentation.
29976         (func_remove_suffix): Escape all dots in the suffix. Update
29977         documentation.
29978         (func_filter_filelist): Update documentation.
29979         Reported by Ralf Wildenhues.
29980
29981 2009-01-17  Bruno Haible  <bruno@clisp.org>
29982
29983         * modules/dprintf-posix-tests: New file.
29984         * tests/test-dprintf-posix.sh: New file.
29985         * tests/test-dprintf-posix.c: New file.
29986
29987         New modules 'dprintf', 'dprintf-posix'.
29988         * lib/stdio.in.h (dprintf): New declaration.
29989         * lib/dprintf.c: New file.
29990         * m4/dprintf.m4: New file.
29991         * m4/dprintf-posix.m4: New file.
29992         * modules/dprintf: New file.
29993         * modules/dprintf-posix: New file.
29994         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
29995         HAVE_DPRINTF, REPLACE_DPRINTF.
29996         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
29997         HAVE_DPRINTF, REPLACE_DPRINTF.
29998         * doc/posix-functions/dprintf.texi: Mention the new modules.
29999
30000 2009-01-17  Bruno Haible  <bruno@clisp.org>
30001
30002         * modules/vdprintf-posix-tests: New file.
30003         * tests/test-vdprintf-posix.sh: New file.
30004         * tests/test-vdprintf-posix.c: New file.
30005
30006         New modules 'vdprintf', 'vdprintf-posix'.
30007         * lib/stdio.in.h (vdprintf): New declaration.
30008         * lib/vdprintf.c: New file.
30009         * m4/vdprintf.m4: New file.
30010         * m4/vdprintf-posix.m4: New file.
30011         * modules/vdprintf: New file.
30012         * modules/vdprintf-posix: New file.
30013         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
30014         HAVE_VDPRINTF, REPLACE_VDPRINTF.
30015         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
30016         HAVE_VDPRINTF, REPLACE_VDPRINTF.
30017         * doc/posix-functions/vdprintf.texi: Mention the new modules.
30018
30019 2009-01-17  Bruno Haible  <bruno@clisp.org>
30020
30021         Fix replacement of fopen on mingw.
30022         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
30023         mingw.
30024
30025 2009-01-17  Bruno Haible  <bruno@clisp.org>
30026
30027         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
30028         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
30029
30030 2009-01-17  Bruno Haible  <bruno@clisp.org>
30031
30032         Avoid test-fflush2.sh failure on mingw.
30033         * tests/test-fflush2.c: Include binary-io.h.
30034         (main): Put standard input into binary mode.
30035         * modules/fflush-tests (Depends-on): Add binary-io.
30036
30037 2009-01-17  Bruno Haible  <bruno@clisp.org>
30038
30039         * lib/wchar.in.h: In another particular situation, include only the
30040         system's <wchar.h> file.
30041         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
30042         Reported by Albert Chin-A-Young <china@thewrittenword.com>
30043         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
30044
30045 2009-01-17  Bruno Haible  <bruno@clisp.org>
30046
30047         Support for stripping executables in --enable-relocatable.
30048         * build-aux/install-reloc: Expect one more argument, or an environment
30049         variable RELOC_STRIP_PROG. If set, strip the destination program and
30050         its wrapper.
30051         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
30052         RELOC_STRIP_PROG.
30053         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
30054         to set RELOCATABLE_STRIP.
30055         * NEWS: Mention the new Makefile requirement.
30056
30057 2009-01-17  Bruno Haible  <bruno@clisp.org>
30058
30059         * build-aux/install-reloc: Remove debugging information left over by
30060         C compiler on MacOS X.
30061
30062 2009-01-17  Bruno Haible  <bruno@clisp.org>
30063
30064         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
30065         * lib/progreloc.c (find_executable): Fix type of pointer passed to
30066         _NSGetExecutablePath.
30067
30068 2009-01-16  Jim Meyering  <meyering@redhat.com>
30069
30070         strerror: avoid warnings about discarding "const"
30071         * lib/strerror.c (rpl_strerror): Instead of returning a const
30072         string from each and every "case", use a variable, and add a single
30073         cast after the switch.
30074
30075 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
30076
30077         * lib/arpa_inet.in.h: Add extern "C" block for C++.
30078
30079 2009-01-16  Bruno Haible  <bruno@clisp.org>
30080
30081         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
30082         array initializer syntax that also works in C++ mode.
30083         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30084
30085 2009-01-16  Jim Meyering  <meyering@redhat.com>
30086
30087         poll: suppress a warning
30088         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
30089         to ignore "...unsigned expression < 0 is always false" warnings.
30090
30091 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
30092
30093         poll: remove declarations of unused variables
30094         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
30095         sockbuf and optlen.
30096
30097 2009-01-15  Bruno Haible  <bruno@clisp.org>
30098
30099         Make fflush-after-ungetc POSIX compliant on BSD systems.
30100         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
30101         (clear_ungetc_buffer): Implement also for other systems.
30102         (rpl_fflush): On glibc systems, invoke
30103         clear_ungetc_buffer_preserving_position. Otherwise, invoke
30104         clear_ungetc_buffer after fetching the stream's position, not before.
30105
30106 2009-01-15  Bruno Haible  <bruno@clisp.org>
30107
30108         Make fflush-after-ungetc POSIX compliant on glibc systems.
30109         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
30110         after ungetc.
30111         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
30112         (rpl_fflush): On glibc systems, simply call the system's fflush
30113         function after clearing the ungetc buffer.
30114         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
30115         Instead, lseek only to the end of file, then use the system's fseeko
30116         for the rest. On glibc systems, reset the EOF indicator bit.
30117
30118 2009-01-15  Jim Meyering  <meyering@redhat.com>
30119
30120         openmp.m4: revert quote-adding change, for portability to older autoconf
30121         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
30122         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
30123         Simon Josefsson noticed the problem when using autoconf-2.61.
30124
30125 2009-01-15  Bruno Haible  <bruno@clisp.org>
30126
30127         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
30128         * tests/test-fflush2.c (ASSERT): Always fail.
30129         (main): Add two tests for fflush() after ungetc(), taking into account
30130         the Austin Group's clarification.
30131         Suggested by Eric Blake.
30132
30133 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
30134
30135         mktime.m4: remove K&R-style function prototypes
30136         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
30137         for the Sun C++ compiler.
30138
30139 2009-01-14  Bruno Haible  <bruno@clisp.org>
30140
30141         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
30142         while including <wchar.h>.
30143         * lib/wchar.in.h: In two particular situations on HP-UX, include only
30144         the system's <wchar.h> file.
30145         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30146
30147 2009-01-14  Bruno Haible  <bruno@clisp.org>
30148
30149         * m4/csharp.m4: Don't mention gettext on the serial number line.
30150         * m4/csharpexec.m4: Likewise.
30151         * m4/eaccess.m4: Likewise.
30152         * m4/javaexec.m4: Likewise.
30153         * m4/sig_atomic_t.m4: Likewise.
30154         * m4/tmpdir.m4: Likewise.
30155         * m4/intldir.m4: Bump gettext version.
30156         * m4/lib-ld.m4: Likewise.
30157
30158 2009-01-14  Bruno Haible  <bruno@clisp.org>
30159
30160         * lib/progname.c (set_program_name): Add more comments.
30161         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
30162
30163 2009-01-14  Simon Josefsson  <simon@josefsson.org>
30164
30165         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
30166         were sys/stat.h does not define it.
30167
30168 2009-01-14  Jim Meyering  <meyering@redhat.com>
30169
30170         many *.m4 files: improve m4 quoting
30171         99% of this change was performed by running the following commands:
30172         git ls-files | grep '\.m4$' | xargs perl -pi \
30173           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
30174           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
30175           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
30176           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
30177         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
30178         The remainder were to add Copyright dates, increment serial numbers,
30179         undo some changes in comments, exclude m4/intl.m4, and add quotes
30180         around the "1" in ",1" where the unusual spacing prohibited the
30181         above regexps from doing the job.  For more details, see
30182         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
30183         * m4/acl.m4: Modified.
30184         * m4/afs.m4: Likewise.
30185         * m4/alloca.m4: Likewise.
30186         * m4/argp.m4: Likewise.
30187         * m4/argz.m4: Likewise.
30188         * m4/atexit.m4: Likewise.
30189         * m4/bison-i18n.m4: Likewise.
30190         * m4/bison.m4: Likewise.
30191         * m4/byteswap.m4: Likewise.
30192         * m4/c-stack.m4: Likewise.
30193         * m4/c-strtod.m4: Likewise.
30194         * m4/calloc.m4: Likewise.
30195         * m4/canonicalize-lgpl.m4: Likewise.
30196         * m4/chown.m4: Likewise.
30197         * m4/clock_time.m4: Likewise.
30198         * m4/codeset.m4: Likewise.
30199         * m4/copy-file.m4: Likewise.
30200         * m4/csharp.m4: Likewise.
30201         * m4/csharpcomp.m4: Likewise.
30202         * m4/csharpexec.m4: Likewise.
30203         * m4/d-ino.m4: Likewise.
30204         * m4/d-type.m4: Likewise.
30205         * m4/dirfd.m4: Likewise.
30206         * m4/double-slash-root.m4: Likewise.
30207         * m4/eaccess.m4: Likewise.
30208         * m4/eealloc.m4: Likewise.
30209         * m4/environ.m4: Likewise.
30210         * m4/errno_h.m4: Likewise.
30211         * m4/euidaccess.m4: Likewise.
30212         * m4/execute.m4: Likewise.
30213         * m4/fatal-signal.m4: Likewise.
30214         * m4/fchdir.m4: Likewise.
30215         * m4/fcntl_h.m4: Likewise.
30216         * m4/fileblocks.m4: Likewise.
30217         * m4/filenamecat.m4: Likewise.
30218         * m4/findprog.m4: Likewise.
30219         * m4/flexmember.m4: Likewise.
30220         * m4/fnmatch.m4: Likewise.
30221         * m4/fopen.m4: Likewise.
30222         * m4/fpending.m4: Likewise.
30223         * m4/fprintf-posix.m4: Likewise.
30224         * m4/free.m4: Likewise.
30225         * m4/frexp.m4: Likewise.
30226         * m4/frexpl.m4: Likewise.
30227         * m4/fsusage.m4: Likewise.
30228         * m4/ftruncate.m4: Likewise.
30229         * m4/gc-camellia.m4: Likewise.
30230         * m4/gc-random.m4: Likewise.
30231         * m4/gc.m4: Likewise.
30232         * m4/getaddrinfo.m4: Likewise.
30233         * m4/getcwd-abort-bug.m4: Likewise.
30234         * m4/getcwd-path-max.m4: Likewise.
30235         * m4/getdate.m4: Likewise.
30236         * m4/getdomainname.m4: Likewise.
30237         * m4/getgroups.m4: Likewise.
30238         * m4/gethostname.m4: Likewise.
30239         * m4/gethrxtime.m4: Likewise.
30240         * m4/getline.m4: Likewise.
30241         * m4/getloadavg.m4: Likewise.
30242         * m4/getndelim2.m4: Likewise.
30243         * m4/getpass.m4: Likewise.
30244         * m4/gettext.m4: Likewise.
30245         * m4/gettime.m4: Likewise.
30246         * m4/gettimeofday.m4: Likewise.
30247         * m4/gnulib-common.m4: Likewise.
30248         * m4/group-member.m4: Likewise.
30249         * m4/host-os.m4: Likewise.
30250         * m4/iconv.m4: Likewise.
30251         * m4/iconv_open.m4: Likewise.
30252         * m4/inet_ntop.m4: Likewise.
30253         * m4/inet_pton.m4: Likewise.
30254         * m4/inline.m4: Likewise.
30255         * m4/intldir.m4: Likewise.
30256         * m4/intlmacosx.m4: Likewise.
30257         * m4/intmax.m4: Likewise.
30258         * m4/intmax_t.m4: Likewise.
30259         * m4/inttypes.m4: Likewise.
30260         * m4/inttypes_h.m4: Likewise.
30261         * m4/inttypes-pri.m4: Likewise.
30262         * m4/isapipe.m4: Likewise.
30263         * m4/isnand.m4: Likewise.
30264         * m4/isnanf.m4: Likewise.
30265         * m4/isnanl.m4: Likewise.
30266         * m4/javacomp.m4: Likewise.
30267         * m4/javaexec.m4: Likewise.
30268         * m4/jm-winsz1.m4: Likewise.
30269         * m4/jm-winsz2.m4: Likewise.
30270         * m4/lchown.m4: Likewise.
30271         * m4/lcmessage.m4: Likewise.
30272         * m4/ldexpl.m4: Likewise.
30273         * m4/lib-ld.m4: Likewise.
30274         * m4/lib-link.m4: Likewise.
30275         * m4/libsigsegv.m4: Likewise.
30276         * m4/link-follow.m4: Likewise.
30277         * m4/localcharset.m4: Likewise.
30278         * m4/locale-fr.m4: Likewise.
30279         * m4/locale-ja.m4: Likewise.
30280         * m4/locale-tr.m4: Likewise.
30281         * m4/locale-zh.m4: Likewise.
30282         * m4/lock.m4: Likewise.
30283         * m4/longlong.m4: Likewise.
30284         * m4/ls-mntd-fs.m4: Likewise.
30285         * m4/lstat.m4: Likewise.
30286         * m4/malloc.m4: Likewise.
30287         * m4/mathl.m4: Likewise.
30288         * m4/mbrtowc.m4: Likewise.
30289         * m4/mbstate_t.m4: Likewise.
30290         * m4/mbswidth.m4: Likewise.
30291         * m4/memchr.m4: Likewise.
30292         * m4/memcmp.m4: Likewise.
30293         * m4/memcpy.m4: Likewise.
30294         * m4/memmem.m4: Likewise.
30295         * m4/memmove.m4: Likewise.
30296         * m4/mempcpy.m4: Likewise.
30297         * m4/memrchr.m4: Likewise.
30298         * m4/memset.m4: Likewise.
30299         * m4/minmax.m4: Likewise.
30300         * m4/mkdir-slash.m4: Likewise.
30301         * m4/mkdtemp.m4: Likewise.
30302         * m4/mktime.m4: Likewise.
30303         * m4/mmap-anon.m4: Likewise.
30304         * m4/mountlist.m4: Likewise.
30305         * m4/nanosleep.m4: Likewise.
30306         * m4/nls.m4: Likewise.
30307         * m4/nocrash.m4: Likewise.
30308         * m4/open.m4: Likewise.
30309         * m4/openat.m4: Likewise.
30310         * m4/openmp.m4: Likewise.
30311         * m4/pathmax.m4: Likewise.
30312         * m4/perl.m4: Likewise.
30313         * m4/physmem.m4: Likewise.
30314         * m4/pipe.m4: Likewise.
30315         * m4/po.m4: Likewise.
30316         * m4/poll.m4: Likewise.
30317         * m4/posixtm.m4: Likewise.
30318         * m4/posixver.m4: Likewise.
30319         * m4/printf-frexp.m4: Likewise.
30320         * m4/printf-frexpl.m4: Likewise.
30321         * m4/printf-posix.m4: Likewise.
30322         * m4/printf-posix-rpl.m4: Likewise.
30323         * m4/printf.m4: Likewise.
30324         * m4/progtest.m4: Likewise.
30325         * m4/putenv.m4: Likewise.
30326         * m4/readline.m4: Likewise.
30327         * m4/readlink.m4: Likewise.
30328         * m4/readutmp.m4: Likewise.
30329         * m4/realloc.m4: Likewise.
30330         * m4/regex.m4: Likewise.
30331         * m4/relocatable.m4: Likewise.
30332         * m4/relocatable-lib.m4: Likewise.
30333         * m4/rename-dest-slash.m4: Likewise.
30334         * m4/rename.m4: Likewise.
30335         * m4/rmdir-errno.m4: Likewise.
30336         * m4/rmdir.m4: Likewise.
30337         * m4/roundf.m4: Likewise.
30338         * m4/roundl.m4: Likewise.
30339         * m4/rpmatch.m4: Likewise.
30340         * m4/save-cwd.m4: Likewise.
30341         * m4/selinux-selinux-h.m4: Likewise.
30342         * m4/setenv.m4: Likewise.
30343         * m4/settime.m4: Likewise.
30344         * m4/sig2str.m4: Likewise.
30345         * m4/sig_atomic_t.m4: Likewise.
30346         * m4/signalblocking.m4: Likewise.
30347         * m4/signbit.m4: Likewise.
30348         * m4/sigpipe.m4: Likewise.
30349         * m4/sockets.m4: Likewise.
30350         * m4/sockpfaf.m4: Likewise.
30351         * m4/st_dm_mode.m4: Likewise.
30352         * m4/stat-time.m4: Likewise.
30353         * m4/stdbool.m4: Likewise.
30354         * m4/stdint.m4: Likewise.
30355         * m4/stdint_h.m4: Likewise.
30356         * m4/stpcpy.m4: Likewise.
30357         * m4/stpncpy.m4: Likewise.
30358         * m4/strcase.m4: Likewise.
30359         * m4/strchrnul.m4: Likewise.
30360         * m4/strcspn.m4: Likewise.
30361         * m4/strdup.m4: Likewise.
30362         * m4/strftime.m4: Likewise.
30363         * m4/strndup.m4: Likewise.
30364         * m4/strnlen.m4: Likewise.
30365         * m4/strpbrk.m4: Likewise.
30366         * m4/strptime.m4: Likewise.
30367         * m4/strsep.m4: Likewise.
30368         * m4/strtod.m4: Likewise.
30369         * m4/strtoimax.m4: Likewise.
30370         * m4/strtok_r.m4: Likewise.
30371         * m4/strtol.m4: Likewise.
30372         * m4/strtoll.m4: Likewise.
30373         * m4/strtoul.m4: Likewise.
30374         * m4/strtoull.m4: Likewise.
30375         * m4/strtoumax.m4: Likewise.
30376         * m4/strverscmp.m4: Likewise.
30377         * m4/threadlib.m4: Likewise.
30378         * m4/timegm.m4: Likewise.
30379         * m4/tm_gmtoff.m4: Likewise.
30380         * m4/tmpdir.m4: Likewise.
30381         * m4/tmpfile.m4: Likewise.
30382         * m4/tzset.m4: Likewise.
30383         * m4/uintmax_t.m4: Likewise.
30384         * m4/unlinkdir.m4: Likewise.
30385         * m4/unlocked-io.m4: Likewise.
30386         * m4/uptime.m4: Likewise.
30387         * m4/userspec.m4: Likewise.
30388         * m4/utimbuf.m4: Likewise.
30389         * m4/utime.m4: Likewise.
30390         * m4/utimes-null.m4: Likewise.
30391         * m4/utimes.m4: Likewise.
30392         * m4/vararrays.m4: Likewise.
30393         * m4/vasnprintf.m4: Likewise.
30394         * m4/vfprintf-posix.m4: Likewise.
30395         * m4/vprintf-posix.m4: Likewise.
30396         * m4/wait-process.m4: Likewise.
30397         * m4/wchar_t.m4: Likewise.
30398         * m4/wint_t.m4: Likewise.
30399         * m4/write-any-file.m4: Likewise.
30400         * m4/yield.m4: Likewise.
30401
30402 2009-01-13  Bruno Haible  <bruno@clisp.org>
30403
30404         Avoid test-copy-file.sh failures when ACL support insufficient.
30405         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
30406         TESTS_ENVIRONMENT.
30407         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
30408         Reported by Jim Meyering.
30409
30410 2009-01-13  Bruno Haible  <bruno@clisp.org>
30411
30412         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
30413         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
30414         * modules/unistdio/u8-printf-parse (Files): Likewise.
30415         * modules/unistdio/u32-printf-parse (Files): Likewise.
30416         * modules/unistdio/ulc-printf-parse (Files): Likewise.
30417
30418 2009-01-13  Simon Josefsson  <simon@josefsson.org>
30419
30420         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
30421         and m4/inttypes_h.m4 too.
30422
30423 2009-01-12  Eric Blake  <ebb9@byu.net>
30424
30425         tests: IRIX 6.2 cc can't compile -0.0 into .data
30426         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
30427         rather than at compile-time.
30428         * tests/test-floorl.c (minus_zero): Likewise.
30429         * tests/test-frexpl.c (minus_zero): Likewise.
30430         * tests/test-isnan.c (minus_zerol): Likewise.
30431         * tests/test-isnanl.h (minus_zero): Likewise.
30432         * tests/test-ldexpl.c (minus_zero): Likewise.
30433         * tests/test-roundl.c (minus_zero): Likewise.
30434         * tests/test-signbit.c (minus_zerol): Likewise.
30435         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
30436         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
30437         * tests/test-truncl.c (minus_zero): Likewise.
30438         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
30439         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
30440         Reported by Tom G. Christensen and Nelson H. F. Beebe.
30441
30442 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
30443
30444         regex: fix glibc bug 9697
30445         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
30446         handling.
30447
30448 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
30449
30450         regex: fix glibc bug 697
30451         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
30452         being NULL also if there are no backreferences.
30453
30454 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
30455
30456         regex: merge glibc changes
30457         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
30458         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
30459         re_string_skip_chars, re_string_reconstruct): Likewise.
30460         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
30461
30462 2009-01-07  Jim Meyering  <meyering@redhat.com>
30463
30464         poll: filter through cppi
30465         * lib/poll.c: Indent cpp directives to reflect nesting.
30466
30467 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
30468
30469         poll: don't return uninitialized
30470         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
30471
30472 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
30473
30474         avoid compile failure on AIX 6.1
30475         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
30476         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
30477
30478 2009-01-04  Jim Meyering  <meyering@redhat.com>
30479
30480         remove duplicate inclusion of <stdio.h>
30481         * tests/test-fprintf-posix.c: Likewise.
30482         * tests/test-printf-posix.c: Likewise.
30483         * tests/test-snprintf-posix.c: Likewise.
30484         * tests/test-sprintf-posix.c: Likewise.
30485         * tests/test-vasprintf-posix.c: Likewise.
30486         * tests/test-vfprintf-posix.c: Likewise.
30487         * tests/test-vprintf-posix.c: Likewise.
30488         * tests/test-vsnprintf-posix.c: Likewise.
30489         * tests/test-vsprintf-posix.c: Likewise.
30490
30491 2009-01-03  Jim Meyering  <meyering@redhat.com>
30492
30493         gnulib-tool: fix sed-based filtering
30494         * gnulib-tool (func_filter_filelist): Remove extra backslash
30495         in sed_fff_filter definition.
30496
30497 2009-01-02  Jim Meyering  <meyering@redhat.com>
30498
30499         strftime: avoid compilation failure on Solaris 2.6
30500         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
30501         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
30502         Don't #define mbrlen or mbsinit, since now they're guaranteed to
30503         be available.  Reported by Tom G. Christensen.  Details in
30504         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
30505
30506 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30507             Bruno Haible  <bruno@clisp.org>
30508
30509         Speed up gnulib-tool by doing more string processing through shell
30510         built-ins.
30511         * gnulib-tool (fast_func_append): New variable.
30512         (func_remove_prefix, func_remove_suffix): New functions.
30513         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
30514         (func_filter_filelist): New function.
30515         (func_get_dependencies): Use func_remove_suffix instead of sed.
30516         (func_get_automake_snippet): Use func_filter_filelist instead of a
30517         subshell and sed invocation.
30518
30519 2009-01-01  Bruno Haible  <bruno@clisp.org>
30520
30521         Fix a security bug.
30522         * gnulib-tool (func_import, import, update): Don't allow the characters
30523         '"', '$', '`', '\' in macro arguments that become part of commands that
30524         are evaluated.
30525
30526 2009-01-01  Bruno Haible  <bruno@clisp.org>
30527
30528         * gnulib-tool (func_reset_sigpipe): Add more comments.
30529
30530 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30531
30532         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
30533         func_emit_tests_Makefile_am, func_import): Abort loops early if we
30534         already know the answer.
30535
30536 2009-01-01  Jim Meyering  <meyering@redhat.com>
30537
30538         * lib/version-etc.c (version_etc_va): Update copyright year.
30539
30540 2008-12-30  Bruno Haible  <bruno@clisp.org>
30541
30542         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
30543         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
30544         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
30545
30546 2008-12-29  Eric Blake  <ebb9@byu.net>
30547
30548         multiarch: avoid autoconf AC_REQUIRE bug
30549         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
30550         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
30551         2.63 and older.
30552         Reported by Bruno Haible, and analyzed in
30553         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
30554
30555 2008-12-29  Bruno Haible  <bruno@clisp.org>
30556
30557         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
30558         files in subdirectories correctly.
30559         Reported by Ralf Wildenhues.
30560
30561 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30562
30563         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
30564         rather than 'join FILE -', for Solaris join.
30565
30566 2008-12-29  Bruno Haible  <bruno@clisp.org>
30567
30568         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
30569         quoting.
30570         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
30571         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
30572         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
30573         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
30574         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
30575         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
30576         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
30577         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
30578         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
30579         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
30580         * m4/nls.m4 (AM_NLS): Likewise.
30581         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
30582         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
30583         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
30584         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
30585         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
30586         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30587         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
30588         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
30589         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
30590         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
30591         * m4/xsize.m4 (gl_XSIZE): Likewise.
30592         Suggested by Jim Meyering.
30593
30594 2008-11-17  Bruce Korb  <bkorb@gnu.org>
30595
30596         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
30597         * lib/parse-duration.c: use a switch instead of cascading if's.
30598
30599 2008-12-29  Eric Blake  <ebb9@byu.net>
30600
30601         wchar.h: supply WEOF on Irix 5.3
30602         * lib/wchar.in.h (wint_t): Also supply WEOF.
30603         * lib/wctype.in.h (wint_t): Likewise.
30604         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
30605         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
30606         Reported by Tom G. Christensen.
30607
30608 2008-12-26  Bruno Haible  <bruno@clisp.org>
30609
30610         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
30611         i486, i586, i686.
30612
30613 2008-12-26  Bruno Haible  <bruno@clisp.org>
30614
30615         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
30616
30617 2008-12-26  Bruno Haible  <bruno@clisp.org>
30618
30619         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
30620         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
30621         not __STDC_CONSTANT_MACROS.
30622         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
30623
30624 2008-12-25  Bruno Haible  <bruno@clisp.org>
30625
30626         Add support for universal builds to vasnprintf.
30627         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
30628         universal builds, guess no.
30629         * modules/vasnprintf-posix (Depends-on): Add multiarch.
30630         * modules/vasprintf-posix (Depends-on): Likewise.
30631         * modules/fprintf-posix (Depends-on): Likewise.
30632         * modules/vfprintf-posix (Depends-on): Likewise.
30633         * modules/snprintf-posix (Depends-on): Likewise.
30634         * modules/vsnprintf-posix (Depends-on): Likewise.
30635         * modules/sprintf-posix (Depends-on): Likewise.
30636         * modules/vsprintf-posix (Depends-on): Likewise.
30637         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
30638         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
30639         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
30640         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
30641         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
30642         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
30643         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
30644
30645         Add support for universal builds to <inttypes.h>.
30646         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
30647         _SCNu64_PREFIX): In Apple
30648         universal builds, define directly, using _LP64.
30649         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
30650         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
30651         * modules/inttypes (Depends-on): Add multiarch.
30652         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
30653
30654         Add support for universal builds to <stdint.h>.
30655         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
30656         universal builds, define directly, using _LP64.
30657         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
30658         Apple universal builds, don't test for the size and suffix of ptrdiff_t
30659         and size_t.
30660         * modules/stdint (Depends-on): Add multiarch.
30661         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
30662
30663         New module 'multiarch'.
30664         * modules/multiarch: New file.
30665         * m4/multiarch.m4: New file.
30666
30667 2008-12-25  Bruno Haible  <bruno@clisp.org>
30668
30669         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
30670
30671 2008-12-25  Bruno Haible  <bruno@clisp.org>
30672
30673         * modules/btowc (License): Relicense under LGPLv2+.
30674         * modules/mbsinit (License): Likewise.
30675         * modules/mbrtowc (License): Likewise.
30676         * modules/wcrtomb (License): Likewise.
30677         * modules/streq (License): Likewise.
30678         Reported by David Lutterkort <lutter@redhat.com>.
30679
30680 2008-12-23  Bruno Haible  <bruno@clisp.org>
30681
30682         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
30683
30684 2008-12-23  Bruno Haible  <bruno@clisp.org>
30685
30686         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
30687         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
30688         GETADDRINFO_LIB, not in LIBS.
30689         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
30690         * modules/canon-host (Link): Likewise.
30691         * NEWS: Mention the change.
30692         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
30693         GETADDRINFO_LIB.
30694
30695 2008-12-22  Bruno Haible  <bruno@clisp.org>
30696
30697         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
30698         * doc/posix-functions/iswalpha_l.texi: Likewise.
30699         * doc/posix-functions/iswblank_l.texi: Likewise.
30700         * doc/posix-functions/iswcntrl_l.texi: Likewise.
30701         * doc/posix-functions/iswctype_l.texi: Likewise.
30702         * doc/posix-functions/iswdigit_l.texi: Likewise.
30703         * doc/posix-functions/iswgraph_l.texi: Likewise.
30704         * doc/posix-functions/iswlower_l.texi: Likewise.
30705         * doc/posix-functions/iswprint_l.texi: Likewise.
30706         * doc/posix-functions/iswpunct_l.texi: Likewise.
30707         * doc/posix-functions/iswspace_l.texi: Likewise.
30708         * doc/posix-functions/iswupper_l.texi: Likewise.
30709         * doc/posix-functions/iswxdigit_l.texi: Likewise.
30710         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
30711         * doc/posix-functions/open_wmemstream.texi: Likewise.
30712         * doc/posix-functions/swscanf.texi: Likewise.
30713         * doc/posix-functions/towctrans_l.texi: Likewise.
30714         * doc/posix-functions/towlower.texi: Likewise.
30715         * doc/posix-functions/towlower_l.texi: Likewise.
30716         * doc/posix-functions/towupper.texi: Likewise.
30717         * doc/posix-functions/towupper_l.texi: Likewise.
30718         * doc/posix-functions/vfwprintf.texi: Likewise.
30719         * doc/posix-functions/vfwscanf.texi: Likewise.
30720         * doc/posix-functions/vswscanf.texi: Likewise.
30721         * doc/posix-functions/vwprintf.texi: Likewise.
30722         * doc/posix-functions/vwscanf.texi: Likewise.
30723         * doc/posix-functions/wcpcpy.texi: Likewise.
30724         * doc/posix-functions/wcpncpy.texi: Likewise.
30725         * doc/posix-functions/wcscasecmp.texi: Likewise.
30726         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
30727         * doc/posix-functions/wcscoll_l.texi: Likewise.
30728         * doc/posix-functions/wcsdup.texi: Likewise.
30729         * doc/posix-functions/wcsncasecmp.texi: Likewise.
30730         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
30731         * doc/posix-functions/wcsnlen.texi: Likewise.
30732         * doc/posix-functions/wcsnrtombs.texi: Likewise.
30733         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
30734         * doc/posix-functions/wctrans_l.texi: Likewise.
30735         * doc/posix-functions/wctype_l.texi: Likewise.
30736         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
30737         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
30738         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
30739         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
30740         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
30741         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
30742         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
30743         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
30744         * doc/glibc-functions/wcschrnul.texi: Likewise.
30745         * doc/glibc-functions/wcsftime_l.texi: Likewise.
30746         * doc/glibc-functions/wcstod_l.texi: Likewise.
30747         * doc/glibc-functions/wcstof_l.texi: Likewise.
30748         * doc/glibc-functions/wcstol_l.texi: Likewise.
30749         * doc/glibc-functions/wcstold_l.texi: Likewise.
30750         * doc/glibc-functions/wcstoll_l.texi: Likewise.
30751         * doc/glibc-functions/wcstoq.texi: Likewise.
30752         * doc/glibc-functions/wcstoul_l.texi: Likewise.
30753         * doc/glibc-functions/wcstoull_l.texi: Likewise.
30754         * doc/glibc-functions/wcstouq.texi: Likewise.
30755         * doc/glibc-functions/wmempcpy.texi: Likewise.
30756
30757 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
30758             Eric Blake  <ebb9@byu.net>
30759             Paolo Bonzini  <bonzini@gnu.org>
30760             Bruno Haible  <bruno@clisp.org>
30761
30762         Make c-stack work on Haiku.
30763         * lib/c-stack.c (SA_ONSTACK): Define fallback.
30764         (c_stack_action): Use SA_ONSTACK flag.
30765
30766 2008-12-22  Bruno Haible  <bruno@clisp.org>
30767
30768         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
30769
30770 2008-12-22  Bruno Haible  <bruno@clisp.org>
30771
30772         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
30773         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
30774         being overridden.
30775         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
30776         New macros.
30777         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
30778         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
30779         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
30780         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
30781
30782 2008-12-22  Bruno Haible  <bruno@clisp.org>
30783
30784         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
30785         from test code.
30786
30787 2008-12-22  Eric Blake  <ebb9@byu.net>
30788
30789         Avoid gcc warnings on cygwin.
30790         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
30791         Avoid unused variable.
30792         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
30793         Likewise.
30794
30795 2008-12-22  Bruno Haible  <bruno@clisp.org>
30796
30797         Remove HAVE_MBRTOWC conditionals.
30798         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
30799         (mbscasecmp): Assume mbrtowc function.
30800         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
30801         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
30802         * lib/mbschr.c: Include mbuiter.h unconditionally.
30803         (mbschr): Assume mbrtowc function.
30804         * lib/mbscspn.c: Include mbuiter.h unconditionally.
30805         (mbscspn): Assume mbrtowc function.
30806         * lib/mbslen.c: Include mbuiter.h unconditionally.
30807         (mbslen): Assume mbrtowc function.
30808         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
30809         (mbsncasecmp): Assume mbrtowc function.
30810         * lib/mbsnlen.c: Include mbiter.h unconditionally.
30811         (mbsnlen): Assume mbrtowc function.
30812         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
30813         (mbspbrk): Assume mbrtowc function.
30814         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
30815         (mbspcasecmp): Assume mbrtowc function.
30816         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
30817         (mbsrchr): Assume mbrtowc function.
30818         * lib/mbssep.c: Include mbuiter.h unconditionally.
30819         (mbssep): Assume mbrtowc function.
30820         * lib/mbsspn.c: Include mbuiter.h unconditionally.
30821         (mbsspn): Assume mbrtowc function.
30822         * lib/mbsstr.c: Include mbuiter.h unconditionally.
30823         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
30824         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
30825         (mbstok_r): Assume mbrtowc function.
30826         * lib/propername.c: Include mbuiter.h unconditionally.
30827         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
30828         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
30829         (trim2): Assume mbrtowc function.
30830         * lib/mbswidth.c (mbsinit): Remove fallback definition.
30831         (mbsnwidth): Assume mbrtowc function.
30832         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
30833         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
30834         fallback definitions.
30835         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
30836
30837 2008-12-22  Bruno Haible  <bruno@clisp.org>
30838
30839         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
30840
30841 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
30842
30843         * modules/regex: Request emulations for the mb*/wc* functions we need.
30844         * m4/regex.m4: Don't look for those functions here.
30845         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
30846
30847 2008-12-22  Bruno Haible  <bruno@clisp.org>
30848
30849         * modules/fnmatch (Depends-on): Remove duplicated dependency.
30850
30851 2008-12-21  Bruno Haible  <bruno@clisp.org>
30852
30853         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
30854         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
30855         (Include): Remove conditionalization.
30856         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
30857         (Include): Remove conditionalization.
30858         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
30859         (Include): Remove conditionalization.
30860         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
30861         * m4/mbfile.m4 (gl_MBFILE): Likewise.
30862         * NEWS: Mention the change.
30863         Reported by Alan Hourihane <alanh@fairlite.co.uk>
30864         via Sergey Poznyakoff <gray@gnu.org.ua>.
30865
30866 2008-12-21  Bruno Haible  <bruno@clisp.org>
30867
30868         * MODULES.html.sh (Extended multibyte and wide character utilities
30869         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
30870         wcrtomb, wcsrtombs.
30871         (Support for systems lacking POSIX:2008): Add accept, bind, close,
30872         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
30873         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
30874         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
30875
30876 2008-12-21  Bruno Haible  <bruno@clisp.org>
30877
30878         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
30879
30880 2008-12-21  Bruno Haible  <bruno@clisp.org>
30881
30882         * modules/wcsnrtombs-tests: New file.
30883         * tests/test-wcsnrtombs1.sh: New file.
30884         * tests/test-wcsnrtombs2.sh: New file.
30885         * tests/test-wcsnrtombs3.sh: New file.
30886         * tests/test-wcsnrtombs4.sh: New file.
30887         * tests/test-wcsnrtombs.c: New file.
30888
30889         New module 'wcsnrtombs'.
30890         * lib/wchar.in.h (wcsnrtombs): New declaration.
30891         * lib/wcsnrtombs.c: New file.
30892         * lib/wcsrtombs-state.c: New file.
30893         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
30894         (internal_state): Remove variable.
30895         * m4/wcsnrtombs.m4: New file.
30896         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
30897         compilation units.
30898         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
30899         HAVE_WCSNRTOMBS.
30900         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
30901         HAVE_WCSNRTOMBS.
30902         * modules/wcsnrtombs: New file.
30903         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
30904         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
30905
30906 2008-12-21  Bruno Haible  <bruno@clisp.org>
30907
30908         * modules/wcsrtombs-tests: New file.
30909         * tests/test-wcsrtombs1.sh: New file.
30910         * tests/test-wcsrtombs2.sh: New file.
30911         * tests/test-wcsrtombs3.sh: New file.
30912         * tests/test-wcsrtombs4.sh: New file.
30913         * tests/test-wcsrtombs.c: New file.
30914
30915         New module 'wcsrtombs'.
30916         * lib/wchar.in.h (wcsrtombs): New declaration.
30917         * lib/wcsrtombs.c: New file.
30918         * m4/wcsrtombs.m4: New file.
30919         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
30920         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
30921         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
30922         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
30923         * modules/wcsrtombs: New file.
30924         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
30925         bugs.
30926
30927 2008-12-21  Bruno Haible  <bruno@clisp.org>
30928
30929         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
30930         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
30931         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
30932         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
30933         if not correct.
30934         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
30935         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
30936         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
30937         m4/locale-zh.m4, m4/codeset.m4.
30938         * doc/posix-functions/wcrtomb.texi: Document the bug.
30939
30940 2008-12-21  Bruno Haible  <bruno@clisp.org>
30941
30942         Work around a btowc() bug on IRIX 6.5.
30943         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
30944         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
30945         REPLACE_WTOBC if not.
30946         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
30947         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
30948         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
30949
30950 2008-12-21  Bruno Haible  <bruno@clisp.org>
30951
30952         * modules/wcrtomb-tests: New file.
30953         * tests/test-wcrtomb.sh: New file.
30954         * tests/test-wcrtomb.c: New file.
30955
30956         New module 'wcrtomb'.
30957         * lib/wchar.in.h (wcrtomb): New declaration.
30958         * lib/wcrtomb.c: New file.
30959         * m4/wcrtomb.m4: New file.
30960         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
30961         HAVE_WCRTOMB.
30962         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
30963         HAVE_WCRTOMB.
30964         * modules/wcrtomb: New file.
30965         * doc/posix-functions/wcrtomb.texi: Mention the new module.
30966
30967 2008-12-21  Bruno Haible  <bruno@clisp.org>
30968
30969         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
30970         * modules/mbsrtowcs (Files): Likewise.
30971         * modules/wctob (Files): Likewise.
30972         * modules/c-strcase-tests (Files): Likewise.
30973         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
30974         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
30975         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
30976         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
30977         * modules/vasnprintf-posix-tests (Files): Likewise.
30978
30979 2008-12-21  William Pursell  <bill.pursell@gmail.com>
30980
30981         gitlog-to-changelog: pass all command-line arguments to git-log
30982         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
30983         it is sometimes convenient to filter the commits in various ways.
30984         gitlog-to-changelog only allows --since to specify a start date,
30985         but git-log itself supports many other filtering mechanisms.
30986         At the moment, I want to filter by branch name.  Rather than
30987         adding a --branch option to gitlog-to-changelog, it seems more
30988         flexible to simply pass all options directly to git-log and let
30989         git do the work.  Notice that this effectively makes --since a
30990         redundant option for gitlog-to-changelog, but removing it would
30991         require current usage to change since calls would then require
30992         an additional '--'.
30993
30994 2008-12-21  Bruno Haible  <bruno@clisp.org>
30995
30996         * modules/mbsnrtowcs-tests: New file.
30997         * tests/test-mbsnrtowcs1.sh: New file.
30998         * tests/test-mbsnrtowcs2.sh: New file.
30999         * tests/test-mbsnrtowcs3.sh: New file.
31000         * tests/test-mbsnrtowcs4.sh: New file.
31001         * tests/test-mbsnrtowcs.c: New file.
31002
31003         New module 'mbsnrtowcs'.
31004         * lib/wchar.in.h (mbsnrtowcs): New declaration.
31005         * lib/mbsnrtowcs.c: New file.
31006         * lib/mbsrtowcs-state.c: New file.
31007         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
31008         (internal_state): Remove variable.
31009         * m4/mbsnrtowcs.m4: New file.
31010         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
31011         compilation units.
31012         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
31013         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
31014         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
31015         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
31016         * modules/mbsnrtowcs: New file.
31017         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
31018         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
31019         portability problem.
31020
31021 2008-12-21  Bruno Haible  <bruno@clisp.org>
31022
31023         Work around mbsrtowcs bug.
31024         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
31025         (gl_FUNC_MBSRTOWCS): Invoke it.
31026         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
31027         m4/locale-zh.m4.
31028         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
31029
31030 2008-12-21  Bruno Haible  <bruno@clisp.org>
31031
31032         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
31033
31034 2008-12-21  Bruno Haible  <bruno@clisp.org>
31035
31036         Update doc for AIX.
31037         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
31038         16-bit wchar_t type.
31039         * doc/posix-functions/btowc.texi: Likewise.
31040         * doc/posix-functions/fgetwc.texi: Likewise.
31041         * doc/posix-functions/fgetws.texi: Likewise.
31042         * doc/posix-functions/fputwc.texi: Likewise.
31043         * doc/posix-functions/fputws.texi: Likewise.
31044         * doc/posix-functions/fwide.texi: Likewise.
31045         * doc/posix-functions/fwprintf.texi: Likewise.
31046         * doc/posix-functions/fwscanf.texi: Likewise.
31047         * doc/posix-functions/getwchar.texi: Likewise.
31048         * doc/posix-functions/getwc.texi: Likewise.
31049         * doc/posix-functions/iswalnum.texi: Likewise.
31050         * doc/posix-functions/iswalpha.texi: Likewise.
31051         * doc/posix-functions/iswblank.texi: Likewise.
31052         * doc/posix-functions/iswcntrl.texi: Likewise.
31053         * doc/posix-functions/iswctype.texi: Likewise.
31054         * doc/posix-functions/iswdigit.texi: Likewise.
31055         * doc/posix-functions/iswgraph.texi: Likewise.
31056         * doc/posix-functions/iswlower.texi: Likewise.
31057         * doc/posix-functions/iswprint.texi: Likewise.
31058         * doc/posix-functions/iswpunct.texi: Likewise.
31059         * doc/posix-functions/iswspace.texi: Likewise.
31060         * doc/posix-functions/iswupper.texi: Likewise.
31061         * doc/posix-functions/iswxdigit.texi: Likewise.
31062         * doc/posix-functions/mbrtowc.texi: Likewise.
31063         * doc/posix-functions/mbsrtowcs.texi: Likewise.
31064         * doc/posix-functions/mbstowcs.texi: Likewise.
31065         * doc/posix-functions/mbtowc.texi: Likewise.
31066         * doc/posix-functions/putwchar.texi: Likewise.
31067         * doc/posix-functions/putwc.texi: Likewise.
31068         * doc/posix-functions/swprintf.texi: Likewise.
31069         * doc/posix-functions/tolower.texi: Likewise.
31070         * doc/posix-functions/toupper.texi: Likewise.
31071         * doc/posix-functions/towctrans.texi: Likewise.
31072         * doc/posix-functions/ungetwc.texi: Likewise.
31073         * doc/posix-functions/vswprintf.texi: Likewise.
31074         * doc/posix-functions/wcrtomb.texi: Likewise.
31075         * doc/posix-functions/wcscat.texi: Likewise.
31076         * doc/posix-functions/wcschr.texi: Likewise.
31077         * doc/posix-functions/wcscmp.texi: Likewise.
31078         * doc/posix-functions/wcscoll.texi: Likewise.
31079         * doc/posix-functions/wcscpy.texi: Likewise.
31080         * doc/posix-functions/wcscspn.texi: Likewise.
31081         * doc/posix-functions/wcsftime.texi: Likewise.
31082         * doc/posix-functions/wcslen.texi: Likewise.
31083         * doc/posix-functions/wcsncat.texi: Likewise.
31084         * doc/posix-functions/wcsncmp.texi: Likewise.
31085         * doc/posix-functions/wcsncpy.texi: Likewise.
31086         * doc/posix-functions/wcspbrk.texi: Likewise.
31087         * doc/posix-functions/wcsrchr.texi: Likewise.
31088         * doc/posix-functions/wcsrtombs.texi: Likewise.
31089         * doc/posix-functions/wcsspn.texi: Likewise.
31090         * doc/posix-functions/wcsstr.texi: Likewise.
31091         * doc/posix-functions/wcstod.texi: Likewise.
31092         * doc/posix-functions/wcstof.texi: Likewise.
31093         * doc/posix-functions/wcstoimax.texi: Likewise.
31094         * doc/posix-functions/wcstok.texi: Likewise.
31095         * doc/posix-functions/wcstold.texi: Likewise.
31096         * doc/posix-functions/wcstoll.texi: Likewise.
31097         * doc/posix-functions/wcstol.texi: Likewise.
31098         * doc/posix-functions/wcstombs.texi: Likewise.
31099         * doc/posix-functions/wcstoull.texi: Likewise.
31100         * doc/posix-functions/wcstoul.texi: Likewise.
31101         * doc/posix-functions/wcstoumax.texi: Likewise.
31102         * doc/posix-functions/wcswidth.texi: Likewise.
31103         * doc/posix-functions/wcsxfrm.texi: Likewise.
31104         * doc/posix-functions/wctob.texi: Likewise.
31105         * doc/posix-functions/wctomb.texi: Likewise.
31106         * doc/posix-functions/wctrans.texi: Likewise.
31107         * doc/posix-functions/wctype.texi: Likewise.
31108         * doc/posix-functions/wcwidth.texi: Likewise.
31109         * doc/posix-functions/wmemchr.texi: Likewise.
31110         * doc/posix-functions/wmemcmp.texi: Likewise.
31111         * doc/posix-functions/wmemcpy.texi: Likewise.
31112         * doc/posix-functions/wmemmove.texi: Likewise.
31113         * doc/posix-functions/wmemset.texi: Likewise.
31114         * doc/posix-functions/wprintf.texi: Likewise.
31115         * doc/posix-functions/wscanf.texi: Likewise.
31116
31117 2008-12-21  Bruno Haible  <bruno@clisp.org>
31118
31119         Update doc for HP-UX 11.11.
31120         * doc/posix-functions/btowc.texi: Clarify that the function is missing
31121         in HP-UX version 11.00, not in all versions of HP-UX 11.
31122         * doc/posix-functions/fwide.texi: Likewise.
31123         * doc/posix-functions/fwprintf.texi: Likewise.
31124         * doc/posix-functions/fwscanf.texi: Likewise.
31125         * doc/posix-functions/inet_ntop.texi: Likewise.
31126         * doc/posix-functions/inet_pton.texi: Likewise.
31127         * doc/posix-functions/mbrlen.texi: Likewise.
31128         * doc/posix-functions/mbrtowc.texi: Likewise.
31129         * doc/posix-functions/mbsinit.texi: Likewise.
31130         * doc/posix-functions/mbsrtowcs.texi: Likewise.
31131         * doc/posix-functions/swprintf.texi: Likewise.
31132         * doc/posix-functions/swscanf.texi: Likewise.
31133         * doc/posix-functions/towctrans.texi: Likewise.
31134         * doc/posix-functions/vfwprintf.texi: Likewise.
31135         * doc/posix-functions/vswprintf.texi: Likewise.
31136         * doc/posix-functions/vwprintf.texi: Likewise.
31137         * doc/posix-functions/wcrtomb.texi: Likewise.
31138         * doc/posix-functions/wcsrtombs.texi: Likewise.
31139         * doc/posix-functions/wcsstr.texi: Likewise.
31140         * doc/posix-functions/wctob.texi: Likewise.
31141         * doc/posix-functions/wctrans.texi: Likewise.
31142         * doc/posix-functions/wmemchr.texi: Likewise.
31143         * doc/posix-functions/wmemcmp.texi: Likewise.
31144         * doc/posix-functions/wmemcpy.texi: Likewise.
31145         * doc/posix-functions/wmemmove.texi: Likewise.
31146         * doc/posix-functions/wmemset.texi: Likewise.
31147         * doc/posix-functions/wprintf.texi: Likewise.
31148         * doc/posix-functions/wscanf.texi: Likewise.
31149
31150 2008-12-21  Bruno Haible  <bruno@clisp.org>
31151
31152         Work around a portability problem.
31153         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
31154         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
31155
31156 2008-12-20  Bruno Haible  <bruno@clisp.org>
31157
31158         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
31159         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
31160         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
31161         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
31162         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
31163
31164         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
31165         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
31166         set.
31167         (GNULIB_defined_mbstate_t): New macro.
31168         (mbsinit): Redefine if REPLACE_MBSINIT is set.
31169         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
31170         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
31171         reuses the system's mbrtowc function but works around the bugs.
31172         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
31173         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
31174         macros.
31175         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
31176         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
31177         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
31178         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
31179         REPLACE_MBSINIT if mbsinit needs to be overridden.
31180         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
31181         REPLACE_MBSINIT, REPLACE_MBRTOWC.
31182         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
31183         REPLACE_MBSINIT, REPLACE_MBRTOWC.
31184         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
31185         m4/locale-zh.m4.
31186         (Depends): Add mbsinit.
31187         * modules/mbsinit (Depends): Add mbrtowc.
31188         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
31189
31190 2008-12-20  Bruno Haible  <bruno@clisp.org>
31191
31192         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
31193         so that there are no conversion errors on AIX.
31194         * tests/test-mbsrtowcs.c (main): LIkewise.
31195
31196 2008-12-20  Bruno Haible  <bruno@clisp.org>
31197
31198         Work around wctob bug on Solaris <= 9.
31199         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
31200         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
31201         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
31202         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
31203         * modules/wctob (Files): Add m4/locale-fr.m4.
31204         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
31205
31206 2008-12-20  Bruno Haible  <bruno@clisp.org>
31207
31208         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
31209         /dev/null.
31210         * tests/test-select-in.sh: Likewise.
31211         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31212
31213 2008-12-20  Bruno Haible  <bruno@clisp.org>
31214
31215         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
31216         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
31217         Cygwin 1.5.x.
31218
31219 2008-12-20  Bruno Haible  <bruno@clisp.org>
31220
31221         Ensure mbstate_t is defined on HP-UX 11.11.
31222         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
31223         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
31224         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
31225         AC_USE_SYSTEM_EXTENSIONS.
31226         * modules/fnmatch (Depends-on): Add extensions.
31227         * modules/mbrlen (Depends-on): Likewise.
31228         * modules/mbrtowc (Depends-on): Likewise.
31229         * modules/mbsinit (Depends-on): Likewise.
31230         * modules/mbsrtowcs (Depends-on): Likewise.
31231         * modules/mbswidth (Depends-on): Likewise.
31232         * modules/quotearg (Depends-on): Likewise.
31233         * modules/strftime (Depends-on): Likewise.
31234
31235 2008-12-20  Bruno Haible  <bruno@clisp.org>
31236
31237         Ensure wctob is declared on IRIX 6.5.
31238         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
31239         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
31240         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
31241         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
31242         of HAVE_WCTOB.
31243         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
31244         HAVE_WCTOB.
31245         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
31246
31247 2008-12-19  Bruno Haible  <bruno@clisp.org>
31248
31249         * modules/mbsrtowcs-tests: New file.
31250         * tests/test-mbsrtowcs1.sh: New file.
31251         * tests/test-mbsrtowcs2.sh: New file.
31252         * tests/test-mbsrtowcs3.sh: New file.
31253         * tests/test-mbsrtowcs4.sh: New file.
31254         * tests/test-mbsrtowcs.c: New file.
31255
31256         New module 'mbsrtowcs'.
31257         * lib/wchar.in.h (mbsrtowcs): New declaration.
31258         * lib/mbsrtowcs.c: New file.
31259         * m4/mbsrtowcs.m4: New file.
31260         * modules/mbsrtowcs: New file.
31261         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
31262         HAVE_MBSRTOWCS.
31263         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
31264         HAVE_MBSRTOWCS.
31265         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
31266
31267 2008-12-19  Bruno Haible  <bruno@clisp.org>
31268
31269         New module 'mbrlen'.
31270         * lib/wchar.in.h (mbrlen): New declaration.
31271         * lib/mbrlen.c: New file.
31272         * m4/mbrlen.m4: New file.
31273         * modules/mbrlen: New file.
31274         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
31275         HAVE_MBRLEN.
31276         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
31277         HAVE_MBRLEN.
31278         * doc/posix-functions/mbrlen.texi: Document the new module.
31279
31280 2008-12-19  Bruno Haible  <bruno@clisp.org>
31281
31282         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
31283         * modules/mbrtowc (Depends-on): Add verify.
31284         Suggested by Paul Eggert.
31285
31286 2008-12-18  Bruno Haible  <bruno@clisp.org>
31287
31288         * modules/mbsinit-tests: New file.
31289         * tests/test-mbsinit.sh: New file.
31290         * tests/test-mbsinit.c: New file.
31291
31292 2008-12-18  Bruno Haible  <bruno@clisp.org>
31293
31294         * modules/mbrtowc-tests: New file.
31295         * tests/test-mbrtowc1.sh: New file.
31296         * tests/test-mbrtowc2.sh: New file.
31297         * tests/test-mbrtowc3.sh: New file.
31298         * tests/test-mbrtowc4.sh: New file.
31299         * tests/test-mbrtowc.c: New file.
31300
31301         New module 'mbrtowc'.
31302         * lib/wchar.in.h (mbstate_t): Override when the system does not have
31303         mbsinit and mbrtowc.
31304         (mbrtowc): New declaration.
31305         * lib/mbrtowc.c: New file.
31306         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
31307         * modules/mbrtowc: New file.
31308         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
31309         HAVE_MBRTOWC.
31310         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
31311         HAVE_MBRTOWC.
31312         * doc/posix-functions/mbrtowc.texi: Document the new module.
31313
31314 2008-12-18  Bruno Haible  <bruno@clisp.org>
31315
31316         New module 'wctob'.
31317         * lib/wchar.in.h (wctob): New declaration.
31318         * lib/wctob.c: New file.
31319         * m4/wctob.m4: New file.
31320         * modules/wctob: New file.
31321         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
31322         HAVE_WCTOB.
31323         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
31324         * doc/posix-functions/wctob.texi: Document the new module.
31325
31326 2008-12-18  Bruno Haible  <bruno@clisp.org>
31327
31328         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
31329         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
31330
31331 2008-12-18  Simon Josefsson  <simon@josefsson.org>
31332
31333         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
31334         G. Christensen" <tgc@jupiterrise.com>.
31335
31336         * lib/flock.c: Need to include errno.h.  Reported by "Tom
31337         G. Christensen" <tgc@jupiterrise.com>.
31338
31339         * lib/flock.c: Need to include string.h.  Reported by "Tom
31340         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
31341         <ebb9@byu.net>.
31342
31343 2008-12-18  Bruno Haible  <bruno@clisp.org>
31344
31345         * m4/locale-ja.m4: New file, from GNU gettext.
31346
31347 2008-12-17  Bruno Haible  <bruno@clisp.org>
31348
31349         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
31350         Suggested by Eric Blake.
31351
31352 2008-12-17  Bruno Haible  <bruno@clisp.org>
31353
31354         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
31355
31356 2008-12-17  Bruno Haible  <bruno@clisp.org>
31357
31358         * lib/mbsinit.c: Include verify.h. Verify an assumption.
31359         * modules/mbsinit (Depends-on): Add verify.
31360         Suggested by Paul Eggert.
31361
31362 2008-12-17  Bruno Haible  <bruno@clisp.org>
31363
31364         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
31365         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
31366         gl_FUNC_MBRTOWC.
31367         * m4/mbiter.m4 (gl_MBITER): LIkewise.
31368         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
31369         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
31370         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
31371         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
31372         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
31373         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
31374         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
31375         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
31376         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
31377         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
31378         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
31379         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
31380         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
31381         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
31382         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
31383         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
31384         * modules/trim (configure.ac): Likewise.
31385
31386 2008-12-17  Bruno Haible  <bruno@clisp.org>
31387
31388         * modules/btowc-tests: New file.
31389         * tests/test-btowc1.sh: New file.
31390         * tests/test-btowc2.sh: New file.
31391         * tests/test-btowc.c: New file.
31392
31393         New module 'btowc'.
31394         * lib/wchar.in.h (btowc): New declaration.
31395         * lib/btowc.c: New file.
31396         * m4/btowc.m4: New file.
31397         * modules/btowc: New file.
31398         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
31399         HAVE_BTOWC.
31400         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
31401         * doc/posix-functions/btowc.texi: Document the new module.
31402
31403 2008-12-17  Bruno Haible  <bruno@clisp.org>
31404
31405         New module 'mbsinit'.
31406         * lib/wchar.in.h (mbsinit): New declaration.
31407         * lib/mbsinit.c: New file.
31408         * m4/mbsinit.m4: New file.
31409         * modules/mbsinit: New file.
31410         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
31411         HAVE_MBSINIT.
31412         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
31413         HAVE_MBSINIT.
31414         * doc/posix-functions/mbsinit.texi: Document the new module.
31415
31416 2008-12-16  Bruno Haible  <bruno@clisp.org>
31417
31418         * lib/unistd.in.h: Add comment.
31419         * tests/test-environ.c: Don't include <stdlib.h>.
31420
31421 2008-12-16  Bruno Haible  <bruno@clisp.org>
31422
31423         * lib/parse-duration.h (parse_duration): Document return value
31424         convention.
31425         * lib/parse-duration.c: Include specification header first. Add
31426         comments.
31427         (_): Remove macro.
31428         (parse_year_month_day, parse_hour_minute_second): Move side effects
31429         outside of strchr call.
31430         (parse_non_iso8601): Move side effects outside of isspace call.
31431         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
31432         call.
31433
31434 2008-12-16  Bruno Haible  <bruno@clisp.org>
31435
31436         * tests/test-parse-duration.sh: Produce no output when the test
31437         succeeds.
31438
31439 2008-12-16  Bruno Haible  <bruno@clisp.org>
31440
31441         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
31442         expressions.
31443
31444 2008-12-15  Bruno Haible  <bruno@clisp.org>
31445
31446         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
31447         * doc/glibc-functions/flistxattr.texi: Likewise.
31448         * doc/glibc-functions/fopencookie.texi: Likewise.
31449         * doc/glibc-functions/fremovexattr.texi: Likewise.
31450         * doc/glibc-functions/fsetxattr.texi: Likewise.
31451         * doc/glibc-functions/getxattr.texi: Likewise.
31452         * doc/glibc-functions/lgetxattr.texi: Likewise.
31453         * doc/glibc-functions/listxattr.texi: Likewise.
31454         * doc/glibc-functions/llistxattr.texi: Likewise.
31455         * doc/glibc-functions/lremovexattr.texi: Likewise.
31456         * doc/glibc-functions/lsetxattr.texi: Likewise.
31457         * doc/glibc-functions/removexattr.texi: Likewise.
31458         * doc/glibc-functions/setxattr.texi: Likewise.
31459         * doc/posix-functions/open_memstream.texi: Likewise.
31460
31461 2008-12-15  Eric Blake  <ebb9@byu.net>
31462
31463         Update doc for cygwin 1.7.
31464         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
31465         functions.
31466         * doc/posix-functions/fchmodat.texi: Likewise.
31467         * doc/posix-functions/fchownat.texi: Likewise.
31468         * doc/posix-functions/fdopendir.texi: Likewise.
31469         * doc/posix-functions/fmemopen.texi: Likewise.
31470         * doc/posix-functions/freeaddrinfo.texi: Likewise.
31471         * doc/posix-functions/fstatat.texi: Likewise.
31472         * doc/posix-functions/futimens.texi: Likewise.
31473         * doc/posix-functions/gai_strerror.texi: Likewise.
31474         * doc/posix-functions/getaddrinfo.texi: Likewise.
31475         * doc/posix-functions/getnameinfo.texi: Likewise.
31476         * doc/posix-functions/if_freenameindex.texi: Likewise.
31477         * doc/posix-functions/if_indextoname.texi: Likewise.
31478         * doc/posix-functions/if_nameindex.texi: Likewise.
31479         * doc/posix-functions/if_nametoindex.texi: Likewise.
31480         * doc/posix-functions/insque.texi: Likewise.
31481         * doc/posix-functions/linkat.texi: Likewise.
31482         * doc/posix-functions/llrint.texi: Likewise.
31483         * doc/posix-functions/llrintf.texi: Likewise.
31484         * doc/posix-functions/llrintl.texi: Likewise.
31485         * doc/posix-functions/lockf.texi: Likewise.
31486         * doc/posix-functions/lrintl.texi: Likewise.
31487         * doc/posix-functions/mkdirat.texi: Likewise.
31488         * doc/posix-functions/mkfifoat.texi: Likewise.
31489         * doc/posix-functions/mknodat.texi: Likewise.
31490         * doc/posix-functions/mq_close.texi: Likewise.
31491         * doc/posix-functions/mq_getattr.texi: Likewise.
31492         * doc/posix-functions/mq_notify.texi: Likewise.
31493         * doc/posix-functions/mq_open.texi: Likewise.
31494         * doc/posix-functions/mq_receive.texi: Likewise.
31495         * doc/posix-functions/mq_send.texi: Likewise.
31496         * doc/posix-functions/mq_setattr.texi: Likewise.
31497         * doc/posix-functions/mq_timedreceive.texi: Likewise.
31498         * doc/posix-functions/mq_timedsend.texi: Likewise.
31499         * doc/posix-functions/mq_unlink.texi: Likewise.
31500         * doc/posix-functions/open_memstream.texi: Likewise.
31501         * doc/posix-functions/openat.texi: Likewise.
31502         * doc/posix-functions/posix_fadvise.texi: Likewise.
31503         * doc/posix-functions/posix_fallocate.texi: Likewise.
31504         * doc/posix-functions/posix_madvise.texi: Likewise.
31505         * doc/posix-functions/posix_memalign.texi: Likewise.
31506         * doc/posix-functions/posix_openpt.texi: Likewise.
31507         * doc/posix-functions/readlinkat.texi: Likewise.
31508         * doc/posix-functions/remque.texi: Likewise.
31509         * doc/posix-functions/renameat.texi: Likewise.
31510         * doc/posix-functions/rintl.texi: Likewise.
31511         * doc/posix-functions/sem_unlink.texi: Likewise.
31512         * doc/posix-functions/shm_open.texi: Likewise.
31513         * doc/posix-functions/shm_unlink.texi: Likewise.
31514         * doc/posix-functions/signgam.texi: Likewise.
31515         * doc/posix-functions/sigset.texi: Likewise.
31516         * doc/posix-functions/stpcpy.texi: Likewise.
31517         * doc/posix-functions/stpncpy.texi: Likewise.
31518         * doc/posix-functions/strerror.texi: Likewise.
31519         * doc/posix-functions/strtod.texi: Likewise.
31520         * doc/posix-functions/symlinkat.texi: Likewise.
31521         * doc/posix-functions/unlinkat.texi: Likewise.
31522         * doc/posix-functions/utimensat.texi: Likewise.
31523         * doc/glibc-functions/bindresvport.texi: Likewise.
31524         * doc/glibc-functions/dn_expand.texi: Likewise.
31525         * doc/glibc-functions/exp10.texi: Likewise.
31526         * doc/glibc-functions/exp10f.texi: Likewise.
31527         * doc/glibc-functions/fgetxattr.texi: Likewise.
31528         * doc/glibc-functions/flistxattr.texi: Likewise.
31529         * doc/glibc-functions/fopencookie.texi: Likewise.
31530         * doc/glibc-functions/freeifaddrs.texi: Likewise.
31531         * doc/glibc-functions/fremovexattr.texi: Likewise.
31532         * doc/glibc-functions/fsetxattr.texi: Likewise.
31533         * doc/glibc-functions/getifaddrs.texi: Likewise.
31534         * doc/glibc-functions/getxattr.texi: Likewise.
31535         * doc/glibc-functions/lgetxattr.texi: Likewise.
31536         * doc/glibc-functions/listxattr.texi: Likewise.
31537         * doc/glibc-functions/llistxattr.texi: Likewise.
31538         * doc/glibc-functions/lremovexattr.texi: Likewise.
31539         * doc/glibc-functions/lsetxattr.texi: Likewise.
31540         * doc/glibc-functions/pow10.texi: Likewise.
31541         * doc/glibc-functions/pow10f.texi: Likewise.
31542         * doc/glibc-functions/rcmd_af.texi: Likewise.
31543         * doc/glibc-functions/removexattr.texi: Likewise.
31544         * doc/glibc-functions/res_init.texi: Likewise.
31545         * doc/glibc-functions/res_mkquery.texi: Likewise.
31546         * doc/glibc-functions/res_query.texi: Likewise.
31547         * doc/glibc-functions/res_querydomain.texi: Likewise.
31548         * doc/glibc-functions/res_send.texi: Likewise.
31549         * doc/glibc-functions/rresvport_af.texi: Likewise.
31550         * doc/glibc-functions/setxattr.texi: Likewise.
31551         * doc/glibc-functions/strcasestr.texi: Likewise.
31552
31553 2008-12-15  Bruno Haible  <bruno@clisp.org>
31554
31555         Fix compilation error on OSF/1 4.0.
31556         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
31557         <sys/time.h>, simply delegate to the system header.
31558         Reported by Daniel Richard G. <oss@teragram.com>.
31559
31560 2008-12-15  Bruno Haible  <bruno@clisp.org>
31561
31562         * doc/posix-functions/openat.texi: Mention the 'openat' module.
31563         * doc/posix-functions/fchmodat.texi: Likewise.
31564         * doc/posix-functions/fchownat.texi: Likewise.
31565         * doc/posix-functions/fdopendir.texi: Likewise.
31566         * doc/posix-functions/fstatat.texi: Likewise.
31567         * doc/posix-functions/mkdirat.texi: Likewise.
31568         * doc/posix-functions/unlinkat.texi: Likewise.
31569
31570 2008-12-14  Bruno Haible  <bruno@clisp.org>
31571
31572         Update doc for POSIX:2008.
31573         * doc/posix-functions/faccessat.texi: New file.
31574         * doc/posix-functions/fchmodat.texi: New file.
31575         * doc/posix-functions/fchownat.texi: New file.
31576         * doc/posix-functions/fdopendir.texi: New file.
31577         * doc/posix-functions/fstatat.texi: New file.
31578         * doc/posix-functions/futimens.texi: New file.
31579         * doc/posix-functions/linkat.texi: New file.
31580         * doc/posix-functions/mkdirat.texi: New file.
31581         * doc/posix-functions/mkfifoat.texi: New file.
31582         * doc/posix-functions/mknodat.texi: New file.
31583         * doc/posix-functions/open_wmemstream.texi: New file.
31584         * doc/posix-functions/openat.texi: New file.
31585         * doc/posix-functions/psiginfo.texi: New file.
31586         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
31587         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
31588         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
31589         * doc/posix-functions/readlinkat.texi: New file.
31590         * doc/posix-functions/renameat.texi: New file.
31591         * doc/posix-functions/strerror_l.texi: New file.
31592         * doc/posix-functions/symlinkat.texi: New file.
31593         * doc/posix-functions/unlinkat.texi: New file.
31594         * doc/posix-functions/utimensat.texi: New file.
31595         * doc/gnulib.texi (Function Substitutes): Add these subsections.
31596
31597 2008-12-14  Bruno Haible  <bruno@clisp.org>
31598
31599         Update doc for POSIX:2008.
31600         * doc/posix-functions/alphasort.texi: Renamed from
31601         doc/glibc-functions/alphasort.texi.
31602         * doc/posix-functions/dirfd.texi: Renamed from
31603         doc/glibc-functions/dirfd.texi.
31604         * doc/posix-functions/dprintf.texi: Renamed from
31605         doc/glibc-functions/dprintf.texi.
31606         * doc/posix-functions/duplocale.texi: Renamed from
31607         doc/glibc-functions/duplocale.texi.
31608         * doc/posix-functions/fexecve.texi: Renamed from
31609         doc/glibc-functions/fexecve.texi.
31610         * doc/posix-functions/fmemopen.texi: Renamed from
31611         doc/glibc-functions/fmemopen.texi.
31612         * doc/posix-functions/freelocale.texi: Renamed from
31613         doc/glibc-functions/freelocale.texi.
31614         * doc/posix-functions/getdate_err.texi: Renamed from
31615         doc/glibc-functions/getdate_err.texi.
31616         * doc/posix-functions/isalnum_l.texi: Renamed from
31617         doc/glibc-functions/isalnum_l.texi.
31618         * doc/posix-functions/isalpha_l.texi: Renamed from
31619         doc/glibc-functions/isalpha_l.texi.
31620         * doc/posix-functions/isblank_l.texi: Renamed from
31621         doc/glibc-functions/isblank_l.texi.
31622         * doc/posix-functions/iscntrl_l.texi: Renamed from
31623         doc/glibc-functions/iscntrl_l.texi.
31624         * doc/posix-functions/isdigit_l.texi: Renamed from
31625         doc/glibc-functions/isdigit_l.texi.
31626         * doc/posix-functions/isgraph_l.texi: Renamed from
31627         doc/glibc-functions/isgraph_l.texi.
31628         * doc/posix-functions/islower_l.texi: Renamed from
31629         doc/glibc-functions/islower_l.texi.
31630         * doc/posix-functions/isprint_l.texi: Renamed from
31631         doc/glibc-functions/isprint_l.texi.
31632         * doc/posix-functions/ispunct_l.texi: Renamed from
31633         doc/glibc-functions/ispunct_l.texi.
31634         * doc/posix-functions/isspace_l.texi: Renamed from
31635         doc/glibc-functions/isspace_l.texi.
31636         * doc/posix-functions/isupper_l.texi: Renamed from
31637         doc/glibc-functions/isupper_l.texi.
31638         * doc/posix-functions/iswalnum_l.texi: Renamed from
31639         doc/glibc-functions/iswalnum_l.texi.
31640         * doc/posix-functions/iswalpha_l.texi: Renamed from
31641         doc/glibc-functions/iswalpha_l.texi.
31642         * doc/posix-functions/iswblank_l.texi: Renamed from
31643         doc/glibc-functions/iswblank_l.texi.
31644         * doc/posix-functions/iswcntrl_l.texi: Renamed from
31645         doc/glibc-functions/iswcntrl_l.texi.
31646         * doc/posix-functions/iswctype_l.texi: Renamed from
31647         doc/glibc-functions/iswctype_l.texi.
31648         * doc/posix-functions/iswdigit_l.texi: Renamed from
31649         doc/glibc-functions/iswdigit_l.texi.
31650         * doc/posix-functions/iswgraph_l.texi: Renamed from
31651         doc/glibc-functions/iswgraph_l.texi.
31652         * doc/posix-functions/iswlower_l.texi: Renamed from
31653         doc/glibc-functions/iswlower_l.texi.
31654         * doc/posix-functions/iswprint_l.texi: Renamed from
31655         doc/glibc-functions/iswprint_l.texi.
31656         * doc/posix-functions/iswpunct_l.texi: Renamed from
31657         doc/glibc-functions/iswpunct_l.texi.
31658         * doc/posix-functions/iswspace_l.texi: Renamed from
31659         doc/glibc-functions/iswspace_l.texi.
31660         * doc/posix-functions/iswupper_l.texi: Renamed from
31661         doc/glibc-functions/iswupper_l.texi.
31662         * doc/posix-functions/iswxdigit_l.texi: Renamed from
31663         doc/glibc-functions/iswxdigit_l.texi.
31664         * doc/posix-functions/isxdigit_l.texi: Renamed from
31665         doc/glibc-functions/isxdigit_l.texi.
31666         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
31667         doc/glibc-functions/mbsnrtowcs.texi.
31668         * doc/posix-functions/mkdtemp.texi: Renamed from
31669         doc/glibc-functions/mkdtemp.texi.
31670         * doc/posix-functions/newlocale.texi: Renamed from
31671         doc/glibc-functions/newlocale.texi.
31672         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
31673         doc/glibc-functions/nl_langinfo_l.texi.
31674         * doc/posix-functions/open_memstream.texi: Renamed from
31675         doc/glibc-functions/open_memstream.texi.
31676         * doc/posix-functions/opterr.texi: Renamed from
31677         doc/glibc-functions/opterr.texi.
31678         * doc/posix-functions/optind.texi: Renamed from
31679         doc/glibc-functions/optind.texi.
31680         * doc/posix-functions/optopt.texi: Renamed from
31681         doc/glibc-functions/optopt.texi.
31682         * doc/posix-functions/psignal.texi: Renamed from
31683         doc/glibc-functions/psignal.texi.
31684         * doc/posix-functions/scandir.texi: Renamed from
31685         doc/glibc-functions/scandir.texi.
31686         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
31687         doc/glibc-functions/sched_get_priority_min.texi.
31688         * doc/posix-functions/signgam.texi: Renamed from
31689         doc/glibc-functions/signgam.texi.
31690         * doc/posix-functions/stpcpy.texi: Renamed from
31691         doc/glibc-functions/stpcpy.texi.
31692         * doc/posix-functions/stpncpy.texi: Renamed from
31693         doc/glibc-functions/stpncpy.texi.
31694         * doc/posix-functions/strcasecmp_l.texi: Renamed from
31695         doc/glibc-functions/strcasecmp_l.texi.
31696         * doc/posix-functions/strcoll_l.texi: Renamed from
31697         doc/glibc-functions/strcoll_l.texi.
31698         * doc/posix-functions/strfmon_l.texi: Renamed from
31699         doc/glibc-functions/strfmon_l.texi.
31700         * doc/posix-functions/strftime_l.texi: Renamed from
31701         doc/glibc-functions/strftime_l.texi.
31702         * doc/posix-functions/strncasecmp_l.texi: Renamed from
31703         doc/glibc-functions/strncasecmp_l.texi.
31704         * doc/posix-functions/strndup.texi: Renamed from
31705         doc/glibc-functions/strndup.texi.
31706         * doc/posix-functions/strnlen.texi: Renamed from
31707         doc/glibc-functions/strnlen.texi.
31708         * doc/posix-functions/strsignal.texi: Renamed from
31709         doc/glibc-functions/strsignal.texi.
31710         * doc/posix-functions/strxfrm_l.texi: Renamed from
31711         doc/glibc-functions/strxfrm_l.texi.
31712         * doc/posix-functions/timer_gettime.texi: Renamed from
31713         doc/glibc-functions/timer_gettime.texi.
31714         * doc/posix-functions/tolower_l.texi: Renamed from
31715         doc/glibc-functions/tolower_l.texi.
31716         * doc/posix-functions/toupper_l.texi: Renamed from
31717         doc/glibc-functions/toupper_l.texi.
31718         * doc/posix-functions/towctrans_l.texi: Renamed from
31719         doc/glibc-functions/towctrans_l.texi.
31720         * doc/posix-functions/towlower_l.texi: Renamed from
31721         doc/glibc-functions/towlower_l.texi.
31722         * doc/posix-functions/towupper_l.texi: Renamed from
31723         doc/glibc-functions/towupper_l.texi.
31724         * doc/posix-functions/uselocale.texi: Renamed from
31725         doc/glibc-functions/uselocale.texi.
31726         * doc/posix-functions/vdprintf.texi: Renamed from
31727         doc/glibc-functions/vdprintf.texi.
31728         * doc/posix-functions/wcpcpy.texi:
31729         Renamed from doc/glibc-functions/wcpcpy.texi.
31730         * doc/posix-functions/wcpncpy.texi: Renamed from
31731         doc/glibc-functions/wcpncpy.texi.
31732         * doc/posix-functions/wcscasecmp.texi: Renamed from
31733         doc/glibc-functions/wcscasecmp.texi.
31734         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
31735         doc/glibc-functions/wcscasecmp_l.texi.
31736         * doc/posix-functions/wcscoll_l.texi: Renamed from
31737         doc/glibc-functions/wcscoll_l.texi.
31738         * doc/posix-functions/wcsdup.texi: Renamed from
31739         doc/glibc-functions/wcsdup.texi.
31740         * doc/posix-functions/wcsncasecmp.texi: Renamed from
31741         doc/glibc-functions/wcsncasecmp.texi.
31742         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
31743         doc/glibc-functions/wcsncasecmp_l.texi.
31744         * doc/posix-functions/wcsnlen.texi: Renamed from
31745         doc/glibc-functions/wcsnlen.texi.
31746         * doc/posix-functions/wcsnrtombs.texi: Renamed from
31747         doc/glibc-functions/wcsnrtombs.texi.
31748         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
31749         doc/glibc-functions/wcsxfrm_l.texi.
31750         * doc/posix-functions/wctrans_l.texi: Renamed from
31751         doc/glibc-functions/wctrans_l.texi.
31752         * doc/posix-functions/wctype_l.texi: Renamed from
31753         doc/glibc-functions/wctype_l.texi.
31754         * doc/gnulib.texi (Function Substitutes): Add these subsections.
31755         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
31756         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
31757         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
31758         these subsections.
31759         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
31760         Remove sections.
31761
31762 2008-12-14  Bruno Haible  <bruno@clisp.org>
31763
31764         Update doc for POSIX:2008.
31765         * doc/posix-functions/*.texi: Update URL of POSIX specification.
31766
31767 2008-12-14  Bruno Haible  <bruno@clisp.org>
31768
31769         Update doc for POSIX:2008.
31770         * doc/pastposix-functions/bcmp.texi: Renamed from
31771         doc/posix-functions/bcmp.texi.
31772         * doc/pastposix-functions/bcopy.texi: Renamed from
31773         doc/posix-functions/bcopy.texi.
31774         * doc/pastposix-functions/bsd_signal.texi: Renamed from
31775         doc/posix-functions/bsd_signal.texi.
31776         * doc/pastposix-functions/bzero.texi: Renamed from
31777         doc/posix-functions/bzero.texi.
31778         * doc/pastposix-functions/ecvt.texi: Renamed from
31779         doc/posix-functions/ecvt.texi.
31780         * doc/pastposix-functions/fcvt.texi: Renamed from
31781         doc/posix-functions/fcvt.texi.
31782         * doc/pastposix-functions/ftime.texi: Renamed from
31783         doc/posix-functions/ftime.texi.
31784         * doc/pastposix-functions/gcvt.texi: Renamed from
31785         doc/posix-functions/gcvt.texi.
31786         * doc/pastposix-functions/getcontext.texi: Renamed from
31787         doc/posix-functions/getcontext.texi.
31788         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
31789         doc/posix-functions/gethostbyaddr.texi.
31790         * doc/pastposix-functions/gethostbyname.texi: Renamed from
31791         doc/posix-functions/gethostbyname.texi.
31792         * doc/pastposix-functions/getwd.texi: Renamed from
31793         doc/posix-functions/getwd.texi.
31794         * doc/pastposix-functions/h_errno.texi: Renamed from
31795         doc/posix-functions/h_errno.texi.
31796         * doc/pastposix-functions/index.texi: Renamed from
31797         doc/posix-functions/index.texi.
31798         * doc/pastposix-functions/makecontext.texi: Renamed from
31799         doc/posix-functions/makecontext.texi.
31800         * doc/pastposix-functions/mktemp.texi: Renamed from
31801         doc/posix-functions/mktemp.texi.
31802         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
31803         doc/posix-functions/pthread_attr_getstackaddr.texi.
31804         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
31805         doc/posix-functions/pthread_attr_setstackaddr.texi.
31806         * doc/pastposix-functions/rindex.texi: Renamed from
31807         doc/posix-functions/rindex.texi.
31808         * doc/pastposix-functions/scalb.texi: Renamed from
31809         doc/posix-functions/scalb.texi.
31810         * doc/pastposix-functions/setcontext.texi: Renamed from
31811         doc/posix-functions/setcontext.texi.
31812         * doc/pastposix-functions/swapcontext.texi: Renamed from
31813         doc/posix-functions/swapcontext.texi.
31814         * doc/pastposix-functions/ualarm.texi: Renamed from
31815         doc/posix-functions/ualarm.texi.
31816         * doc/pastposix-functions/usleep.texi: Renamed from
31817         doc/posix-functions/usleep.texi.
31818         * doc/pastposix-functions/vfork.texi: Renamed from
31819         doc/posix-functions/vfork.texi.
31820         * doc/pastposix-functions/wcswcs.texi: Renamed from
31821         doc/posix-functions/wcswcs.texi.
31822         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
31823         (Function Substitutes): Update.
31824
31825 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31826
31827         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
31828         m4/strerror.m4.
31829
31830 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31831             Bruno Haible  <bruno@clisp.org>
31832
31833         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
31834
31835 2008-12-13  Bruno Haible  <bruno@clisp.org>
31836
31837         * modules/strtoull (Depends-on): Remove unistd.
31838
31839 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31840
31841         * modules/strtoull (Depends-on): Add stdlib.
31842
31843 2008-12-11  Simon Josefsson  <simon@josefsson.org>
31844
31845         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
31846
31847 2008-12-10  Jim Meyering  <meyering@redhat.com>
31848
31849         gl_ASSERT: don't say assertions are disabled when they're not
31850         * m4/assert.m4 (gl_ASSERT): Do not make configure report
31851         "checking whether to enable assertions... no", when they are in
31852         fact enabled.  This is solely a bug in the output of configure.
31853         In spite of saying "no", NDEBUG was not defined in that case.
31854         Also, as noted by Eric Blake, leave assertions enabled upon
31855         --enable-assert=INVALID.
31856
31857 2008-12-10  Bruno Haible  <bruno@clisp.org>
31858
31859         Change MODULES.html to refer to POSIX:2008 where possible.
31860         * MODULES.html.sh (POSIX2008_URL): New variable.
31861         (posix_headers): Remove sys/timeb, ucontext.
31862         (posix2001_headers): New variable.
31863         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
31864         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
31865         index, makecontext, mktemp, pthread_attr_getstackaddr,
31866         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
31867         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
31868         (posix2001_functions): New variable.
31869         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
31870         otherwise.
31871
31872 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31873
31874         add missing include to parse-duration.c
31875         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
31876         * modules/parse-duration (Depends-on): Add xalloc.
31877
31878         fix sed script reading maint.mk
31879         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
31880         (syntax-check-rules): Use it.
31881
31882 2008-12-09  Bruno Haible  <bruno@clisp.org>
31883
31884         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
31885         MacOS X 10.4/PowerPC.
31886         Reported by Simon Josefsson.
31887
31888 2008-12-08  Jim Meyering  <meyering@redhat.com>
31889
31890         work around mingw's lack of some S_IF definitions
31891         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
31892         Reported by Simon Josefsson.
31893
31894 2008-12-08  Bruno Haible  <bruno@clisp.org>
31895
31896         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
31897         applied to variables. Needed on MacOS X 10.4/PowerPC.
31898         Reported by Simon Josefsson.
31899
31900 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
31901         and Eric Blake  <ebb9@byu.net>
31902
31903         assert: honor --enable-assert
31904         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
31905         order to honor --enable-assert, rather than treating it as a
31906         synonym for --disable-assert.
31907
31908 2008-12-08  Jim Meyering  <meyering@redhat.com>
31909
31910         * lib/posixtm.c: Remove now-useless declaration of mktime.
31911
31912         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
31913
31914 2008-12-07  Bruno Haible  <bruno@clisp.org>
31915
31916         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
31917         test_once): Mark functions as static.
31918         * tests/test-tls.c (test_tls): Likewise.
31919
31920 2008-12-07  Bruno Haible  <bruno@clisp.org>
31921
31922         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
31923         iconv_register_autodetect.
31924
31925 2008-12-07  Jim Meyering  <meyering@redhat.com>
31926
31927         posixtm.c: avoid a warning
31928         * lib/posixtm.c (posixtime): Don't initialize tm0.
31929         It's no longer needed to placate gcc4's -Wuninitialized,
31930         and the attempt to placate would elicit a new warning.
31931
31932         unicodeio.c: mark unused parameters
31933         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
31934         (fallback_failure_callback): Likewise.
31935
31936 2008-12-07  Bruno Haible  <bruno@clisp.org>
31937
31938         * gnulib-tool (func_create_testdir): When building the tests
31939         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
31940         Reported by Simon Josefsson.
31941
31942 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31943
31944         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
31945
31946 2008-12-06  Bruno Haible  <bruno@clisp.org>
31947
31948         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
31949         Suggested by Eric Blake.
31950
31951 2008-12-06  Bruno Haible  <bruno@clisp.org>
31952
31953         Fix a c-stack test failure on MacOS X.
31954         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
31955         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
31956         handler for SIGBUS as well.
31957         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
31958         install a signal handler for SIGBUS as well.
31959         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
31960
31961 2008-12-06  Bruno Haible  <bruno@clisp.org>
31962
31963         Advocacy documentation.
31964         * doc/gnulib-intro.texi (Benefits): New section.
31965         * doc/gnulib.texi: Update.
31966
31967 2008-12-06  Bruno Haible  <bruno@clisp.org>
31968
31969         Document the 'manywarnings' module.
31970         * doc/manywarnings.texi: New file.
31971         * doc/gnulib.texi: Include it.
31972
31973 2008-12-05  Eric Blake  <ebb9@byu.net>
31974
31975         tests: silence some gcc warnings
31976         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
31977         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
31978         type mismatches.
31979
31980 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31981             Bruno Haible  <bruno@clisp.org>
31982
31983         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
31984
31985 2008-11-29  Jim Meyering  <meyering@redhat.com>
31986
31987         unicodeio.c: mark unused parameters
31988         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
31989         (fallback_failure_callback): Likewise.
31990
31991         fts: fix a thinko
31992         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
31993         (set_stat_type): Return S_IF*-valued "type" directly.
31994         Prompted by James Youngman's spotting a related bug.
31995         Confirmed by further testing through find.
31996
31997         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
31998         * lib/fts.c (D_TYPE): Define.
31999         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
32000         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
32001         (s_ifmt_shift_bits): New function.
32002         (set_stat_type): New function.
32003         (fts_build): When not calling fts_stat, call set_stat_type
32004         to propagate dirent.d_type info to fts_read caller.
32005         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
32006         fts_statp->st_mode type information may be valid.
32007
32008 2008-11-28  Simon Josefsson  <simon@josefsson.org>
32009
32010         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
32011         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
32012         <sds@gnu.org>.
32013
32014 2008-11-20  Bruno Haible  <bruno@clisp.org>
32015
32016         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
32017         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
32018         INCLUDE_NEXT.
32019         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
32020         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
32021         * modules/math (Makefile.am): Substitute
32022         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
32023         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
32024
32025 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
32026             Bruno Haible  <bruno@clisp.org>
32027
32028         * lib/stdint.in.h: Define all type macros so that their expansion is
32029         a single typedef'ed token. Fixes a compilation failure in Boost which
32030         does "using ::int8_t;".
32031
32032 2008-11-18  Simon Josefsson  <simon@josefsson.org>
32033
32034         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
32035         gl_MANYWARN_ALL_GCC.
32036         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
32037         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
32038         * modules/manywarnings: New file.
32039         * MODULES.html.sh: Mention manywarnings module.
32040
32041 2008-11-18  Bruno Haible  <bruno@clisp.org>
32042
32043         * doc/gnulib-tool.texi (Unit tests): New section.
32044
32045 2008-11-18  Simon Josefsson  <simon@josefsson.org>
32046
32047         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
32048         paths like 'lib/po/foo.po'.
32049
32050 2008-11-17  Simon Josefsson  <simon@josefsson.org>
32051
32052         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
32053         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
32054
32055 2008-11-17  Simon Josefsson  <simon@josefsson.org>
32056
32057         * m4/warnings.m4: Use CPPFLAGS to really check whether the
32058         parameter works.
32059
32060 2008-11-17  Simon Josefsson  <simon@josefsson.org>
32061
32062         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
32063
32064 2008-11-17  Bruce Korb  <bkorb@gnu.org>
32065
32066         * modules/parse-duration-tests: New file.
32067         * tests/test-parse-duration.sh: New file.
32068         * tests/test-parse-duration.c: New file.
32069
32070         New module 'parse-duration'.
32071         * lib/parse-duration.h: New file.
32072         * lib/parse-duration.c: New file.
32073         * modules/parse-duration: New file.
32074
32075 2008-11-17  Bruno Haible  <bruno@clisp.org>
32076
32077         * tests/test-select-out.sh: Comment out the first pipe test.
32078         Reported by Simon Josefsson.
32079
32080 2008-11-17  Bruno Haible  <bruno@clisp.org>
32081
32082         * modules/getaddrinfo (Depends-on): Add servent, hostent.
32083         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
32084         gl_HOSTENT.
32085
32086 2008-11-17  Bruno Haible  <bruno@clisp.org>
32087
32088         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
32089         -lnetwork and -lnet. Needed for Haiku and BeOS.
32090
32091 2008-11-16  Bruno Haible  <bruno@clisp.org>
32092
32093         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
32094
32095 2008-11-16  Bruno Haible  <bruno@clisp.org>
32096
32097         Avoid test failure on Haiku.
32098         * tests/test-fsync.c: Include <errno.h>.
32099         (main): Don't require that fsync (0) fails.
32100
32101 2008-11-15  Bruno Haible  <bruno@clisp.org>
32102
32103         New module 'hostent'.
32104         * modules/hostent: New file.
32105         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
32106
32107 2008-11-15  Bruno Haible  <bruno@clisp.org>
32108
32109         New module 'servent'.
32110         * modules/servent: New file.
32111         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
32112
32113 2008-11-15  Bruno Haible  <bruno@clisp.org>
32114
32115         Avoid generating same test program with two different rules.
32116         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
32117         test-frexp to test-frexp-nolibm.
32118         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
32119         test-frexpl to test-frexpl-nolibm.
32120
32121 2008-11-15  Bruno Haible  <bruno@clisp.org>
32122
32123         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
32124         $(FREXPL_LIBM).
32125
32126 2008-11-15  Bruno Haible  <bruno@clisp.org>
32127
32128         * lib/netdb.in.h: Activate the definitions also when the system's
32129         <netdb.h> has 'struct addrinfo'.
32130         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
32131         EAI_OVERFLOW or AI_NUMERICSERV.
32132         * doc/posix-headers/netdb.texi: Document the problem.
32133
32134 2008-11-15  Bruno Haible  <bruno@clisp.org>
32135
32136         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
32137
32138         Make the 'sched' module work on platforms where <sched.h> exists but
32139         is incomplete (such as Haiku).
32140         * lib/sched.in.h; Include the system's <sched.h> if it exists.
32141         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
32142         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
32143         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
32144         HAVE_STRUCT_SCHED_PARAM.
32145         * modules/sched (Depends-on): Add include_next.
32146         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
32147         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
32148         * doc/posix-headers/sched.texi: Document the issue.
32149
32150 2008-11-13  Jim Meyering  <meyering@redhat.com>
32151
32152         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
32153         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
32154         test would fail due to the difference in the Report bugs to ...
32155         line.  The expected address is empty, "<>", while the actual
32156         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
32157
32158 2008-11-12  Bruno Haible  <bruno@clisp.org>
32159
32160         lstat: don't compile lstat.c on systems lacking lstat
32161         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
32162         which don't have lstat; this is handled by lib/sys_stat.in.h already.
32163         Reported by Daniel P. Berrange via Jim Meyering.
32164
32165 2008-11-12  Jim Meyering  <meyering@redhat.com>
32166
32167         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
32168
32169 2008-11-12  Simon Josefsson  <simon@josefsson.org>
32170
32171         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
32172         instead.
32173
32174 2008-11-12  Bruno Haible  <bruno@clisp.org>
32175
32176         * lib/unicodeio.c: Include unistr.h.
32177         (utf8_wctomb): Remove function.
32178         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
32179
32180 2008-11-12  Simon Josefsson  <simon@josefsson.org>
32181
32182         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
32183         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
32184         <bruno@clisp.org>.
32185         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
32186
32187 2008-11-12  Simon Josefsson  <simon@josefsson.org>
32188
32189         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
32190         * doc/gnulib.texi: Add section for warnings.
32191
32192 2008-11-11  Bruno Haible  <bruno@clisp.org>
32193
32194         * lib/sockets.h: Add a comment.
32195
32196 2008-11-11  Karl Berry  <karl@gnu.org>
32197
32198         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
32199
32200 2008-11-11  Eric Blake  <ebb9@byu.net>
32201
32202         fdl.texi: avoid git symlinks
32203         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
32204
32205 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32206
32207         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
32208
32209 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32210
32211         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
32212         (gl_WARN_ADD): Substitute $2 if literal.
32213
32214 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32215
32216         * m4/warning.m4: Remove.
32217
32218 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32219
32220         * m4/warnings.m4: Almost complete rewrite. :-)
32221
32222 2008-11-10  Simon Josefsson  <simon@josefsson.org>
32223
32224         * modules/warnings: New module.
32225         * m4/warnings.m4: New file.
32226         * MODULES.html.sh: Mention warnings module.
32227         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
32228         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32229
32230 2008-11-10  Eric Blake  <ebb9@byu.net>
32231
32232         fdl.texi: make a symlink to the latest version
32233         * doc/standards.texi: Revert today's earlier change.
32234         * doc/fdl-1.2.texi: Rename from old fdl.texi...
32235         * doc/fdl.texi: ...and replace this with a symlink to the newer
32236         fdl-1.3.texi.
32237
32238 2008-11-10  Bruno Haible  <bruno@clisp.org>
32239
32240         * tests/test-select-fd.c (main): Accept the result file name as fourth
32241         argument.
32242         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
32243         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
32244
32245 2008-11-10  Bruno Haible  <bruno@clisp.org>
32246
32247         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
32248         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
32249         as autoconf-substituted macros.
32250         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
32251         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
32252         gl_NETDB_H_DEFAULTS. Set these variables.
32253         * modules/netdb (Makefile.am): Substitute these variables.
32254
32255 2008-11-10  Eric Blake  <ebb9@byu.net>
32256
32257         standards.texi: include correct file for FDL 1.3
32258         * doc/standards.texi (GNU Free Documentation License): Change
32259         include file to pull in FDL 1.3, not 1.2.
32260
32261         fdl.texi: revert accidental change to license
32262         * doc/fdl.texi: This is FDL 1.2, not 1.3.
32263
32264 2008-11-10  Bruno Haible  <bruno@clisp.org>
32265
32266         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
32267         cross-compiling guesses also when the native compile gives no result.
32268
32269 2008-11-10  Bruno Haible  <bruno@clisp.org>
32270
32271         * lib/spawni.c (__spawni): Force variable into the stack.
32272
32273 2008-11-10  Bruno Haible  <bruno@clisp.org>
32274
32275         Add support for Haiku.
32276         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
32277         glibc and BeOS, but also on Haiku.
32278         * lib/fpurge.c (fpurge): Likewise.
32279         * lib/freadable.c (freadable): Likewise.
32280         * lib/freadahead.c (freadahead): Likewise.
32281         * lib/freading.c (freading): Likewise.
32282         * lib/freadptr.c (freadptr): Likewise.
32283         * lib/freadseek.c (freadptrinc): Likewise.
32284         * lib/fseeko.c (rpl_fseeko): Likewise.
32285         * lib/fseterr.c (fseterr): Likewise.
32286         * lib/fwritable.c (fwritable): Likewise.
32287         * lib/fwriting.c (fwriting): Likewise.
32288         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
32289
32290 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
32291
32292         * lib/config.charset: Treat Haiku like BeOS.
32293
32294 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
32295
32296         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
32297         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
32298
32299 2008-11-08  Bruno Haible  <bruno@clisp.org>
32300
32301         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
32302         AC_CACHE_CHECK.
32303
32304 2008-11-08  Bruno Haible  <bruno@clisp.org>
32305
32306         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
32307
32308 2008-11-08  Bruno Haible  <bruno@clisp.org>
32309
32310         * tests/test-select-fd.c: New file.
32311         * tests/test-select-in.sh: New file.
32312         * tests/test-select-out.sh: New file.
32313         * tests/test-select-stdin.c: New file.
32314         * modules/select-tests (Files): Add the new files.
32315         (Depends-on): Add gettimeofday.
32316         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
32317         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
32318         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
32319
32320 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
32321             Bruno Haible  <bruno@clisp.org>
32322
32323         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
32324
32325 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
32326
32327         * build-aux/pmccabe2html: Added support for C++ source files.
32328
32329 2008-11-05  Ben Pfaff  <blp@gnu.org>
32330
32331         Fix lib/close.c build on Windows.
32332         * modules/close (Files): Add lib/w32sock.h.
32333
32334 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
32335
32336         Accept Bison's NEWS format.
32337         * build-aux/announce-gen (print_news_deltas): Tweak
32338         $re_prefix.
32339
32340 2008-11-04  Bruno Haible  <bruno@clisp.org>
32341
32342         * modules/random_r (Maintainer): Add glibc.
32343
32344 2008-11-04  Simon Josefsson  <simon@josefsson.org>
32345
32346         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
32347         by karl@freefriends.org (Karl Berry).
32348         * doc/alloca.texi: Likewise.
32349         * doc/c-ctype.texi: Likewise.
32350         * doc/c-strcase.texi: Likewise.
32351         * doc/c-strcaseeq.texi: Likewise.
32352         * doc/c-strcasestr.texi: Likewise.
32353         * doc/c-strstr.texi: Likewise.
32354         * doc/c-strtod.texi: Likewise.
32355         * doc/c-strtold.texi: Likewise.
32356         * doc/ctime.texi: Likewise.
32357         * doc/error.texi: Likewise.
32358         * doc/fdl.texi: Likewise.
32359         * doc/gcd.texi: Likewise.
32360         * doc/getdate.texi: Likewise.
32361         * doc/gnulib-intro.texi: Likewise.
32362         * doc/gnulib-tool.texi: Likewise.
32363         * doc/gnulib.texi: Likewise.
32364         * doc/inet_ntoa.texi: Likewise.
32365         * doc/maintain.texi: Likewise.
32366         * doc/make-stds.texi: Likewise.
32367         * doc/quote.texi: Likewise.
32368         * doc/regexprops-generic.texi: Likewise.
32369         * doc/standards.texi: Likewise.
32370         * doc/verify.texi: Likewise.
32371         * doc/visibility.texi: Likewise.
32372         * doc/gnulib.texi (GNU Free Documentation License): Include
32373         fdl-1.3.texi instead of fdl.texi.
32374
32375 2008-11-04  Simon Josefsson  <simon@josefsson.org>
32376
32377         * doc/fdl-1.3.texi: New file, from
32378         <http://www.gnu.org/licenses/fdl-1.3.texi>.
32379         * modules/fdl-1.3: Add.
32380         * MODULES.html.sh: Add fdl-1.3.
32381
32382 2008-11-03  Bruno Haible  <bruno@clisp.org>
32383
32384         Make determination of absolute name of header file work with AIX xlc.
32385         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
32386         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
32387         preprocessing.
32388         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
32389         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
32390
32391 2008-11-03  Simon Josefsson  <simon@josefsson.org>
32392
32393         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
32394         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
32395         <ludo@gnu.org>.
32396
32397 2008-11-02  Bruno Haible  <bruno@clisp.org>
32398
32399         Mark 'strpbrk' obsolete.
32400         * modules/strpbrk (Status, Notice): New sections.
32401         * modules/strtok_r (Depends-on): Add strpbrk.
32402
32403 2008-11-02  Bruno Haible  <bruno@clisp.org>
32404
32405         Mark 'strdup' obsolete.
32406         * modules/strdup (Status, Notice): New sections.
32407         * modules/findprog (Depends-on): Add strdup.
32408         * modules/getaddrinfo (Depends-on): Likewise.
32409         * modules/localename (Depends-on): Likewise.
32410         * modules/relocatable-lib (Depends-on): Likewise.
32411         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
32412         * modules/relocatable-prog (Depends-on): Likewise.
32413         * modules/trim (Depends-on): Likewise.
32414         * modules/unictype/gen-ctype (Depends-on): Likewise.
32415         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
32416
32417 2008-11-02  Bruno Haible  <bruno@clisp.org>
32418
32419         Mark 'strcspn' obsolete.
32420         * modules/strcspn (Status, Notice): New sections.
32421
32422 2008-11-02  Bruno Haible  <bruno@clisp.org>
32423
32424         Mark 'rmdir' obsolete.
32425         * modules/rmdir (Status, Notice): New sections.
32426         * modules/clean-temp (Depends-on): Add rmdir.
32427         * modules/openat (Depends-on): Likewise.
32428
32429 2008-11-02  Bruno Haible  <bruno@clisp.org>
32430
32431         Mark 'raise' obsolete.
32432         * modules/raise (Status, Notice): New sections.
32433         (Include): Specify <signal.h>.
32434         * modules/stdio (Depends-on): Add raise.
32435         * modules/write (Depends-on): Likewise.
32436
32437 2008-11-02  Bruno Haible  <bruno@clisp.org>
32438
32439         Mark 'memset' obsolete.
32440         * modules/memset (Status, Notice): New sections.
32441
32442 2008-11-02  Bruno Haible  <bruno@clisp.org>
32443
32444         Mark 'memmove' obsolete.
32445         * modules/memmove (Status, Notice): New sections.
32446         * modules/argp (Depends-on): Add memmove.
32447         * modules/argz (Depends-on): Likewise.
32448         * modules/canonicalize (Depends-on): Likewise.
32449         * modules/canonicalize-lgpl (Depends-on): Likewise.
32450         * modules/fts (Depends-on): Likewise.
32451         * modules/getcwd (Depends-on): Likewise.
32452         * modules/human (Depends-on): Likewise.
32453         * modules/regex (Depends-on): Likewise.
32454         * modules/striconveh (Depends-on): Likewise.
32455         * modules/trim (Depends-on): Likewise.
32456         * modules/unistr/u8-move (Depends-on): Likewise.
32457         * modules/unistr/u16-move (Depends-on): Likewise.
32458         * modules/unistr/u32-move (Depends-on): Likewise.
32459
32460 2008-11-02  Bruno Haible  <bruno@clisp.org>
32461
32462         Mark 'memcpy' obsolete.
32463         * modules/memcpy (Status, Notice): New sections.
32464
32465 2008-11-02  Bruno Haible  <bruno@clisp.org>
32466
32467         Mark 'memcmp' obsolete.
32468         * modules/memcmp (Status, Notice): New sections.
32469         * modules/argmatch (Depends-on): Add memchr.
32470         * modules/backupfile (Depends-on): Likewise.
32471         * modules/c-strcasestr (Depends-on): Likewise.
32472         * modules/crypto/des (Depends-on): Likewise.
32473         * modules/csharpcomp (Depends-on): Likewise.
32474         * modules/fnmatch (Depends-on): Likewise.
32475         * modules/git-merge-changelog (Depends-on): Likewise.
32476         * modules/isnand (Depends-on): Likewise.
32477         * modules/isnand-nolibm (Depends-on): Likewise.
32478         * modules/isnanf (Depends-on): Likewise.
32479         * modules/isnanf-nolibm (Depends-on): Likewise.
32480         * modules/isnanl (Depends-on): Likewise.
32481         * modules/isnanl-nolibm (Depends-on): Likewise.
32482         * modules/mbchar (Depends-on): Likewise.
32483         * modules/memcoll (Depends-on): Likewise.
32484         * modules/quotearg (Depends-on): Likewise.
32485         * modules/regex (Depends-on): Likewise.
32486         * modules/relocatable-prog (Depends-on): Likewise.
32487         * modules/same (Depends-on): Likewise.
32488         * modules/signbit (Depends-on): Likewise.
32489         * modules/strcasestr-simple (Depends-on): Likewise.
32490         * modules/unictype/gen-ctype (Depends-on): Likewise.
32491         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
32492         * modules/uniname/uniname (Depends-on): Likewise.
32493         * modules/unistr/u8-cmp (Depends-on): Likewise.
32494
32495 2008-11-02  Bruno Haible  <bruno@clisp.org>
32496
32497         Mark 'memchr' obsolete.
32498         * modules/memchr (Status, Notice): New sections.
32499         * modules/argp (Depends-on): Add memchr.
32500         * modules/base64 (Depends-on): Likewise.
32501         * modules/c-strcasestr (Depends-on): Likewise.
32502         * modules/chdir-long (Depends-on): Likewise.
32503         * modules/fnmatch (Depends-on): Likewise.
32504         * modules/getsubopt (Depends-on): Likewise.
32505         * modules/git-merge-changelog (Depends-on): Likewise.
32506         * modules/glob (Depends-on): Likewise.
32507         * modules/strcasestr-simple (Depends-on): Likewise.
32508         * modules/strnlen (Depends-on): Likewise.
32509
32510 2008-11-02  Bruno Haible  <bruno@clisp.org>
32511
32512         Mark 'atexit' obsolete.
32513         * modules/atexit (Status, Notice): New sections.
32514         * modules/chdir-long (Depends-on): Add atexit.
32515         * modules/wait-process (Depends-on): Likewise.
32516
32517 2008-11-02  Bruno Haible  <bruno@clisp.org>
32518
32519         * gnulib-tool: New option --with-obsolete.
32520         (func_usage): Document it.
32521         (func_modules_transitive_closure): Drop obsolete dependencies if
32522         incobsolete is not true.
32523         (func_import): Read and save the incobsolete variable to the cache.
32524
32525 2008-11-02  Bruno Haible  <bruno@clisp.org>
32526
32527         * modules/TEMPLATE-EXTENDED: New field 'Status'.
32528         * gnulib-tool: New option --extract-status.
32529         (func_usage): Document it.
32530         (sed_extract_prog): Recognize it.
32531         (func_get_status): New function.
32532
32533 2008-10-30  Simon Josefsson  <simon@josefsson.org>
32534
32535         * modules/sockets (License): Change from LGPL to LGPLv2+.
32536
32537 2008-10-28  Simon Josefsson  <simon@josefsson.org>
32538
32539         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
32540
32541 2008-10-28  Simon Josefsson  <simon@josefsson.org>
32542
32543         * MODULES.html.sh (Support for systems lacking POSIX:2001):
32544         Mention times and sys_times.
32545         * modules/sys_times, modules/sys_times-tests: New modules.
32546         * modules/times, modules/times-tests: Likewise
32547         * m4/sys_times_h.m4: New file.
32548         * lib/sys_times.in.h: Likewise
32549         * lib/times.c: Likewise.
32550         * tests/test-sys_times.c: Likewise.
32551         * tests/test-times.c: Likewise.
32552         * doc/posix-headers/sys_times.texi: Update.
32553         * doc/posix-functions/times.texi: Update.
32554
32555 2008-10-28  Jim Meyering  <meyering@redhat.com>
32556
32557         * modules/tempname (Depends-on): Add lstat.
32558
32559         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
32560
32561 2008-10-28  Simon Josefsson  <simon@josefsson.org>
32562
32563         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
32564         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
32565         using idiom used elsewhere in gnulib.
32566
32567 2008-10-27  Jim Meyering  <meyering@redhat.com>
32568
32569         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
32570
32571 2008-10-27  Simon Josefsson  <simon@josefsson.org>
32572
32573         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
32574         TESTS_ENVIRONMENT, for shell scripts that needs to call built
32575         programs.
32576         * tests/test-argp-2.sh: Use $EXEEXT when needed.
32577
32578 2008-10-27  Simon Josefsson  <simon@josefsson.org>
32579
32580         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
32581
32582 2008-10-27  Bruno Haible  <bruno@clisp.org>
32583
32584         * tests/test-lstat.c: Include <stdio.h>.
32585
32586 2008-10-27  Simon Josefsson  <simon@josefsson.org>
32587
32588         * modules/lstat-tests: New module.
32589         * tests/test-lstat.c: New file.
32590
32591 2008-10-26  Jim Meyering  <meyering@redhat.com>
32592
32593         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
32594
32595 2008-10-26  Simon Josefsson  <simon@josefsson.org>
32596             Bruno Haible  <bruno@clisp.org>
32597
32598         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
32599         * modules/configmake (Include): Add a note that the include must come
32600         after all system headers.
32601         * lib/javaversion.c: Include configmake.h after all other includes.
32602
32603 2008-10-26  Bruno Haible  <bruno@clisp.org>
32604
32605         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
32606         HAVE_STRUCT_RANDOM_DATA to 1.
32607         (gl_STDLIB_H): Simplify.
32608
32609 2008-10-26  Simon Josefsson  <simon@josefsson.org>
32610
32611         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
32612         substitute HAVE_STRUCT_RANDOM_DATA.
32613         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
32614         random_data.
32615         * modules/stdlib (Makefile.am): Substitute
32616         HAVE_STRUCT_RANDOM_DATA.
32617
32618 2008-10-26  Simon Josefsson  <simon@josefsson.org>
32619
32620         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
32621         * doc/gnulib-intro.texi (Copyright): Likewise.
32622
32623 2008-10-26  Simon Josefsson  <simon@josefsson.org>
32624
32625         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
32626         findings.
32627
32628 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
32629             Bruno Haible  <bruno@clisp.org>
32630
32631         * lib/unistd.in.h: Include <winsock2.h>.
32632         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
32633         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
32634         Provide dummy declarations.
32635         (gethostname): Override.
32636         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
32637         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
32638         gl_PREREQ_SYS_H_WINSOCK2.
32639         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
32640         * doc/posix-functions/gethostname.texi: More details.
32641
32642 2008-10-25  Bruno Haible  <bruno@clisp.org>
32643
32644         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
32645         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
32646         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
32647
32648         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
32649         here ...
32650         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
32651         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
32652         gl_UNISTD_H_DEFAULTS.
32653
32654 2008-10-25  Eric Blake  <ebb9@byu.net>
32655
32656         signbit: avoid spurious compiler failure
32657         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
32658         declarations inside function.
32659
32660 2008-10-24  Simon Josefsson  <simon@josefsson.org>
32661             Bruno Haible  <bruno@clisp.org>
32662
32663         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
32664         * modules/random_r (Depends-on): Add stdint.
32665
32666 2008-10-24  Bruno Haible  <bruno@clisp.org>
32667
32668         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
32669         Eggert.
32670         * modules/strerror (License): Likewise.
32671
32672 2008-10-24  Jim Meyering  <meyering@redhat.com>
32673
32674         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
32675         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
32676
32677 2008-10-24  Eric Blake  <ebb9@byu.net>
32678
32679         getgroups: fix compilation when getgroups is available
32680         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
32681         but with <config.h> override of getgroups disabled.
32682
32683 2008-10-24  Simon Josefsson  <simon@josefsson.org>
32684
32685         * doc/gnulib.texi (Header files): Add note about C++ problems.
32686         Explained by Bruno Haible <bruno@clisp.org>.
32687
32688 2008-10-23  Bruno Haible  <bruno@clisp.org>
32689
32690         Define a dummy SA_NODEFER macro on Interix.
32691         * lib/signal.in.h (SA_NODEFER): Define fallback.
32692         Reported by Aleksey Cheusov <cheusov@tut.by> via
32693         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
32694
32695 2008-10-23  Bruno Haible  <bruno@clisp.org>
32696
32697         * modules/freadahead (License): Change to LGPLv2+.
32698         Suggested by Simon Josefsson.
32699
32700 2008-10-23  Jim Meyering  <meyering@redhat.com>
32701
32702         random_r: new module
32703         * modules/random_r: New file.
32704         * m4/random_r.m4: New file.
32705         * lib/random_r.c: New file, from glibc.
32706         * modules/random_r-tests: New file.
32707         * tests/test-random_r.c: New file.
32708         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
32709          Declare.
32710         (RAND_MAX): Define.
32711         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
32712         * modules/stdlib: Substitute them, too.
32713         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
32714         * doc/glibc-functions/initstate_r.texi: Mention the new module.
32715         * doc/glibc-functions/random_r.texi: Likewise.
32716         * doc/glibc-functions/setstate_r.texi: Likewise.
32717         * doc/glibc-functions/srandom_r.texi: Likewise.
32718         * config/srclist.txt: Mention it.
32719
32720 2008-10-23  David Lutterkort  <lutter@redhat.com>
32721
32722         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
32723         link requirement
32724
32725 2008-10-23  Jim Meyering  <meyering@redhat.com>
32726
32727         selinux-h: mark parameters of stub functions as intentionally unused
32728         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
32729         * lib/se-context.in.h: Likewise.
32730
32731 2008-10-22  Simon Josefsson  <simon@josefsson.org>
32732
32733         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
32734
32735 2008-10-22  Simon Josefsson  <simon@josefsson.org>
32736
32737         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
32738
32739 2008-10-22  Eric Blake  <ebb9@byu.net>
32740
32741         glthread/thread: avoid compiler warning
32742         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
32743         Add unreachable abort to silence compiler.
32744
32745 2008-10-22  Eric Blake  <ebb9@byu.net>
32746
32747         netdb: also supply struct addrinfo for cygwin 1.5.x
32748         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
32749         older cygwin.
32750         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
32751         cygwin.
32752         * doc/posix-headers/netdb.texi (netdb.h): Document this.
32753
32754 2008-10-22  Bruno Haible  <bruno@clisp.org>
32755
32756         * users.txt: Update entry about pspp.
32757
32758 2008-10-21  Bruno Haible  <bruno@clisp.org>
32759
32760         Simplification.
32761         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
32762         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
32763
32764         Simplification.
32765         * lib/ioctl.c (ioctl): Don't undefine.
32766         * lib/socket.c (socket): Don't undefine.
32767
32768         Remove unused module indicator macros.
32769         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
32770         GNULIB_$1 as a C macro.
32771
32772         * doc/posix-functions/close.texi: Undo last change.
32773         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
32774         Windows platforms.
32775
32776 2008-10-21  Bruno Haible  <bruno@clisp.org>
32777
32778         Add gethostname() declaration to <unistd.h>.
32779         * lib/unistd.in.h (gethostname): New declaration.
32780         * lib/gethostname.c: Include <unistd.h>.
32781         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
32782         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
32783         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
32784         and HAVE_GETHOSTNAME.
32785         * modules/gethostname (Depends-on): Add unistd.
32786         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
32787         (Include): Specify <unistd.h>.
32788         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
32789         HAVE_GETHOSTNAME.
32790         * tests/test-gethostname.c: Include <unistd.h> first.
32791
32792 2008-10-21  Bruno Haible  <bruno@clisp.org>
32793
32794         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
32795         * modules/select-tests (Depends-on): Likewise.
32796         Reported by Simon Josefsson.
32797
32798 2008-10-21  Simon Josefsson  <simon@josefsson.org>
32799
32800         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
32801         * lib/accept.c: New file, based on winsock.c.
32802         * lib/bind.c: New file, based on winsock.c.
32803         * lib/connect.c: New file, based on winsock.c.
32804         * lib/getpeername.c: New file, based on winsock.c.
32805         * lib/getsockname.c: New file, based on winsock.c.
32806         * lib/getsockopt.c: New file, based on winsock.c.
32807         * lib/ioctl.c: New file, based on winsock.c.
32808         * lib/listen.c: New file, based on winsock.c.
32809         * lib/recv.c: New file, based on winsock.c.
32810         * lib/recvfrom.c: New file, based on winsock.c.
32811         * lib/send.c: New file, based on winsock.c.
32812         * lib/sendto.c: New file, based on winsock.c.
32813         * lib/setsockopt.c: New file, based on winsock.c.
32814         * lib/shutdown.c: New file, based on winsock.c.
32815         * lib/socket.c: New file, based on winsock.c.
32816         * lib/w32sock.h: New file, based on winsock.c.
32817         * lib/winsock.c: Remove file.
32818         * modules/accept: Likewise.
32819         * modules/bind: Likewise.
32820         * modules/connect: Likewise.
32821         * modules/getpeername: Likewise.
32822         * modules/getsockname: Likewise.
32823         * modules/getsockopt: Likewise.
32824         * modules/ioctl: Likewise.
32825         * modules/listen: Likewise.
32826         * modules/recv: Likewise.
32827         * modules/recvfrom: Likewise.
32828         * modules/send: Likewise.
32829         * modules/sendto: Likewise.
32830         * modules/setsockopt: Likewise.
32831         * modules/shutdown: Likewise.
32832         * modules/socket: Use socket.c instead of winsock.c.
32833         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
32834         * doc/posix-functions/accept.texi: Doc fix.
32835         * doc/posix-functions/bind.texi: Doc fix.
32836         * doc/posix-functions/close.texi: Doc fix.
32837         * doc/posix-functions/connect.texi: Doc fix.
32838         * doc/posix-functions/getpeername.texi: Doc fix.
32839         * doc/posix-functions/getsockname.texi: Doc fix.
32840         * doc/posix-functions/getsockopt.texi: Doc fix.
32841         * doc/posix-functions/ioctl.texi: Doc fix.
32842         * doc/posix-functions/listen.texi: Doc fix.
32843         * doc/posix-functions/recv.texi: Doc fix.
32844         * doc/posix-functions/recvfrom.texi: Doc fix.
32845         * doc/posix-functions/send.texi: Doc fix.
32846         * doc/posix-functions/sendto.texi: Doc fix.
32847         * doc/posix-functions/setsockopt.texi: Doc fix.
32848         * doc/posix-functions/shutdown.texi: Doc fix.
32849         * doc/posix-functions/socket.texi: Doc fix.
32850
32851 2008-10-20  Bruno Haible  <bruno@clisp.org>
32852
32853         Take into account the role of SIGABRT_COMPAT on Windows 2008.
32854         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
32855         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
32856         as an alias for SIGABRT.
32857         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
32858         (sigaction): Map it to SIGABRT.
32859         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
32860
32861 2008-10-20  Bruno Haible  <bruno@clisp.org>
32862
32863         * lib/fts.c: Don't include lstat.h.
32864         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
32865
32866         Move the lstat() declaration to <sys/stat.h>.
32867         * lib/lstat.h: Remove file.
32868         * lib/sys_stat.in.h: Add special invocation convention.
32869         (lstat): New declaration.
32870         * lib/lstat.c (orig_lstat): New function.
32871         (rpl_lstat): Use orig_lstat instead of lstat.
32872         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
32873         AC_C_INLINE. Set REPLACE_LSTAT.
32874         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
32875         and REPLACE_LSTAT.
32876         * modules/lstat (Files): Remove lib/lstat.h.
32877         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
32878         (Include): Specify <sys/stat.h> instead of lstat.h.
32879         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
32880         REPLACE_LSTAT.
32881         * NEWS: Mention the change.
32882
32883 2008-10-20  Bruno Haible  <bruno@clisp.org>
32884
32885         * modules/posix_spawn-tests: New file.
32886         * tests/test-posix_spawn3.c: New file.
32887
32888 2008-10-20  Bruno Haible  <bruno@clisp.org>
32889
32890         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
32891         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
32892         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
32893         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
32894         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
32895
32896 2008-10-20  Bruno Haible  <bruno@clisp.org>
32897
32898         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
32899         of posix_spawn on AIX 5.3.
32900
32901 2008-10-20  Bruno Haible  <bruno@clisp.org>
32902
32903         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
32904
32905 2008-10-20  Bruno Haible  <bruno@clisp.org>
32906
32907         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
32908         of AC_LANG_PROGRAM.
32909
32910 2008-10-20  Simon Josefsson  <simon@josefsson.org>
32911
32912         * lib/netdb.in.h: Don't define GNU specific constants until they
32913         are supported or needed.  Reported by Bruno Haible
32914         <bruno@clisp.org>.
32915
32916 2008-10-20  Simon Josefsson  <simon@josefsson.org>
32917
32918         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
32919
32920 2008-10-20  Simon Josefsson  <simon@josefsson.org>
32921
32922         * lib/getaddrinfo.h: Remove file.
32923         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
32924         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
32925         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
32926         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
32927         * modules/netdb: Substitute GNULIB_GETADDRINFO.
32928         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
32929         * tests/test-getaddrinfo.c: Likewise.
32930         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
32931         * NEWS: Mention change.
32932
32933 2008-10-19  Bruno Haible  <bruno@clisp.org>
32934
32935         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
32936
32937 2008-10-19  Bruno Haible  <bruno@clisp.org>
32938
32939         * lib/wait-process.c: Include simply <sys/wait.h>.
32940         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
32941         WIFSTOPPED): Remove fallback definitions.
32942         * modules/wait-process (Depends-on): Add sys_wait.
32943
32944         New module 'sys_wait'.
32945         * modules/sys_wait: New file.
32946         * lib/sys_wait.in.h: New file, partially copied from
32947         lib/wait-process.c.
32948         * m4/sys_wait_h.m4: New file.
32949         * doc/posix-headers/sys_wait.texi: Mention the new module.
32950
32951 2008-10-19  Bruno Haible  <bruno@clisp.org>
32952
32953         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
32954
32955 2008-10-19  Bruno Haible  <bruno@clisp.org>
32956
32957         Assume that waitpid() fills an 'int' status, not a 'union wait'.
32958         * lib/wait-process.c (WAIT_T): Remove type.
32959         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
32960         (wait_subprocess): Update.
32961
32962 2008-10-19  Bruno Haible  <bruno@clisp.org>
32963
32964         New module 'atoll'.
32965         * modules/atoll: New file.
32966         * lib/stdlib.in.h (atoll): New declaration.
32967         * lib/atoll.c: New file, from glibc with modifications.
32968         * m4/atoll.m4: New file.
32969         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
32970         HAVE_ATOLL.
32971         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
32972         * doc/posix-functions/atoll.texi: Mention the new module.
32973
32974 2008-10-19  Bruno Haible  <bruno@clisp.org>
32975
32976         Add strtoull() declaration to <stdlib.h>.
32977         * lib/stdlib.in.h (strtoull): New declaration.
32978         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
32979         Set HAVE_STRTOULL.
32980         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
32981         HAVE_STRTOULL.
32982         * modules/strtoull (Depends-on): Add stdlib.
32983         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
32984         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
32985         HAVE_STRTOULL.
32986
32987 2008-10-19  Bruno Haible  <bruno@clisp.org>
32988
32989         Add strtoll() declaration to <stdlib.h>.
32990         * lib/stdlib.in.h (strtoll): New declaration.
32991         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
32992         Set HAVE_STRTOLL.
32993         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
32994         HAVE_STRTOLL.
32995         * modules/strtoll (Depends-on): Add stdlib.
32996         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
32997         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
32998
32999 2008-10-19  Bruno Haible  <bruno@clisp.org>
33000
33001         * modules/bcopy (Depends-on): Add strings.
33002         (Include): Specify <strings.h>.
33003
33004 2008-10-19  Bruno Haible  <bruno@clisp.org>
33005
33006         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
33007
33008 2008-10-19  Bruno Haible  <bruno@clisp.org>
33009
33010         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
33011         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
33012         mingw.
33013
33014 2008-10-19  Bruno Haible  <bruno@clisp.org>
33015
33016         * lib/atanl.c: Don't include isnanl.h.
33017         * lib/cosl.c: Likewise.
33018         * lib/ldexpl.c: Likewise.
33019         * lib/logl.c: Likewise.
33020         * lib/sinl.c: Likewise.
33021         * lib/sqrtl.c: Likewise.
33022         * lib/tanl.c: Likewise.
33023
33024         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
33025         * lib/isnanf.h: Remove file.
33026         * lib/isnand.h: Remove file.
33027         * lib/isnanl.h: Remove file.
33028         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
33029         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
33030         macros.
33031         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
33032         HAVE_ISNANF, don't define it as a C macro.
33033         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
33034         HAVE_ISNAND, don't define it as a C macro.
33035         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
33036         HAVE_ISNANL, don't define it as a C macro.
33037         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
33038         HAVE_ISNAN[FDL].
33039         * modules/isnanf (Files): Remove lib/isnanf.h.
33040         (Depends-on): Add math.
33041         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
33042         (Include): Specify <math.h> instead of isnanf.h.
33043         * modules/isnand (Files): Remove lib/isnand.h.
33044         (Depends-on): Add math.
33045         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
33046         (Include): Specify <math.h> instead of isnand.h.
33047         * modules/isnanl (Files): Remove lib/isnanl.h.
33048         (Depends-on): Add math.
33049         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
33050         (Include): Specify <math.h> instead of isnanl.h.
33051         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
33052         HAVE_ISNAN[FDL].
33053         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
33054         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
33055         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
33056         * NEWS: Mention the change.
33057
33058 2008-10-18  Bruno Haible  <bruno@clisp.org>
33059
33060         Add getusershell(), setusershell(), endusershell() declarations to
33061         <unistd.h>.
33062         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
33063         declarations.
33064         * lib/getusershell.c: Include unistd.h.
33065         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
33066         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
33067         HAVE_GETUSERSHELL.
33068         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
33069         and HAVE_GETUSERSHELL.
33070         * modules/getusershell (Depends-on): Add unistd, extensions.
33071         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33072         (Include): Specify <unistd.h>.
33073         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
33074         HAVE_GETUSERSHELL.
33075
33076 2008-10-18  Bruno Haible  <bruno@clisp.org>
33077
33078         Add a getloadavg() declaration to <stdlib.h>.
33079         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
33080         getloadavg declaration.
33081         (getloadavg): New declaration.
33082         * lib/getloadavg.c: Include <stdlib.h> first.
33083         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
33084         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
33085         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
33086         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
33087         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
33088         * modules/getloadavg (Depends-on): Add stdlib, extensions.
33089         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33090         (Include): Specify <stdlib.h>.
33091         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
33092         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
33093
33094 2008-10-18  Bruno Haible  <bruno@clisp.org>
33095
33096         * lib/dirchownmod.c: Don't include lchmod.h.
33097
33098         Move the lchmod() declaration to <sys/stat.h>.
33099         * lib/lchmod.h: Remove file.
33100         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
33101         (lchmod): New declaration, moved here from lib/lchown.h.
33102         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
33103         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
33104         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
33105         and HAVE_LCHMOD.
33106         * modules/lchmod (Files): Remove lib/lchmod.h.
33107         (Depends-on): Add sys_stat, extensions.
33108         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
33109         (Include): Specify <sys/stat.h> instead of lchmod.h.
33110         * modules/sys_stat (Depends-on): Add link-warning.
33111         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
33112         definition of GL_LINK_WARNING.
33113         * NEWS: Mention the change.
33114
33115 2008-10-18  Bruno Haible  <bruno@clisp.org>
33116
33117         * lib/fchdir.c: Don't include dirfd.h.
33118         * lib/fts.c: Likewise.
33119         * lib/getcwd.c: Likewise.
33120         * lib/glob.c: Likewise.
33121
33122         Move the dirfd() declaration to <dirent.h>.
33123         * lib/dirfd.h: Remove file.
33124         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
33125         (dirfd): New declaration.
33126         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
33127         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
33128         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
33129         HAVE_DECL_DIRFD.
33130         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
33131         HAVE_DECL_DIRFD.
33132         * modules/dirfd (Files): Remove lib/dirfd.h.
33133         (Depends-on): Add dirent, extensions.
33134         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
33135         (Include): Specify <dirent.h> instead of dirfd.h.
33136         * modules/dirent (Depends-on): Add link-warning.
33137         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
33138         definition of GL_LINK_WARNING.
33139         * NEWS: Mention the change.
33140
33141 2008-10-18  Bruno Haible  <bruno@clisp.org>
33142
33143         Move the euidaccess() declaration to <unistd.h>.
33144         * lib/euidaccess.h: Remove file.
33145         * lib/unistd.in.h (euidaccess): New declaration.
33146         * lib/euidaccess.c: Don't include euidaccess.h.
33147         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
33148         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
33149         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
33150         and HAVE_EUIDACCESS.
33151         * modules/euidaccess (Files): Remove lib/euidaccess.h.
33152         (Depends-on): Add unistd.
33153         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33154         (Include): Specify <unistd.h> instead of euidaccess.h.
33155         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
33156         HAVE_EUIDACCESS.
33157         * NEWS: Mention the change.
33158
33159 2008-10-18  Bruno Haible  <bruno@clisp.org>
33160
33161         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
33162
33163         Move the getdomainname() declaration to <unistd.h>.
33164         * lib/getdomainname.h: Remove file.
33165         * lib/unistd.in.h (getdomainname): New declaration.
33166         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
33167         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
33168         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
33169         HAVE_GETDOMAINNAME.
33170         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33171         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
33172         * modules/getdomainname (Files): Remove lib/getdomainname.h.
33173         (Depends-on): Add unistd, extensions.
33174         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33175         (Includes): Specify <unistd.h> instead of getdomainname.h.
33176         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
33177         HAVE_GETDOMAINNAME.
33178         * NEWS: Mention the change.
33179
33180 2008-10-18  Bruno Haible  <bruno@clisp.org>
33181
33182         * modules/dirent: New file.
33183         * m4/dirent_h.m4: New file.
33184         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
33185         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
33186         * modules/fchdir (Files): Remove lib/dirent.in.h.
33187         (Depends-on): Add dirent.
33188         (Makefile.am): Move rules to modules/dirent.
33189         * doc/posix-headers/dirent.texi: Mention the new module.
33190
33191 2008-10-18  Bruno Haible  <bruno@clisp.org>
33192
33193         Avoid -Wunused-parameter warnings in public gnulib header files.
33194         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
33195         macro.
33196         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
33197
33198 2008-10-18  Bruno Haible  <bruno@clisp.org>
33199
33200         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
33201         * doc/glibc-functions/error.texi: Mention the module 'error'.
33202         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
33203         * doc/glibc-functions/getdomainname.texi: Mention the module
33204         'getdomainname'.
33205         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
33206         * doc/glibc-functions/getpagesize.texi: Mention the module
33207         'getpagesize'.
33208         * doc/glibc-functions/getusershell.texi: Mention the module
33209         'getusershell'.
33210         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
33211         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
33212         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
33213         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
33214         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
33215         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
33216         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
33217         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
33218         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
33219         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
33220         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
33221         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
33222         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
33223         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
33224
33225 2008-10-17  Bruno Haible  <bruno@clisp.org>
33226
33227         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
33228         HP-UX and IRIX, use -0.0L.
33229         * tests/test-ceill.c (minus_zero): Likewise.
33230         * tests/test-floorl.c (minus_zero): Likewise.
33231         * tests/test-frexpl.c (minus_zero): Likewise.
33232         * tests/test-isnan.c (minus_zerol): Likewise.
33233         * tests/test-isnanl.h (minus_zero): Likewise.
33234         * tests/test-ldexpl.c (minus_zero): Likewise.
33235         * tests/test-roundl.c (minus_zero): Likewise.
33236         * tests/test-signbit.c (minus_zerol): Likewise.
33237         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
33238         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
33239         * tests/test-truncl.c (minus_zero): Likewise.
33240         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
33241         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
33242         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
33243         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
33244
33245 2008-10-17  Bruno Haible  <bruno@clisp.org>
33246
33247         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
33248         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
33249         that it gets activated only for gcc >= 3.0.
33250         * lib/dirent.in.h: Likewise.
33251         * lib/errno.in.h: Likewise.
33252         * lib/fcntl.in.h: Likewise.
33253         * lib/float.in.h: Likewise.
33254         * lib/iconv.in.h: Likewise.
33255         * lib/inttypes.in.h: Likewise.
33256         * lib/locale.in.h: Likewise.
33257         * lib/math.in.h: Likewise.
33258         * lib/netdb.in.h: Likewise.
33259         * lib/netinet_in.in.h: Likewise.
33260         * lib/search.in.h: Likewise.
33261         * lib/signal.in.h: Likewise.
33262         * lib/spawn.in.h: Likewise.
33263         * lib/stdarg.in.h: Likewise.
33264         * lib/stdint.in.h: Likewise.
33265         * lib/stdio.in.h: Likewise.
33266         * lib/stdlib.in.h: Likewise.
33267         * lib/string.in.h: Likewise.
33268         * lib/strings.in.h: Likewise.
33269         * lib/sys_file.in.h: Likewise.
33270         * lib/sys_ioctl.in.h: Likewise.
33271         * lib/sys_select.in.h: Likewise.
33272         * lib/sys_socket.in.h: Likewise.
33273         * lib/sys_stat.in.h: Likewise.
33274         * lib/sys_time.in.h: Likewise.
33275         * lib/sysexits.in.h: Likewise.
33276         * lib/time.in.h: Likewise.
33277         * lib/unistd.in.h: Likewise.
33278         * lib/wchar.in.h: Likewise.
33279         * lib/wctype.in.h: Likewise.
33280         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
33281
33282 2008-10-17  Jim Meyering  <meyering@redhat.com>
33283
33284         ignore-value: don't depend on inline module
33285         * modules/ignore-value (Depends-on): Remove 'inline'.
33286         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
33287         Suggestion from Bruno Haible.
33288
33289 2008-10-17  Bruno Haible  <bruno@clisp.org>
33290
33291         New implementation of condition variables for Win32.
33292         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
33293         (gl_linked_waitqueue_t): New type.
33294         (gl_cond_t): Use it.
33295         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
33296         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
33297         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
33298         (glthread_cond_init_func, glthread_cond_wait_func,
33299         glthread_cond_timedwait_func, glthread_cond_signal_func,
33300         glthread_cond_broadcast_func, glthread_cond_destroy_func):
33301         Reimplemented on the basis of gl_linked_waitqueue_t.
33302         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
33303         gl_waitqueue_t.
33304         (gl_rwlock_t): Update.
33305         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
33306
33307 2008-10-17  Simon Josefsson  <simon@josefsson.org>
33308
33309         * modules/recvfrom (Depends-on): Add dependency on getpeername.
33310         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
33311
33312 2008-10-17  Jim Meyering  <meyering@redhat.com>
33313
33314         ignore-value: new module
33315         * modules/ignore-value: New file.
33316         * lib/ignore-value.h: New file.
33317         * MODULES.html.sh (Compiler warning management): New section,
33318         just for this module.  More to come.
33319
33320 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
33321
33322         open-safer.c: avoid 'signed and unsigned in conditional...' warning
33323         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
33324         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
33325
33326 2008-10-16  Jim Meyering  <meyering@redhat.com>
33327
33328         openat-die.c: avoid 'no previous prototype' warning
33329         * lib/openat-die.c: Include "openat.h".
33330         Reported by Reuben Thomas <rrt@sc3d.org>.
33331
33332 2008-10-16  Simon Josefsson  <simon@josefsson.org>
33333
33334         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
33335         * lib/netdb.in.h: Fix typo.
33336         Reported by Bruno Haible  <bruno@clisp.org>
33337
33338         * lib/netdb.in.h: Include sys/socket.h for platforms without
33339         netdb.h, to get structures like hostent on MinGW.
33340         * modules/netdb (Depends-on): Add sys_socket.
33341
33342 2008-10-15  Simon Josefsson  <simon@josefsson.org>
33343
33344         * modules/netdb, modules/netdb-tests: New file.
33345         * m4/netdb_h.m4: New file.
33346         * lib/netdb.in.h: Add, currently just an empty file pending
33347         definitions.
33348         * tests/test-netdb.c: New file.
33349         * doc/posix-headers/netdb.texi: Mention that we replace it if
33350         needed.
33351         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
33352         netdb.
33353
33354 2008-10-15  Simon Josefsson  <simon@josefsson.org>
33355
33356         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
33357         with code.
33358
33359 2008-10-13  Bruno Haible  <bruno@clisp.org>
33360
33361         * lib/glthread/cond.c (glthread_cond_wait_func,
33362         glthread_cond_timedwait_func): Add a comment.
33363
33364 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
33365
33366         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
33367         * tests/test-select.c: Likewise,
33368
33369 2008-10-13  Bruno Haible  <bruno@clisp.org>
33370
33371         * lib/glthread/cond.c (glthread_cond_wait_func,
33372         glthread_cond_timedwait_func): Fix variable name.
33373         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
33374
33375 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
33376
33377         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
33378         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
33379         struct sockaddr.sa_len.
33380         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
33381
33382 2008-10-13  Simon Josefsson  <simon@josefsson.org>
33383
33384         * build-aux/pmccabe2html: Add css and css_url parameters.
33385
33386 2008-10-12  Bruno Haible  <bruno@clisp.org>
33387
33388         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
33389         calling aclx_get.
33390         Reported by Rainer Tammer <tammer@tammer.net>.
33391
33392 2008-10-12  Bruno Haible  <bruno@clisp.org>
33393
33394         Use msvcrt aware primitives for creation/termination of Win32 threads.
33395         * lib/glthread/thread.c: Include <process.h>.
33396         (glthread_create_func): Use _beginthreadex instead of CreateThread.
33397         (wrapper_func): Update signature.
33398         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
33399
33400 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
33401             Bruno Haible  <bruno@clisp.org>
33402
33403         Provide a Win32 implementation of the 'cond' module.
33404         * lib/glthread/cond.h [USE_WIN32]: New implementation.
33405         * lib/glthread/cond.c (glthread_cond_init_func,
33406         glthread_cond_wait_func, glthread_cond_timedwait_func,
33407         glthread_cond_signal_func, glthread_cond_broadcast_func,
33408         glthread_cond_destroy_func) [USE_WIN32]: New functions.
33409         * modules/cond (Dependencies): Add gettimeofday.
33410
33411 2008-10-11  Bruno Haible  <bruno@clisp.org>
33412
33413         Make sleep work on older versions of mingw.
33414         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
33415         only whether it exists.
33416         * doc/posix-functions/sleep.texi: Mention the problem with older
33417         versions of mingw.
33418
33419 2008-10-11  Bruno Haible  <bruno@clisp.org>
33420
33421         New module 'shutdown'.
33422         * modules/shutdown: New file.
33423         * lib/sys_socket.in.h (shutdown): New declaration.
33424         * lib/winsock.c (shutdown): New function.
33425         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
33426         GNULIB_SHUTDOWN.
33427         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
33428         * doc/posix-functions/shutdown.texi: Document the new module.
33429
33430 2008-10-11  Jim Meyering  <meyering@redhat.com>
33431
33432         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
33433
33434 2008-10-11  Bruno Haible  <bruno@clisp.org>
33435
33436         New module 'fclose'.
33437         * modules/fclose: New file.
33438         * lib/stdio.in.h (fclose): New declaration.
33439         * lib/fclose.c: New file.
33440         * m4/fclose.m4: New file.
33441         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
33442         REPLACE_FCLOSE.
33443         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
33444         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
33445         REPLACE_FCLOSE.
33446         * modules/close (Depends-on): fclose.
33447         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
33448
33449 2008-10-11  Bruno Haible  <bruno@clisp.org>
33450
33451         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
33452         set errno and don't call _close.
33453
33454 2008-10-10  Bruno Haible  <bruno@clisp.org>
33455
33456         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
33457         ACL, not afterwards. Fixes test failure on Cygwin.
33458
33459 2008-10-09  Ben Pfaff  <blp@gnu.org>
33460
33461         * build-aux/announce-gen: Fix gnulib version related part of usage
33462         message.  Die with a useful error message if no tarballs are
33463         found.
33464
33465 2008-10-10  Jim Meyering  <meyering@redhat.com>
33466
33467         bootstrap: use git's --depth=N option only if it's supported
33468         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
33469         recognize the --depth option.  Reported by Pádraig Brady.
33470
33471 2008-10-09  Bruno Haible  <bruno@clisp.org>
33472
33473         New module 'ioctl'.
33474         * modules/ioctl: New file.
33475         * lib/sys_socket.in.h (ioctl): Remove declaration.
33476         * lib/winsock.c: Include <sys/ioctl.h>.
33477         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
33478         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
33479         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
33480         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
33481         * doc/posix-functions/ioctl.texi: Mention the new module.
33482
33483 2008-10-09  Bruno Haible  <bruno@clisp.org>
33484
33485         New module 'sys_ioctl'.
33486         * lib/sys_ioctl.in.h: New file.
33487         * m4/sys_ioctl_h.m4: New file.
33488         * modules/sys_ioctl: New file.
33489         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
33490
33491 2008-10-09  Bruno Haible  <bruno@clisp.org>
33492
33493         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
33494         * lib/winsock.c: Include <stdarg.h>.
33495         (rpl_ioctl): Change to second argument 'int' and then varargs.
33496
33497 2008-10-09  Bruno Haible  <bruno@clisp.org>
33498
33499         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
33500         when the sys_socket module is present and the system has <winsock2.h>.
33501
33502 2008-10-09  Bruno Haible  <bruno@clisp.org>
33503
33504         * doc/posix-functions/close.texi: Mention module 'close' instead of
33505         module 'sys_socket'.
33506
33507 2008-10-09  Bruno Haible  <bruno@clisp.org>
33508
33509         * doc/glibc-headers/sys_ioctl.texi: New file.
33510         * doc/gnulib.texi: Include it.
33511
33512 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
33513             Bruno Haible  <bruno@clisp.org>
33514
33515         Combine the two replacements of 'close'.
33516         * lib/sys_socket.in.h (close): Define to a reminder to include
33517         <unistd.h>.
33518         (_gl_close_fd_maybe_socket): New declaration.
33519         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
33520         * lib/winsock.c (close): Remove undefinition.
33521         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
33522         needed for the gnulib module 'close'.
33523         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
33524         define to an error symbol or to a warning, if suitable.
33525         * lib/close.c: Include <sys/socket.h>.
33526         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
33527         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
33528         UNISTD_H_HAVE_WINSOCK2_H.
33529         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
33530         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33531         UNISTD_H_HAVE_WINSOCK2_H.
33532         * modules/sys_socket (Files): Add m4/unistd_h.m4.
33533         (configure.ac): Set a module indicator.
33534         (Makefile.am): Substitute GNULIB_CLOSE.
33535         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
33536         * modules/poll-tests (Depends-on): Add close.
33537         * modules/select-tests (Depends-on): Likewise.
33538
33539 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
33540             Bruno Haible  <bruno@clisp.org>
33541
33542         New module 'close'.
33543         * modules/close: New file.
33544         * lib/unistd.in.h (close): Move declaration out of the
33545         FCHDIR_REPLACEMENT scope.
33546         (_gl_unregister_fd): New declaration.
33547         * lib/close.c: New file.
33548         * lib/fchdir.c (rpl_close): Remove function.
33549         * m4/close.m4: New file.
33550         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
33551         close.
33552         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
33553         REPLACE_CLOSE.
33554         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
33555         REPLACE_CLOSE.
33556         * modules/fchdir (Depends-on): Add close.
33557
33558 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
33559             Bruno Haible  <bruno@clisp.org>
33560
33561         * lib/fcntl.in.h (open): Simplify conditionals.
33562         (_gl_register_fd): New declaration.
33563         * lib/fchdir.c (rpl_open): Remove function.
33564         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
33565         also.
33566         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
33567         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
33568         open.
33569
33570 2008-10-09  Jim Meyering  <meyering@redhat.com>
33571
33572         GNUmakefile: use the more name-space-friendly "_version"
33573         * top/GNUmakefile (_dummy): Update.
33574         (_version): Rename from "version".
33575
33576 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
33577             Bruno Haible  <bruno@clisp.org>
33578
33579         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
33580         rpl_close.
33581         (_gl_register_fd): New function, extracted from rpl_open.
33582         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
33583         (rpl_open, rpl_opendir): Use _gl_register_fd.
33584
33585 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
33586
33587         Fix organization of 'open' replacement.
33588         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
33589         (gl_FUNC_OPEN): Use it.
33590         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
33591
33592 2008-10-08  Bruno Haible  <bruno@clisp.org>
33593
33594         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
33595
33596 2008-10-08  Simon Josefsson  <simon@josefsson.org>
33597
33598         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
33599         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
33600         listen).
33601
33602 2008-10-08  Eric Blake  <ebb9@byu.net>
33603
33604         GNUmakefile: add 'make version' target
33605         * top/GNUmakefile (_curr-ver): Split version update rules...
33606         (version): ...into a target.
33607
33608 2008-10-07  Bruno Haible  <bruno@clisp.org>
33609
33610         Use a more portable replacement expression for -0.0L.
33611         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
33612         instead of -0.0L. Fix m4 quotation.
33613
33614         * tests/test-signbit.c: Include <float.h>.
33615         (minus_zero): New variable.
33616         (test_signbitl): Use minus_zero instead of -zero.
33617         * modules/signbit-tests (Depends-on): Add float.
33618
33619         * tests/test-ceill.c: Include <float.h>.
33620         (zero): Remove variable.
33621         (minus_zero): New variable.
33622         (main): Use minus_zero instead of -zero.
33623         * modules/ceill-tests (Depends-on): Add float.
33624
33625         * tests/test-floorl.c: Include <float.h>.
33626         (zero): Remove variable.
33627         (minus_zero): New variable.
33628         (main): Use minus_zero instead of -zero.
33629         * modules/floorl-tests (Depends-on): Add float.
33630
33631         * tests/test-roundl.c: Include <float.h>.
33632         (zero): Remove variable.
33633         (minus_zero): New variable.
33634         (main): Use minus_zero instead of -zero.
33635         * modules/roundl-tests (Depends-on): Add float.
33636
33637         * tests/test-truncl.c: Include <float.h>.
33638         (zero): Remove variable.
33639         (minus_zero): New variable.
33640         (main): Use minus_zero instead of -zero.
33641         * modules/truncl-tests (Depends-on): Add float.
33642
33643         * tests/test-frexpl.c (zero): Remove variable.
33644         (minus_zero): New variable.
33645         (main): Use minus_zero instead of -zero.
33646         * modules/frexpl-tests (Depends-on): Add float.
33647
33648         * tests/test-isnan.c (zerol): Remove variable.
33649         (minus_zerol): New variable.
33650         (test_long_double): Use minus_zerol instead of -zerol.
33651         * modules/isnan-tests (Depends-on): Add float.
33652
33653         * tests/test-isnanl.h (zero): Remove variable.
33654         (minus_zero): New variable.
33655         (main): Use minus_zero instead of -zero.
33656         * modules/isnanl-nolibm-tests (Depends-on): Add float.
33657         * modules/isnanl-tests (Depends-on): Add float.
33658
33659         * tests/test-ldexpl.c (zero): Remove variable.
33660         (minus_zero): New variable.
33661         (main): Use minus_zero instead of -zero.
33662         * modules/ldexpl-tests (Depends-on): Add float.
33663
33664         * tests/test-snprintf-posix.h (zerol): Remove variable.
33665         (minus_zerol): New variable.
33666         (test_function): Use minus_zerol instead of -zerol.
33667         * modules/snprintf-posix-tests (Depends-on): Add float.
33668         * modules/vsnprintf-posix-tests (Depends-on): Add float.
33669
33670         * tests/test-sprintf-posix.h (zerol): Remove variable.
33671         (minus_zerol): New variable.
33672         (test_function): Use minus_zerol instead of -zerol.
33673         * modules/sprintf-posix-tests (Depends-on): Add float.
33674         * modules/vsprintf-posix-tests (Depends-on): Add float.
33675
33676         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
33677         (minus_zerol): New variable.
33678         (test_function): Use minus_zerol instead of -zerol.
33679         * modules/vasnprintf-posix-tests (Depends-on): Add float.
33680
33681         * tests/test-vasprintf-posix.c (zerol): Remove variable.
33682         (minus_zerol): New variable.
33683         (test_function): Use minus_zerol instead of -zerol.
33684         * modules/vasprintf-posix-tests (Depends-on): Add float.
33685
33686 2008-10-07  Simon Josefsson  <simon@josefsson.org>
33687
33688         * MODULES.html.sh (Support for building documentation): Mention
33689         pmccabe2html.  Sort entries.
33690
33691         Add pmccabe2html module, from gnupdf.
33692         * build-aux/pmccabe.css: New file.
33693         * build-aux/pmccabe2html: New file.
33694         * m4/pmccabe2html.m4: New file.
33695         * modules/pmccabe2html: New file.
33696
33697 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
33698
33699         flock: new module
33700         * MODULES.html.sh: Add to list of modules.
33701         * lib/flock.c: flock implementation for Windows and Unix systems
33702         which have fcntl.
33703         * doc/glibc-functions/flock.texi: Update documentation.
33704         * lib/sys_file.in.h: <sys/file.h> header file.
33705         * m4/flock.m4: M4 macros.
33706         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
33707         * modules/flock: flock module.
33708         * modules/flock-tests: flock tests module.
33709         * modules/sys_file: sys/file.h module.
33710         * tests/test-flock.c: test suite for flock.
33711
33712 2008-10-06  Jim Meyering  <meyering@redhat.com>
33713
33714         bootstrap: check for LT_INIT more portably still ;-)
33715         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
33716         Spotted by Bruno Haible.
33717
33718 2008-10-06  Eric Blake  <ebb9@byu.net>
33719
33720         test-signbit: avoid tripping Irix cc bug on -0.0L
33721         * tests/test-signbit.c (minus_zerol): Delete, and replace with
33722         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
33723         entire testsuite consistent and avoids an Irix 6.2 bug.
33724
33725 2008-10-05  Bruno Haible  <bruno@clisp.org>
33726             Jim Meyering  <jim@meyering.net>
33727
33728         Add an option for ignoring EPIPE during close_stdout.
33729         * lib/closeout.h: Include <stdbool.h>.
33730         (close_stdout_set_ignore_EPIPE): New declaration.
33731         * lib/closeout.c: Include <stdbool.h>.
33732         (ignore_EPIPE): New variable.
33733         (close_stdout_set_ignore_EPIPE): New function.
33734         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
33735         * lib/close-stream.c (close_stream): Mention the possible EPIPE
33736         failure.
33737         * modules/closeout (Depends-on): Add stdbool.
33738
33739 2008-10-05  Bruno Haible  <bruno@clisp.org>
33740
33741         * modules/accept: New file.
33742         * modules/bind: New file.
33743         * modules/connect: New file.
33744         * modules/getpeername: New file.
33745         * modules/getsockname: New file.
33746         * modules/getsockopt: New file.
33747         * modules/listen: New file.
33748         * modules/recv: New file.
33749         * modules/recvfrom: New file.
33750         * modules/send: New file.
33751         * modules/sendto: New file.
33752         * modules/setsockopt: New file.
33753         * modules/socket: New file.
33754         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
33755         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
33756         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
33757         the particular module is requested. Add a link warning when the
33758         particular module is not requested.
33759         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
33760         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
33761         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
33762         the particular module is requested.
33763         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
33764         gl_SYS_SOCKET_H_DEFAULTS): New macros.
33765         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
33766         * modules/sys_socket (Depends-on): Add link-warning.
33767         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
33768         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
33769         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
33770         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
33771         GL_LINK_WARNING.
33772         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
33773         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
33774         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
33775         * doc/posix-functions/getpeername.texi: Mention the new module
33776         'getpeername'.
33777         * doc/posix-functions/getsockname.texi: Mention the new module
33778         'getsockname'.
33779         * doc/posix-functions/getsockopt.texi: Mention the new module
33780         'getsockopt'.
33781         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
33782         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
33783         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
33784         * doc/posix-functions/send.texi: Mention the new module 'send'.
33785         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
33786         * doc/posix-functions/setsockopt.texi: Mention the new module
33787         'setsockopt'.
33788         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
33789         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
33790         listen, connect, accept.
33791         * modules/select-tests (Depends-on): Likewise.
33792
33793 2008-10-05  Bruno Haible  <bruno@clisp.org>
33794
33795         * lib/winsock.c (strerror): Remove unused #undef.
33796         (rpl_close): Remove unused local variable.
33797
33798         * modules/sys_socket (Depends-on); Add errno.
33799
33800 2008-10-05  Bruno Haible  <bruno@clisp.org>
33801
33802         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
33803         (select): Add a link warning when the 'select' module is not used.
33804         * modules/sys_select (Depends-on): Add link-warning.
33805         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
33806         Suggested by Paolo Bonzini.
33807
33808 2008-10-05  Jim Meyering  <meyering@redhat.com>
33809
33810         bootstrap: check for LT_INIT more portably
33811         * build-aux/bootstrap: Avoid using grep -E, since it's not
33812         portable enough.  Suggestion from Bruno Haible.
33813
33814 2008-10-05  Bruno Haible  <bruno@clisp.org>
33815
33816         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
33817         as being fixed by gnulib.
33818
33819 2008-10-05  Bruno Haible  <bruno@clisp.org>
33820
33821         * modules/select-tests: New file, mostly copied from
33822         modules/sys_select-tests.
33823         * tests/test-select.c: New file, mostly copied from
33824         tests/test-sys_select.c.
33825         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
33826         * modules/sys_select-tests (Depends-on): Remove all dependencies.
33827         (Makefile.am): Remove test_sys_select_LDADD.
33828
33829         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
33830         to an undefined symbol, for an error message.
33831         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
33832         (gl_SYS_SELECT_H_DEFAULTS): New macro.
33833         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
33834         winsock-select.c here.
33835         * modules/sys_select (Files): Remove lib/winsock-select.c.
33836         (Depends-on): Remove alloca.
33837         (Makefile.am): Substitute GNULIB_SELECT.
33838         * modules/select: New file.
33839         * doc/posix-functions/select.texi: Update.
33840
33841 2008-10-05  Bruno Haible  <bruno@clisp.org>
33842
33843         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
33844         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
33845         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
33846         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
33847         getdtablesize.
33848         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
33849         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
33850
33851 2008-10-05  Bruno Haible  <bruno@clisp.org>
33852
33853         * modules/getdtablesize-tests: New file.
33854         * tests/test-getdtablesize.c: New file.
33855
33856         New module 'getdtablesize'.
33857         * lib/unistd.in.h (getdtablesize): New declaration.
33858         * lib/getdtablesize.c: New file.
33859         * m4/getdtablesize.m4: New file.
33860         * modules/getdtablesize: New file.
33861         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33862         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
33863         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
33864         HAVE_GETDTABLESIZE.
33865         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
33866
33867 2008-10-05  Bruno Haible  <bruno@clisp.org>
33868
33869         * modules/sched (Makefile.am): Fix typo.
33870         Reported by Simon Josefsson.
33871
33872 2008-10-05  Jim Meyering  <meyering@redhat.com>
33873
33874         bootstrap: check for LT_INIT, too
33875         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
33876         are deprecated.  Suggestion from Ralf Wildenhues.
33877
33878 2008-10-05  Bruno Haible  <bruno@clisp.org>
33879
33880         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
33881         overriding them by ours.
33882         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
33883
33884 2008-10-05  Jim Meyering  <meyering@redhat.com>
33885
33886         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
33887         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
33888         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
33889
33890 2008-10-04  Bruno Haible  <bruno@clisp.org>
33891
33892         * modules/dup2 (License): Change to LGPLv2+.
33893         * modules/sleep (License): Likewise.
33894         * modules/perror (License): Likewise.
33895         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
33896         Blake.
33897         * modules/signal (License): Likewise.
33898         * modules/sigprocmask (License): Likewise.
33899         * modules/raise (License): Change to LGPLv2+, with approval by Jim
33900         Meyering.
33901
33902 2008-10-04  Bruno Haible  <bruno@clisp.org>
33903
33904         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
33905         Reported by Rainer Tammer <tammer@tammer.net>.
33906
33907 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
33908             Bruno Haible  <bruno@clisp.org>
33909
33910         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
33911         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
33912         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
33913
33914 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
33915
33916         filevercmp: new module
33917         * lib/filevercmp.h: New function filevercmp comparing version strings.
33918         * lib/filevercmp.c: Implementation of filevercmp function.
33919         * modules/filevercmp: Module metadata.
33920         * tests/test-filevercmp.c: Unit test for new module.
33921         * modules/filevercmp-tests: Unit test metadata.
33922         * MODULES.html.sh: Add filevercmp module.
33923
33924 2008-10-03  Bruno Haible  <bruno@clisp.org>
33925
33926         * lib/c-ctype.h: Add comment.
33927         Reported by Jim Meyering.
33928
33929 2008-10-02  Bruno Haible  <bruno@clisp.org>
33930
33931         * modules/posix_spawn-internal (Depends-on): Add 'open'.
33932
33933 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
33934
33935         * build-aux/bootstrap: Allow renaming bootstrap, and change the
33936         name of bootstrap.conf accordingly.
33937
33938 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
33939
33940         * build-aux/bootstrap: Install git-merge-changelog configuration
33941         items into .gitconfig if needed.
33942
33943 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
33944
33945         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
33946         git repository, and initialize/update it accordingly.
33947
33948 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
33949
33950         * modules/fsync-tests: New file.
33951         * tests/test-fsync.c: New file.
33952
33953         New module 'fsync'.
33954         * lib/fsync.c: New file.
33955         * m4/fsync.m4: New file.
33956         * modules/fsync: New file.
33957         * lib/unistd.in.h (fsync): New declaration.
33958         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
33959         GNULIB_FSYNC and HAVE_FSYNC.
33960         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
33961         * MODULES.html.sh (posix_functions): Add fsync.
33962         * doc/posix-functions/fsync.texi: Mention the new module.
33963
33964 2008-10-02  Jim Meyering  <meyering@redhat.com>
33965
33966         fts.c: sync with similar code from coreutils' remove.c
33967         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
33968         Guard also with "#if defined __linux__", since for now at least,
33969         this code is Linux-kernel-specific.
33970
33971 2008-10-02  Jim Meyering  <meyering@redhat.com>
33972
33973         fts: bug fixes
33974         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
33975         Include <sys/vfs.h>, not <sys/statfs.h>.
33976
33977         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
33978         Include <sys/vfs.h>, not <sys/statfs.h>.
33979
33980 2008-10-01  Bruno Haible  <bruno@clisp.org>
33981
33982         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
33983         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
33984         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
33985         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
33986         * doc/posix-functions/posix_spawnp.texi: Likewise.
33987         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
33988         whether posix_spawn actually works.
33989         * m4/pipe.m4 (gl_PIPE): Likewise.
33990         * modules/execute (Files): Add m4/posix_spawn.m4.
33991         * modules/pipe (Files): Add m4/posix_spawn.m4.
33992         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
33993
33994 2008-10-01  Jim Meyering  <meyering@redhat.com>
33995
33996         remove trailing spaces
33997         * NEWS: Likewise.
33998         * lib/poll.c (poll): Likewise.
33999         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
34000         * lib/winsock.c (rpl_close): Likewise.
34001         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
34002         * modules/yield: Likewise.
34003         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
34004         * tests/test-sys_select.c (connect_to_socket): Likewise.
34005
34006         fts.c: adjust a new interface to be more generally useful
34007         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
34008         (fts_build): Adjust caller.
34009
34010 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34011
34012         * modules/cond-tests: New file.
34013         * tests/test-cond.c: New file.
34014
34015 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34016             Bruno Haible  <bruno@clisp.org>
34017
34018         * modules/cond (Dependencies): Add errno, time.
34019         * lib/glthread/cond.h: Include <time.h>.
34020         (gl_cond_define, gl_cond_define_initialized): Use the same definition
34021         across platforms.
34022
34023 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34024             Bruno Haible  <bruno@clisp.org>
34025
34026         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
34027
34028 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34029             Bruno Haible  <bruno@clisp.org>
34030
34031         * modules/tls-tests (Depends-on): Add thread, yield.
34032         (configure.ac): Remove all checks.
34033         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
34034         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
34035         gl_thread_self): Remove definitions. Include glthread/thread.h and
34036         glthread/yield.h instead.
34037         (test_tls): Pass an additional NULL argument to gl_thread_join.
34038
34039 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34040             Bruno Haible  <bruno@clisp.org>
34041
34042         * modules/lock-tests (Depends-on): Add thread, yield.
34043         (configure.ac): Remove all checks.
34044         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
34045         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
34046         gl_thread_self): Remove definitions. Include glthread/thread.h and
34047         glthread/yield.h instead.
34048         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
34049         additional NULL argument to gl_thread_join.
34050
34051 2008-09-30  Bruno Haible  <bruno@clisp.org>
34052
34053         Fix the Win32 implementation of the 'thread' module.
34054         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
34055         pointer type.
34056         (gl_thread_self): Invoke gl_thread_self_func.
34057         (gl_thread_self_func): New declaration.
34058         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
34059         (do_init_self_key, init_self_key): New functions.
34060         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
34061         Remove some fields.
34062         (running_threads, running_lock): Remove variables.
34063         (get_current_thread_handle): New function.
34064         (gl_thread_self_func, wrapper_func, glthread_create_func,
34065         glthread_join_func, gl_thread_exit_func): Largely rewritten and
34066         simplified.
34067
34068 2008-09-30  Bruno Haible  <bruno@clisp.org>
34069
34070         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
34071         files.
34072
34073 2008-09-30  Jim Meyering  <meyering@redhat.com>
34074
34075         fts.m4: correct the test for statfs.f_type
34076         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
34077         when checking for statfs.f_type.
34078
34079 2008-09-15  Simon Josefsson  <simon@josefsson.org>
34080
34081         tests: avoid some compiler warnings
34082         * tests/test-memchr.c (main): Pass NULL indirectly.
34083         * tests/test-getdate.c (main): Remove unused variable 'ret'.
34084
34085 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
34086
34087         getdate.y: disallow countable dayshifts like "4 yesterday ago"
34088         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
34089         exactly specified dayshifts.
34090         (dayshift): New rule.
34091         (rel): Add dayshift.
34092         (relative_time_table) [tomorrow, yesterday, today, now]:
34093         Use tDAY_SHIFT in place of tDAY_UNIT.
34094         * tests/test-getdate.c: Add tests for now-disallowed countable
34095         dayshifts, e.g., "4 yesterday ago".
34096
34097 2008-09-29  Bruno Haible  <bruno@clisp.org>
34098
34099         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
34100         * tests/test-posix_spawn1.in.sh: Renamed from
34101         tests/test-posix_spawn.in.sh.
34102         * tests/test-posix_spawn2.c: New file.
34103         * tests/test-posix_spawn2.in.sh: New file.
34104         * modules/posix_spawnp-tests (Files): Update.
34105         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
34106
34107 2008-09-29  Bruno Haible  <bruno@clisp.org>
34108
34109         Propagate effects of putenv/setenv/unsetenv to child processes.
34110         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
34111         * lib/pipe.c (create_pipe): Likewise.
34112
34113 2008-09-29  Bruno Haible  <bruno@clisp.org>
34114
34115         Enable use of shell scripts as executables in mingw.
34116         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
34117         run the program as a shell script.
34118         * lib/pipe.c (create_pipe): Likewise.
34119         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
34120         resulting array.
34121
34122 2008-09-29  Eric Blake  <ebb9@byu.net>
34123
34124         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
34125
34126 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
34127
34128         * doc/posix-functions/accept.texi: Update mingw problems.
34129         * doc/posix-functions/bind.texi: Update mingw problems.
34130         * doc/posix-functions/close.texi: Update mingw problems.
34131         * doc/posix-functions/connect.texi: Update mingw problems.
34132         * doc/posix-functions/getpeername.texi: Update mingw problems.
34133         * doc/posix-functions/getsockname.texi: Update mingw problems.
34134         * doc/posix-functions/getsockopt.texi: Update mingw problems.
34135         * doc/posix-functions/ioctl.texi: Update mingw problems.
34136         * doc/posix-functions/listen.texi: Update mingw problems.
34137         * doc/posix-functions/recv.texi: Update mingw problems.
34138         * doc/posix-functions/recvfrom.texi: Update mingw problems.
34139         * doc/posix-functions/select.texi: Update mingw problems.
34140         * doc/posix-functions/send.texi: Update mingw problems.
34141         * doc/posix-functions/sendto.texi: Update mingw problems.
34142         * doc/posix-functions/setsockopt.texi: Update mingw problems.
34143         * doc/posix-functions/socket.texi: Update mingw problems.
34144
34145 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
34146             Bruno Haible  <bruno@clisp.org>
34147
34148         * lib/sys_select.in.h: Include sys/time.h.
34149         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
34150         * modules/sys_select: Depend on sys_time.
34151         * tests/test-sys_select.c: Test that sys/select.h defines struct
34152         timeval fully.
34153
34154 2008-09-29  Bruno Haible  <bruno@clisp.org>
34155
34156         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
34157         * lib/sys_select.in.h: Likewise.
34158
34159 2008-09-29  Bruno Haible  <bruno@clisp.org>
34160
34161         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
34162
34163 2008-09-29  Bruno Haible  <bruno@clisp.org>
34164
34165         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
34166         Set LIBSOCKET instead of augmenting LIBS.
34167         * modules/sockets (Link): New section.
34168         * modules/sockets-tests (test_sockets_LDADD): New variable.
34169         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
34170         * modules/poll-tests (test_poll_LDADD): New variable.
34171         * NEWS: Document the change.
34172
34173 2008-09-29  Bruno Haible  <bruno@clisp.org>
34174
34175         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
34176         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
34177         ARPA_INET_H directly.
34178         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
34179
34180 2008-09-28  Bruno Haible  <bruno@clisp.org>
34181
34182         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
34183         from gl_HEADER_SYS_SOCKET.
34184         (gl_HEADER_SYS_SOCKET): Invoke it.
34185         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34186
34187 2008-09-28  Bruno Haible  <bruno@clisp.org>
34188
34189         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
34190         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
34191         Needed on OSF/1 4.0.
34192
34193 2008-09-28  Bruno Haible  <bruno@clisp.org>
34194
34195         Override open more carefully.
34196         * lib/open.c (orig_open): New function.
34197         (rpl_open): Use orig_open instead of open.
34198         * lib/fcntl.in.h: Add special invocation convention.
34199         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
34200         (gl_FUNC_OPEN): Invoke it.
34201
34202         Override freopen more carefully.
34203         * lib/freopen.c (orig_freopen): New function.
34204         (rpl_freopen): Use orig_freopen instead of freopen.
34205         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
34206         (gl_FUNC_FREOPEN): Invoke it.
34207
34208         Override fopen more carefully.
34209         * lib/fopen.c (orig_fopen): New function.
34210         (rpl_fopen): Use orig_fopen instead of fopen.
34211         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
34212         (gl_FUNC_FOPEN): Invoke it.
34213         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
34214
34215 2008-09-28  Bruno Haible  <bruno@clisp.org>
34216
34217         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
34218         SIGPIPE.
34219
34220 2008-09-28  Bruno Haible  <bruno@clisp.org>
34221
34222         * tests/test-sigaction.c (handler, main): Disable the check whether
34223         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
34224         glibc systems with LinuxThreads.
34225
34226 2008-09-28  Bruno Haible  <bruno@clisp.org>
34227
34228         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
34229
34230         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
34231         with AIX xlc.
34232         * lib/fcntl.in.h (open): Likewise.
34233         Reported by Rainer Tammer <tammer@tammer.net>.
34234
34235 2008-09-28  Bruno Haible  <bruno@clisp.org>
34236
34237         * modules/posix_spawnp-tests: New file.
34238         * tests/test-posix_spawn.c: New file.
34239         * tests/test-posix_spawn.in.sh: New file.
34240
34241         New module 'posix_spawnp'.
34242         * modules/posix_spawnp: New file.
34243         * lib/spawnp.c: New file, from GNU libc with modifications.
34244         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
34245
34246         New module 'posix_spawn'.
34247         * modules/posix_spawn: New file.
34248         * lib/spawn.c: New file, from GNU libc with modifications.
34249         * doc/posix-functions/posix_spawn.texi: Mention the new module.
34250
34251         New module 'posix_spawnattr_destroy'.
34252         * modules/posix_spawnattr_destroy: New file.
34253         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
34254         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
34255         module.
34256
34257         New module 'posix_spawnattr_setsigmask'.
34258         * modules/posix_spawnattr_setsigmask: New file.
34259         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
34260         modifications.
34261         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
34262         new module.
34263
34264         New module 'posix_spawnattr_getsigmask'.
34265         * modules/posix_spawnattr_getsigmask: New file.
34266         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
34267         modifications.
34268         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
34269         new module.
34270
34271         New module 'posix_spawnattr_setsigdefault'.
34272         * modules/posix_spawnattr_setsigdefault: New file.
34273         * lib/spawnattr_setdefault.c: New file, from GNU libc with
34274         modifications.
34275         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
34276         new module.
34277
34278         New module 'posix_spawnattr_getsigdefault'.
34279         * modules/posix_spawnattr_getsigdefault: New file.
34280         * lib/spawnattr_getdefault.c: New file, from GNU libc with
34281         modifications.
34282         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
34283         new module.
34284
34285         New module 'posix_spawnattr_setschedpolicy'.
34286         * modules/posix_spawnattr_setschedpolicy: New file.
34287         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
34288         modifications.
34289         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
34290         new module.
34291
34292         New module 'posix_spawnattr_getschedpolicy'.
34293         * modules/posix_spawnattr_getschedpolicy: New file.
34294         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
34295         modifications.
34296         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
34297         new module.
34298
34299         New module 'posix_spawnattr_setschedparam'.
34300         * modules/posix_spawnattr_setschedparam: New file.
34301         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
34302         modifications.
34303         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
34304         new module.
34305
34306         New module 'posix_spawnattr_getschedparam'.
34307         * modules/posix_spawnattr_getschedparam: New file.
34308         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
34309         modifications.
34310         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
34311         new module.
34312
34313         New module 'posix_spawnattr_setpgroup'.
34314         * modules/posix_spawnattr_setpgroup: New file.
34315         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
34316         modifications.
34317         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
34318         module.
34319
34320         New module 'posix_spawnattr_getpgroup'.
34321         * modules/posix_spawnattr_getpgroup: New file.
34322         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
34323         modifications.
34324         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
34325         module.
34326
34327         New module 'posix_spawnattr_setflags'.
34328         * modules/posix_spawnattr_setflags: New file.
34329         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
34330         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
34331         module.
34332
34333         New module 'posix_spawnattr_getflags'.
34334         * modules/posix_spawnattr_getflags: New file.
34335         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
34336         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
34337         module.
34338
34339         New module 'posix_spawnattr_init'.
34340         * modules/posix_spawnattr_init: New file.
34341         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
34342         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
34343         module.
34344
34345         New module 'posix_spawn_file_actions_destroy'.
34346         * modules/posix_spawn_file_actions_destroy: New file.
34347         * lib/spawn_faction_destroy.c: New file, from GNU libc with
34348         modifications.
34349         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
34350         the new module.
34351
34352         New module 'posix_spawn_file_actions_addopen'.
34353         * modules/posix_spawn_file_actions_addopen: New file.
34354         * lib/spawn_faction_addopen.c: New file, from GNU libc with
34355         modifications.
34356         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
34357         the new module.
34358
34359         New module 'posix_spawn_file_actions_adddup2'.
34360         * modules/posix_spawn_file_actions_adddup2: New file.
34361         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
34362         modifications.
34363         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
34364         the new module.
34365
34366         New module 'posix_spawn_file_actions_addclose'.
34367         * modules/posix_spawn_file_actions_addclose: New file.
34368         * lib/spawn_faction_addclose.c: New file, from GNU libc with
34369         modifications.
34370         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
34371         the new module.
34372
34373         New module 'posix_spawn_file_actions_init'.
34374         * modules/posix_spawn_file_actions_init: New file.
34375         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
34376         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
34377         new module.
34378
34379         New module 'posix_spawn-internal'.
34380         * modules/posix_spawn-internal: New file.
34381         * lib/spawn_int.h: New file, from GNU libc with modifications.
34382         * lib/spawni.c: New file, from GNU libc with modifications.
34383         * m4/posix_spawn.m4: New file.
34384
34385         New module 'spawn'.
34386         * modules/spawn: New file.
34387         * lib/spawn.in.h: New file, from GNU libc with modifications.
34388         * m4/spawn_h.m4: New file.
34389         * doc/posix-headers/spawn.texi: Mention the new module.
34390
34391 2008-09-28  Bruno Haible  <bruno@clisp.org>
34392
34393         * modules/sched-tests: New file.
34394         * tests/test-sched.c: New file.
34395
34396         New module 'sched'.
34397         * modules/sched: New file.
34398         * lib/sched.in.h: New file.
34399         * m4/sched_h.m4: New file.
34400         * doc/posix-headers/sched.texi: Mention the new module.
34401
34402 2008-09-27  Eric Blake  <ebb9@byu.net>
34403
34404         Fix previous patch, and tweak references to $0.
34405         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
34406         (func_version, func_gnulib_dir): Don't call this program
34407         gnulib-tool.
34408         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
34409         with using $0 in function.
34410         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
34411         (func_fatal_error): Reuse the name the user invoked us with.
34412
34413 2008-09-27  Bruno Haible  <bruno@clisp.org>
34414
34415         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
34416         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
34417         (gl_ICONV_H): Not here.
34418         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
34419         instead of assigning ICONV_H directly.
34420
34421         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
34422         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
34423         WCHAR_H directly.
34424
34425 2008-09-27  Bruno Haible  <bruno@clisp.org>
34426
34427         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
34428         * modules/arpa_inet (Depends-on): Add link-warning.
34429         (Makefile.am): Insert the definition of GL_LINK-WARNING.
34430         * modules/unistd (Makefile.am): Likewise.
34431
34432 2008-09-26  Bruno Haible  <bruno@clisp.org>
34433
34434         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
34435         variables.
34436         (func_version): Essentially copied from gnulib-tool.
34437         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
34438         func_readlink): Copied from gnulib-tool.
34439
34440 2008-09-26  Bruno Haible  <bruno@clisp.org>
34441
34442         * gnulib-tool (func_version): Change directory to $gnulib_dir before
34443         invoking git-version-gen.
34444
34445 2008-09-26  Bruno Haible  <bruno@clisp.org>
34446
34447         * posix-modules: Update to directory names changed on 2008-01-19.
34448         Remove commas in output before splitting into words. No more need to
34449         avoid 'ftruncate' since 2007-02-19.
34450
34451 2008-09-26  Bruno Haible  <bruno@clisp.org>
34452
34453         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
34454
34455 2008-09-26  Bruno Haible  <bruno@clisp.org>
34456
34457         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
34458         * modules/fwriteerror (Depends-on): Add errno.
34459
34460 2008-09-26  Bruno Haible  <bruno@clisp.org>
34461
34462         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
34463         * tests/test-vc-list-files-cvs.sh: Likewise.
34464
34465 2008-09-26  Bruno Haible  <bruno@clisp.org>
34466
34467         * doc/posix-headers/sys_resource.texi: Reorder items.
34468
34469 2008-09-26  Jim Meyering  <meyering@redhat.com>
34470
34471         fts: tweak inode comparison function
34472         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
34473         inode numbers, as documented.
34474
34475         fts: sort dirent entries on inode number before traversing
34476         This avoids a quadratic, seek-related performance penalty when
34477         operating on a directory containing many entries (measurable at 10k;
34478         3.5 hours at 2 million entries with a cold cache) on certain types
34479         of file systems, including ext3 and ext4, but not tmpfs.
34480         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
34481         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
34482         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
34483         (fs_handles_readdir_ordered_dirents_efficiently): New function.
34484         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
34485         (fts_build): Set the stat.st_ino member from D_INO.
34486         If it is likely to be useful, sort dirent entries on inode number.
34487
34488         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
34489         and the struct statfs.f_type member.
34490         * modules/fts (Depends-on): Add d-ino.
34491
34492 2008-09-26  Bruno Haible  <bruno@clisp.org>
34493
34494         * modules/sigpipe-die (Depends-on): Add sigpipe.
34495
34496         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
34497         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
34498         and GNULIB_STDIO_H_SIGPIPE are set.
34499         * lib/stdio-write.c: New file.
34500         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
34501         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
34502         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
34503         REPLACE_STDIO_WRITE_FUNCS.
34504         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
34505         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
34506         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
34507         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
34508         * modules/stdio (Files): Add lib/stdio-write.c.
34509         (Makefile.am): Substitute 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         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
34514         REPLACE_FPRINTF_POSIX.
34515         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
34516         REPLACE_PRINTF_POSIX.
34517         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
34518         REPLACE_VFPRINTF_POSIX.
34519         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
34520         REPLACE_VPRINTF_POSIX.
34521         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
34522         SIGPIPE issue.
34523         * doc/posix-functions/fputc.texi: Likewise.
34524         * doc/posix-functions/fputs.texi: Likewise.
34525         * doc/posix-functions/fwrite.texi: Likewise.
34526         * doc/posix-functions/printf.texi: Likewise.
34527         * doc/posix-functions/putc.texi: Likewise.
34528         * doc/posix-functions/putchar.texi: Likewise.
34529         * doc/posix-functions/puts.texi: Likewise.
34530         * doc/posix-functions/vfprintf.texi: Likewise.
34531         * doc/posix-functions/vprintf.texi: Likewise.
34532
34533         * modules/safe-write (Depends-on): Add write.
34534
34535         * modules/sigpipe-tests: New file.
34536         * tests/test-sigpipe.c: New file.
34537         * tests/test-sigpipe.sh: New file.
34538
34539         * modules/write: New file.
34540         * lib/unistd.in.h: Include <sys/types.h>.
34541         (write): New declaration.
34542         * lib/write.c: New file.
34543         * m4/write.m4: New file.
34544         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34545         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
34546         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
34547         GNULIB_WRITE, REPLACE_WRITE.
34548         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
34549         and the SIGPIPE issue.
34550
34551         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
34552         (raise): New declaration.
34553         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
34554         (ext_signal): New function.
34555         (rpl_raise): New function.
34556         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
34557         GNULIB_SIGNAL_H_SIGPIPE.
34558         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
34559         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
34560
34561         * modules/sigpipe: New file.
34562         * m4/sigpipe.m4: New file.
34563
34564 2008-09-25  Derek Price  <derek@ximbiot.com>
34565             Bruno Haible  <bruno@clisp.org>
34566
34567         * gnulib-tool (func_import): Report all license incompatibilities, not
34568         just the first one.
34569
34570 2008-09-25  Bruno Haible  <bruno@clisp.org>
34571
34572         * gnulib-tool (func_import): When computing the edits, consider not
34573         only the Makefile.ams that exist but also those that will be generated.
34574
34575 2008-09-25  Simon Josefsson  <simon@josefsson.org>
34576
34577         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
34578         fixes gnulib-tool --test warning about duplicate dependency.
34579
34580 2008-09-25  Bruno Haible  <bruno@clisp.org>
34581
34582         * gnulib-tool: Don't ask the user to perform edits in the generated
34583         Makefile.ams.
34584         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
34585         apply to the Makefile.am being generated.
34586         (func_emit_tests_Makefile_am): Execute edits that apply to the
34587         Makefile.am being generated.
34588         (func_import): Setup list of Makefile.am edits before emitting the
34589         Makefile.ams, not at the end.
34590         (func_create_testdir): Update.
34591         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
34592
34593 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34594
34595         * gnulib-tool (func_import): Store the --tests-base option in the
34596         comment in gnulib-cache.m4.
34597
34598 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
34599
34600         * NEWS: Document increased portability that sys_select now provides.
34601
34602         * lib/sys_select.in.h: Install select wrapper.
34603         * lib/sys_socket.in.h: Use more descriptive name when there is no
34604         select wrapper.
34605         * lib/winsock-select.c: New.
34606         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
34607         Require gl_HEADER_SYS_SOCKET.
34608         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
34609         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
34610         * tests/test-sys_select.c: Add functional tests.
34611
34612 2008-09-24  Eric Blake  <ebb9@byu.net>
34613
34614         open, fopen: close fd leak in last patch
34615         * lib/open.c (rpl_open): Close fd before returning error.
34616         * lib/fopen.c (rpl_fopen): Close fd before returning error.
34617         * doc/posix-functions/open.texi (open): Document that Irix also
34618         has the bug.
34619         * doc/posix-functions/fopen.texi (fopen): Likewise.
34620         Reported by Paolo Bonzini.
34621
34622 2008-09-24  Bruno Haible  <bruno@clisp.org>
34623
34624         Ensure that a filename ending in a slash cannot be used to access a
34625         non-directory.
34626         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
34627         to check whether it's really a directory.
34628         * lib/fopen.c: Include fcntl.h, unistd.h.
34629         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
34630         and fdopen().
34631         * modules/fopen (Depends-on): Add unistd.
34632         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
34633         * tests/test-fopen.c (main): Likewise.
34634         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
34635         * doc/posix-functions/fopen.texi: Likewise.
34636         Reported by Eric Blake.
34637
34638 2008-09-23  Eric Blake  <ebb9@byu.net>
34639
34640         c-stack: avoid compiler optimizations when provoking overflow
34641         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
34642         recursion harder to optimize, to ensure a stack overflow occurs.
34643         * tests/test-c-stack.c (recurse): Likewise.
34644         Borrowed from libsigsegv.
34645
34646         c-stack: work around Irix sigaltstack bug
34647         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
34648         whether sigaltstack uses wrong end of stack_t (copied in part from
34649         libsigsegv).
34650         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
34651         Irix bug, without requiring an over-allocation.
34652         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
34653         bug.
34654
34655         fopen: document mingw bug on directories
34656         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
34657         not allowing a stream visiting a directory, even though reading
34658         from such a stream is not portable.
34659
34660 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
34661
34662         * lib/poll.c: Rewrite.
34663         * modules/poll: Depend on alloca.
34664
34665 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
34666
34667         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
34668         instead define prototypes for a full set of wrappers.  Ensure
34669         that Cygwin does not use the compatibility code, which is only
34670         for MinGW.
34671         * lib/winsock.c: New.
34672         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
34673         * modules/sys_socket: Add lib/winsock.c.
34674
34675         * modules/poll-tests: Add errno and perror.
34676         * tests/test-poll.c: Use ioctl, not ioctlsocket.
34677
34678 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
34679
34680         * tests/test-poll.c: Downgrade minimum needed Winsock version.
34681
34682 2008-09-23  Bruno Haible  <bruno@clisp.org>
34683
34684         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
34685         * doc/glibc-functions/*: Likewise.
34686
34687 2008-09-23  Simon Josefsson  <simon@josefsson.org>
34688
34689         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
34690         success.
34691
34692 2008-09-22  Eric Blake  <ebb9@byu.net>
34693             Bruno Haible  <bruno@clisp.org>
34694
34695         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
34696         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
34697         supply %A but mishandle pseudo-NaN.
34698         Reported by Simon Josefsson.
34699
34700 2008-09-21  Bruno Haible  <bruno@clisp.org>
34701
34702         * tests/test-lock.c (main): Tweak skip message.
34703         * tests/test-tls.c (main): Likewise.
34704
34705 2008-09-21  Bruno Haible  <bruno@clisp.org>
34706
34707         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
34708         whether 'struct sigaction' has sa_sigaction here...
34709         (gl_PREREQ_SIG_HANDLER_H): ... not here.
34710         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
34711
34712 2008-09-21  Bruno Haible  <bruno@clisp.org>
34713
34714         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
34715         section.
34716         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
34717         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
34718         the new section.
34719         (Support for obsolete systems lacking POSIX:2001): New section.
34720         (String handling <string.h>): Move strdup to the new section.
34721         Suggested by Simon Josefsson and Paolo Bonzini.
34722
34723 2008-09-21  Bruno Haible  <bruno@clisp.org>
34724
34725         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
34726         exponents in %e and %g results on 'long double'. Needed for mingw's
34727         improved *printf functions.
34728         * tests/test-vasprintf-posix.c (test_function): Likewise.
34729         * tests/test-snprintf-posix.h (test_function): Likewise.
34730         * tests/test-sprintf-posix.h (test_function): Likewise.
34731         Reported by Eric Blake.
34732
34733 2008-09-21  Bruno Haible  <bruno@clisp.org>
34734
34735         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
34736         * tests/test-sprintf-posix.h (test_function): Likewise.
34737
34738 2008-09-21  Bruno Haible  <bruno@clisp.org>
34739
34740         * modules/getpass (Depends-on): Add strdup-posix.
34741
34742         New module 'strdup-posix'.
34743         * modules/strdup-posix: New file.
34744         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
34745         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
34746         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34747         REPLACE_STRDUP.
34748         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
34749         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
34750         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
34751         strdup-posix.
34752
34753         * modules/strdup (Depends-on): Remove malloc-posix.
34754
34755 2008-09-20  Bruno Haible  <bruno@clisp.org>
34756
34757         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
34758         Wildenhues.
34759
34760 2008-09-20  Bruno Haible  <bruno@clisp.org>
34761
34762         Ensure that wint_t gets defined on IRIX 5.3.
34763         * lib/wchar.in.h (wint_t): Define if not defined by the system.
34764         * lib/wctype.in.h (wint_t): Likewise.
34765         (__wctype_wint_t): Remove type.
34766         (isw*): Use wint_t instead of __wctype_wint_t.
34767         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
34768         * modules/wchar (Files): Add m4/wint_t.m4.
34769         (Makefile.am): Substitute HAVE_WINT_T.
34770         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
34771         * tests/test-wctype.c: Check that wint_t is defined.
34772         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
34773         * doc/posix-headers/wctype.texi: Likewise.
34774         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34775
34776 2008-09-18  Bruno Haible  <bruno@clisp.org>
34777
34778         * gnulib-tool (func_exit): Update comment.
34779
34780 2008-09-18  Simon Josefsson  <simon@josefsson.org>
34781
34782         * modules/getaddrinfo (Depends-on): Remove strdup, this module
34783         assumes strdup exists and does not depend on strdup to return
34784         ENOMEM on out of memory conditions.
34785
34786 2008-09-18  Bruno Haible  <bruno@clisp.org>
34787
34788         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
34789         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
34790         digits for the exponent.
34791
34792 2008-09-18  Jim Meyering  <meyering@redhat.com>
34793             Bruno Haible  <bruno@clisp.org>
34794
34795         * lib/vasnprintf.c (decimal_point_char): Define also if
34796         NEED_PRINTF_INFINITE_LONG_DOUBLE.
34797
34798 2008-09-16  Bruno Haible  <bruno@clisp.org>
34799         and Eric Blake  <ebb9@byu.net>
34800
34801         vasnprintf: support Irix 5.3
34802         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
34803         that mishandle long double infinity.
34804         Reported by Tom G. Christensen.
34805
34806 2008-09-16  Bruno Haible  <bruno@clisp.org>
34807
34808         * doc/glibc-functions/scandir.texi: Mention the function is missing on
34809         Solaris 9.
34810         * doc/glibc-functions/alphasort.texi: Likewise.
34811         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
34812
34813 2008-09-16  Jim Meyering  <meyering@redhat.com>
34814
34815         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
34816         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
34817         a umask modification leak out of a subshell.  Otherwise, the
34818         opensolaris /bin/sh would be accepted and thus cause unwarranted
34819         failures in the coreutils test suite.
34820
34821 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
34822
34823         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
34824         to succeed.
34825
34826 2008-09-16  Jim Meyering  <meyering@redhat.com>
34827
34828         avoid spurious test failure when library is built without ACL support
34829         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
34830         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
34831         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
34832         * tests/test-copy-acl.sh: Likewise.
34833
34834 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34835
34836         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
34837         based on character occurrence counts.
34838
34839 2008-09-15  Eric Blake  <ebb9@byu.net>
34840
34841         tests: avoid some compiler warnings
34842         * tests/test-memchr.c (main): Pass NULL indirectly.
34843         * tests/test-closein.c (main): Avoid unused variable.
34844
34845 2008-09-15  Bruno Haible  <bruno@clisp.org>
34846
34847         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
34848         are missing on OpenBSD 4.0 individually.
34849         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
34850
34851 2008-09-15  Bruno Haible  <bruno@clisp.org>
34852
34853         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
34854         * doc/posix-functions/strerror.texi: Mention also Cygwin.
34855         * doc/posix-functions/perror.texi: Likewise.
34856         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
34857         is missing.
34858         Reported by Eric Blake.
34859
34860         * lib/errno.in.h: Use replacement values >= 2000.
34861         Reported by Eric Blake.
34862
34863 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34864
34865         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
34866         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
34867         limit.
34868         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
34869         compareseq was aborted.
34870
34871 2008-09-14  Bruno Haible  <bruno@clisp.org>
34872
34873         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
34874         yvec_edit_count.
34875         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
34876         (fstrcmp_bounded): Simplify result computation accordingly.
34877
34878 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34879
34880         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
34881         (fstrcmp): Define in terms of fstrcmp_bounded.
34882         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
34883         lower_bound argument.
34884         Return quickly if the result is certainly < lower_bound.
34885         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
34886
34887 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34888
34889         * lib/diffseq.h (EARLY_ABORT): New macro.
34890         (compareseq): Change return type to bool. Return true when EARLY_ABORT
34891         evaluates to true.
34892
34893 2008-09-14  Bruno Haible  <bruno@clisp.org>
34894
34895         * modules/perror-tests: New file.
34896         * tests/test-perror.sh: New file.
34897         * tests/test-perror.c: New file.
34898
34899         New module 'perror'.
34900         * lib/stdio.in.h (perror): New declaration.
34901         * lib/perror.c: New file.
34902         * m4/perror.m4: New file.
34903         * modules/perror: New file.
34904         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
34905         * doc/posix-functions/perror.texi: Mention the perror module.
34906         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
34907         REPLACE_PERROR.
34908         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
34909         REPLACE_PERROR.
34910
34911 2008-09-14  Bruno Haible  <bruno@clisp.org>
34912
34913         * modules/stdio (Makefile.am): Reorder to match the order in
34914         lib/stdio.in.h.
34915         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
34916
34917 2008-09-13  Bruno Haible  <bruno@clisp.org>
34918
34919         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
34920
34921 2008-09-13  Bruno Haible  <bruno@clisp.org>
34922
34923         Extend strerror to cover the added errno values.
34924         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
34925         (rpl_strerror): Provide error messages for the added errno values and
34926         for the WSA* values.
34927         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
34928         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
34929         strerror.
34930         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
34931         * modules/strerror (Depends-on): Add errno.
34932         * doc/posix-functions/strerror.texi: Document the change.
34933         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
34934         and EOVERFLOW.
34935
34936 2008-09-13  Bruno Haible  <bruno@clisp.org>
34937
34938         * modules/EOVERFLOW: Remove file.
34939         * m4/eoverflow.m4: Remove file.
34940         * modules/EOVERFLOW-tests: Remove file.
34941         * tests/test-EOVERFLOW.c: Remove file.
34942         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
34943         * modules/ftell (Depends-on): Likewise.
34944         * modules/getdelim (Depends-on): Likewise.
34945         * modules/getugroups (Depends-on): Likewise.
34946         * modules/poll (Depends-on): Likewise.
34947         * modules/snprintf (Depends-on): Likewise.
34948         * modules/sprintf-posix (Depends-on): Likewise.
34949         * modules/vasnprintf (Depends-on): Likewise.
34950         * modules/vasprintf (Depends-on): Likewise.
34951         * modules/vfprintf-posix (Depends-on): Likewise.
34952         * modules/vsnprintf (Depends-on): Likewise.
34953         * modules/vsprintf-posix (Depends-on): Likewise.
34954         * modules/xvasprintf (Depends-on): Likewise.
34955         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
34956         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
34957         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
34958         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
34959         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
34960         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
34961         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
34962         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
34963         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
34964         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
34965         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
34966         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
34967         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
34968         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
34969         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
34970         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
34971         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
34972         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
34973         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
34974         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
34975         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
34976         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
34977         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
34978         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
34979         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
34980         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
34981         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
34982         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
34983         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
34984         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
34985         * MODULES.html.sh: Remove EOVERFLOW.
34986         * NEWS: Mention the change.
34987
34988 2008-09-13  Bruno Haible  <bruno@clisp.org>
34989
34990         * modules/errno-tests: New file.
34991         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
34992
34993         * lib/errno.in.h: New file.
34994         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
34995         * modules/errno: New file.
34996         * doc/posix-headers/errno.texi: Update documentation.
34997         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
34998
34999 2008-09-13  Bruno Haible  <bruno@clisp.org>
35000
35001         * tests/test-poll.c: Use #if for native Windows, rather than testing
35002         __MSVCRT__.
35003
35004 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35005             Bruno Haible  <bruno@clisp.org>
35006
35007         * lib/glob.c: Don't include <pwd.h> on native Windows.
35008         (WINDOWS32): New macro.
35009         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
35010
35011 2008-09-13  Bruno Haible  <bruno@clisp.org>
35012
35013         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
35014         (ETIMEDOUT): Remove macro.
35015         (glthread_cond_timedwait_multithreaded): New declaration.
35016         (glthread_cond_timedwait): Use it.
35017         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
35018         (glthread_cond_timedwait_multithreaded): New function.
35019
35020 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
35021
35022         * modules/poll-tests: Do not check for io.h.
35023         * tests/test-poll.c: Check for __MSVCRT__ instead.
35024
35025 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
35026
35027         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
35028         * modules/poll-tests: Add inet_pton, stdbool, sockets.
35029         * tests/test-poll.c: Use them.  Use _pipe on Windows.
35030
35031 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
35032
35033         * modules/poll-tests: New.
35034         * tests/test-poll.c: New.
35035
35036 2008-09-12  Eric Blake  <ebb9@byu.net>
35037
35038         frexp: test for NetBSD failure on -0.0
35039         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
35040         not all, bugs from NetBSD 3.0 have been fixed.
35041         * doc/posix-functions/frexp.texi (frexp): Document bug.
35042         Reported by Thomas Klausner.
35043
35044         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
35045         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
35046         literal -0.0.
35047         Reported by Jonathan C. Patschke <jp@centtech.com>.
35048
35049 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35050
35051         * lib/glthread/cond.h: Use dummy implementation also if
35052         USE_WIN32_THREADS.
35053
35054 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35055
35056         * modules/fnmatch-posix (License): Change to LGPLv2+.
35057         * modules/fnmatch-gnu (License): Likewise.
35058
35059 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35060
35061         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
35062
35063 2008-09-11  Jim Meyering  <meyering@redhat.com>
35064
35065         * users.txt: Add gtk-vnc.
35066
35067 2008-09-08  Simon Josefsson  <simon@josefsson.org>
35068
35069         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
35070         rotate amounts.
35071
35072         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
35073         required for 16-bit and 8-bit rotates.
35074         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
35075         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
35076         UINT8_MAX instead of hard-coded constants.
35077         Suggested by Paul Eggert.
35078
35079 2008-09-07  Bruno Haible  <bruno@clisp.org>
35080
35081         * tests/test-striconveh.c (main): Check behaviour when converting from
35082         UTF-7.
35083
35084         Make striconveh work better with stateful encodings.
35085         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
35086         that iconv does not increment the inptr when returning -1/EINVAL.
35087
35088 2008-09-07  Bruno Haible  <bruno@clisp.org>
35089
35090         * build-aux/config.rpath: Update according to libtool-2.2.6.
35091         * build-aux/config.libpath: Likewise.
35092
35093 2008-09-06  Bruno Haible  <bruno@clisp.org>
35094
35095         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
35096         * lib/freadptr.c (freadptr): Likewise.
35097         * lib/freadseek.c (freadptrinc): Likewise.
35098         Reported by Simon Josefsson.
35099
35100 2008-09-06  Bruno Haible  <bruno@clisp.org>
35101
35102         * modules/freadptr (License): Change to LGPLv2+.
35103         * modules/freadseek (License): Likewise.
35104         Suggested by Eric Blake.
35105
35106         * modules/memchr2 (License): Change to LGPLv2+.
35107         Approved by Eric Blake.
35108
35109 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35110             Bruno Haible  <bruno@clisp.org>
35111
35112         Make gnulib-tool work with native 'sed' on AIX.
35113         * gnulib-tool (sed_noop): New variable.
35114         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
35115         func_add_or_update, func_create_testdir): Use it to initialize sed
35116         script variables.
35117         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
35118
35119 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
35120             Bruno Haible  <bruno@clisp.org>
35121
35122         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
35123         also works after #include directives.
35124
35125 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
35126
35127         getdate.y: reject an out-of-range timezone value
35128         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
35129         the range [-24...+24].  When specified with only one or two digits,
35130         * tests/test-getdate.c: Tests for the fix.
35131         * doc/getdate.texi: Document this change.
35132
35133 2008-09-03  Bruno Haible  <bruno@clisp.org>
35134
35135         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
35136
35137 2008-09-02  Simon Josefsson  <simon@josefsson.org>
35138
35139         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
35140         <bruce.korb@gmail.com> with ideas from Ben Pfaff
35141         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
35142         Blake <ebb9@byu.net>.
35143
35144         * tests/test-bitrotate.c: Add more test vectors.
35145
35146 2008-09-02  Eric Blake  <ebb9@byu.net>
35147
35148         vasnprintf-posix: handle large precision via %.*d
35149         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
35150         when handling it ourselves.
35151         * tests/test-vasnprintf-posix.c (test_function): Add test.
35152         * tests/test-snprintf-posix.h (test_function): Likewise.
35153         * tests/test-sprintf-posix.h (test_function): Likewise.
35154         * tests/test-vasprintf-posix.c (test_function): Likewise.
35155         Reported by Alain Guibert.
35156
35157 2008-09-01  Eric Blake  <ebb9@byu.net>
35158
35159         c-stack: make configure-time check more robust
35160         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
35161         successful sigaction call.
35162         Reported by Tom G. Christensen.
35163
35164 2008-09-01  Bruno Haible  <bruno@clisp.org>
35165
35166         New module 'findprog-lgpl'.
35167         * modules/findprog-lgpl: New file.
35168         * lib/findprog-lgpl.c: New file.
35169         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
35170         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
35171         to decide whether to use strdup or xstrdup, concatenated_filename or
35172         xconcatenated_filename.
35173
35174 2008-09-01  Bruno Haible  <bruno@clisp.org>
35175
35176         Split module 'concat-filename' into 'concat-filename' (LGPL) and
35177         'xconcat-filename' (GPL).
35178         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
35179         (License): Change to LGPLv2+.
35180         * modules/xconcat-filename: New file.
35181         * lib/concat-filename.h (concatenated_filename): Change specification.
35182         (xconcatenated_filename): New declaration.
35183         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
35184         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
35185         memory situations.
35186         * lib/xconcat-filename.c: New file.
35187         * NEWS: Mention the change.
35188         * lib/findprog.c: Include concat-filename.h, not filename.h.
35189         (find_in_path): Use xconcatenated_filename instead of
35190         concatenated_filename.
35191         * lib/javacomp.c: Include concat-filename.h, not filename.h.
35192         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
35193         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
35194         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
35195         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
35196         instead of concatenated_filename.
35197         * lib/javaexec.c: Include concat-filename.h, not filename.h.
35198         (execute_java_class): Use xconcatenated_filename instead of
35199         concatenated_filename.
35200         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
35201         * modules/javacomp (Depends-on): Likewise.
35202         * modules/javaexec (Depends-on): Likewise.
35203
35204 2008-09-01  Bruno Haible  <bruno@clisp.org>
35205
35206         Split module 'filename' into 'filename' and 'concat-filename'.
35207         * modules/filename: Keep only lib/filename.h.
35208         (License): Change to LGPLv2+.
35209         * modules/concat-filename: New file, extracted from modules/filename.
35210         * lib/filename.h (concatenated_filename): Remove declaration.
35211         * lib/concat-filename.h: New file, extracted from lib/filename.h.
35212         * lib/concat-filename.c: Include concat-filename.h.
35213         * NEWS: Mention the change.
35214
35215 2008-09-01  Simon Josefsson  <simon@josefsson.org>
35216
35217         * lib/bitrotate.h (rotl8, rotr8): Add.
35218
35219         * modules/bitrotate (configure.ac): Need
35220         AC_REQUIRE([AC_C_INLINE]).
35221         (Description): Mention stdint.h.  Reported by Bruno Haible
35222         <bruno@clisp.org>.
35223
35224         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
35225         Paolo Bonzini <bonzini@gnu.org>.
35226
35227 2008-08-31  Bruno Haible  <bruno@clisp.org>
35228
35229         Assume Solaris specific bi-arch conventions on Solaris systems.
35230         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
35231         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
35232         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
35233         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
35234         like acl_libdirstem.
35235         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
35236         acl_libdirstem.
35237         * NEWS: Mention the change.
35238         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
35239
35240 2008-08-31  Jim Meyering  <meyering@redhat.com>
35241
35242         * lib/strftime.h: Add comments describing the two added arguments.
35243
35244         remove duplicate #include directives
35245         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
35246         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
35247
35248 2008-08-31  Bruno Haible  <bruno@clisp.org>
35249
35250         New module 'sigpipe-die'.
35251         * modules/sigpipe-die: New file.
35252         * lib/sigpipe-die.h: New file.
35253         * lib/sigpipe-die.c: New file.
35254         * MODULES.html.sh (Signal handling): Add sigpipe-die.
35255
35256 2008-08-31  Bruno Haible  <bruno@clisp.org>
35257
35258         Don't override previously installed signal handlers.
35259         * lib/fatal-signal.c (saved_sigactions): New variable.
35260         (uninstall_handlers): Reset the signal to the saved handler, not
35261         to SIG_DFL (except when ignored).
35262         (install_handlers): Save the previous handlers.
35263
35264 2008-08-30  Bruno Haible  <bruno@clisp.org>
35265
35266         * gnulib-tool (func_reset_sigpipe): New function.
35267         (func_get_automake_snippet, func_modules_transitive_closure,
35268         func_import): Invoke it before a join command that reads from stdin,
35269         to avoid "echo: write error: Broken pipe" error messages on stderr.
35270         Reported by Sam Steingold <sds@gnu.org>.
35271
35272 2008-08-30  Bruno Haible  <bruno@clisp.org>
35273
35274         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
35275         Code copied from m4/open.m4.
35276         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
35277         access and the filename ends in a slash. Code copied from lib/open.c.
35278         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
35279         * tests/test-fopen.c (main): Check against bug with trailing slash.
35280
35281 2008-08-29  Bruno Haible  <bruno@clisp.org>
35282
35283         Avoid some "gcc -pedantic" warnings.
35284         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
35285         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
35286         * lib/dirent.in.h: Likewise.
35287         * lib/fcntl.in.h: Likewise.
35288         * lib/float.in.h: Likewise.
35289         * lib/iconv.in.h: Likewise.
35290         * lib/inttypes.in.h: Likewise.
35291         * lib/locale.in.h: Likewise.
35292         * lib/math.in.h: Likewise.
35293         * lib/netinet_in.in.h: Likewise.
35294         * lib/search.in.h: Likewise.
35295         * lib/signal.in.h: Likewise.
35296         * lib/stdarg.in.h: Likewise.
35297         * lib/stdint.in.h: Likewise.
35298         * lib/stdio.in.h: Likewise.
35299         * lib/stdlib.in.h: Likewise.
35300         * lib/string.in.h: Likewise.
35301         * lib/strings.in.h: Likewise.
35302         * lib/sys_select.in.h: Likewise.
35303         * lib/sys_socket.in.h: Likewise.
35304         * lib/sys_stat.in.h: Likewise.
35305         * lib/sys_time.in.h: Likewise.
35306         * lib/sysexits.in.h: Likewise.
35307         * lib/time.in.h: Likewise.
35308         * lib/unistd.in.h: Likewise.
35309         * lib/wchar.in.h: Likewise.
35310         * lib/wctype.in.h: Likewise.
35311         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
35312         * modules/fchdir (Makefile.am): Likewise.
35313         * modules/fcntl (Makefile.am): Likewise.
35314         * modules/float (Makefile.am): Likewise.
35315         * modules/iconv_open (Makefile.am): Likewise.
35316         * modules/inttypes (Makefile.am): Likewise.
35317         * modules/locale (Makefile.am): Likewise.
35318         * modules/math (Makefile.am): Likewise.
35319         * modules/netinet_in (Makefile.am): Likewise.
35320         * modules/search (Makefile.am): Likewise.
35321         * modules/signal (Makefile.am): Likewise.
35322         * modules/stdarg (Makefile.am): Likewise.
35323         * modules/stdint (Makefile.am): Likewise.
35324         * modules/stdio (Makefile.am): Likewise.
35325         * modules/stdlib (Makefile.am): Likewise.
35326         * modules/string (Makefile.am): Likewise.
35327         * modules/strings (Makefile.am): Likewise.
35328         * modules/sys_select (Makefile.am): Likewise.
35329         * modules/sys_socket (Makefile.am): Likewise.
35330         * modules/sys_stat (Makefile.am): Likewise.
35331         * modules/sys_time (Makefile.am): Likewise.
35332         * modules/sysexits (Makefile.am): Likewise.
35333         * modules/time (Makefile.am): Likewise.
35334         * modules/unistd (Makefile.am): Likewise.
35335         * modules/wchar (Makefile.am): Likewise.
35336         * modules/wctype (Makefile.am): Likewise.
35337         Reported by Reuben Thomas <rrt@sc3d.org>.
35338
35339 2008-08-29  Bruno Haible  <bruno@clisp.org>
35340
35341         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
35342         any more.
35343
35344 2008-08-29  Simon Josefsson  <simon@josefsson.org>
35345
35346         * MODULES.html.sh (Misc): Add bitrotate.
35347
35348         * modules/bitrotate: New file.
35349
35350         * lib/bitrotate.h: New file.
35351
35352         * modules/bitrotate-tests: New file.
35353
35354         * tests/test-bitrotate.c: New file.
35355
35356         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
35357         on the bitrotate module.
35358
35359         * lib/arctwo.c: Use new bitrotate module.
35360
35361 2008-08-29  Jim Meyering  <meyering@redhat.com>
35362
35363         bootstrap: merge changes from coreutils
35364         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
35365         of copied files.  Remove a kludge, now that this is fixed.
35366         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
35367         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
35368         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
35369
35370 2008-08-29  Bruno Haible  <bruno@clisp.org>
35371
35372         * MODULES.html.sh: Remove --cvs-urls option.
35373
35374 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
35375
35376         maint.mk: adjust to file name change
35377         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
35378
35379 2008-08-28  Jim Meyering  <meyering@redhat.com>
35380
35381         * modules/getndelim2 (License): Relicense to LGPLv2+.
35382         Approved by Richard Stallman for the version of 1995, and by
35383         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
35384
35385 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
35386
35387         * lib/getdelim.c (flockfile, funlockfile): Make all of them
35388         dummy if one is not available.  Do not touch them if
35389         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
35390         (getc_maybe_unlocked): New.
35391         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
35392
35393 2008-08-26  Eric Blake  <ebb9@byu.net>
35394
35395         doc/INSTALL: resync from autoconf
35396         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
35397         (INSTALL_PRELUDE): Delete; this is done more efficiently by
35398         moving...
35399         * install.texi [!autoconf]: ...here.  Resync from autoconf.
35400         * INSTALL: Regenerate.
35401         * INSTALL.ISO: New file.
35402         * INSTALL.UTF-8: Likewise.
35403
35404 2008-08-26  Jim Meyering  <meyering@redhat.com>
35405
35406         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
35407         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
35408         these definitions conditional, so that they may be overridden, too.
35409
35410 2008-08-26  Bruno Haible  <bruno@clisp.org>
35411
35412         Generate INSTALL file variants with prettier quotes.
35413         * doc/Makefile (INSTALL_PRELUDE): New macro.
35414         (INSTALL): Use it.
35415         (INSTALL.ISO, INSTALL.UTF-8): New rules.
35416
35417 2008-08-26  Bruno Haible  <bruno@clisp.org>
35418
35419         Run makeinfo in an English locale.
35420         * doc/Makefile (MAKEINFO): New variable.
35421
35422 2008-08-26  Bruno Haible  <bruno@clisp.org>
35423
35424         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
35425         Suggested by Eric Blake.
35426
35427 2008-08-25  Bruno Haible  <bruno@clisp.org>
35428
35429         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
35430
35431 2008-08-25  Eric Blake  <ebb9@byu.net>
35432
35433         c-stack: test that stack overflow can be caught
35434         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
35435         that platform allows handling stack overflow; at least OS/2 EMX
35436         has sigaltstack, but crashes before transferring control to
35437         handler on stack overflow.
35438         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
35439         check for HAVE_STACK_OVERFLOW_HANDLING.
35440         Reported by Elbert Pol.
35441
35442 2008-08-25  Bruno Haible  <bruno@clisp.org>
35443
35444         * doc/posix-functions/strftime.texi: Fix description of strftime
35445         module.
35446
35447 2008-08-24  Bruno Haible  <bruno@clisp.org>
35448
35449         * tests/uniwidth/test-uc_width2.c: New file.
35450         * tests/uniwidth/test-uc_width2.sh: New file.
35451         * modules/uniwidth/width-tests (Files): Add the new files.
35452         (TESTS): Add uniwidth/test-uc_width2.sh.
35453         (TESTS_ENVIRONMENT): New variable.
35454         (check_PROGRAMS): Add test-uc_width2.
35455         (test_uc_width2_SOURCES): New variable.
35456
35457         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
35458         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
35459         not 0x00AB.
35460         Reported by Alexander V. Lukyanov <lav@netis.ru>.
35461
35462 2008-08-22  Eric Blake  <ebb9@byu.net>
35463
35464         test-lock, test-tls: mention why a test is skipped
35465         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
35466         skipped.
35467         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
35468
35469         count-one-bits: relax license
35470         * modules/count-one-bits (License): Relicense to LGPLv2+.
35471         Suggested by Ludovic Courtès, approved by Ben Pfaff.
35472
35473 2008-08-22  Andreas Schwab  <schwab@suse.de>
35474
35475         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
35476         Remove spurious space in assignment.
35477
35478 2008-08-21  Simon Josefsson  <simon@josefsson.org>
35479
35480         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
35481         Paul Eggert <eggert@CS.UCLA.EDU>.
35482
35483 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
35484
35485         * modules/gettext: Add m4/threadlib.m4.
35486
35487 2008-08-19  Eric Blake  <ebb9@byu.net>
35488
35489         test-c-stack: fix compilation failure on FreeBSD 5.0
35490         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
35491         headers before <sys/resource.h>.
35492         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
35493         the bug.
35494         Reported by Nelson H. F. Beebe.
35495
35496         strverscmp: migrate from "strverscmp.h" to <string.h>
35497         * modules/string (Makefile.am): Add new hooks.
35498         * modules/strverscmp (Files): Remove strverscmp.h.
35499         (Depends-on): Add string.
35500         (configure.ac): Add indicator.
35501         (Include): Mention new header.
35502         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
35503         defaults.
35504         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
35505         results.
35506         * lib/strverscmp.h: Delete.
35507         * lib/string.in.h (strverscmp): Provide declaration, when needed.
35508         * tests/test-strverscmp.c (includes): Adjust client.
35509         * lib/check-version.c (includes): Likewise.
35510         * NEWS: Document the change.
35511
35512         strverscmp: add unit test
35513         * modules/strverscmp-tests: New file.
35514         * tests/test-strverscmp.c: Likewise.
35515
35516 2008-08-19  Simon Josefsson  <simon@josefsson.org>
35517
35518         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
35519         regarding Windows crypto stuff, from Mono.
35520
35521 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
35522
35523         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
35524         if present, for intel RND.  Return error on failures.
35525
35526 2008-08-18  Ben Pfaff  <blp@gnu.org>
35527
35528         gitlog-to-changelog: give better diagnostic for failed pipe-open
35529         * build-aux/gitlog-to-changelog: Improve error message: suggest
35530         that the version of Git may be too old.
35531
35532 2008-08-18  Simon Josefsson  <simon@josefsson.org>
35533
35534         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
35535         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
35536
35537 2008-08-18  Bruno Haible  <bruno@clisp.org>
35538
35539         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
35540         pthread_in_use().
35541
35542 2008-08-18  Bruno Haible  <bruno@clisp.org>
35543
35544         * lib/glthread/threadlib.c: Include <pthread.h>.
35545
35546 2008-08-18  Bruno Haible  <bruno@clisp.org>
35547
35548         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
35549         glthread_recursive_lock_* macros.
35550         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
35551         Fix syntax error.
35552
35553 2008-08-18  Bruno Haible  <bruno@clisp.org>
35554
35555         * lib/glthread/thread.c: Avoid forcing a context switch right after
35556         thread creation.
35557
35558 2008-08-17  Bruno Haible  <bruno@clisp.org>
35559
35560         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
35561         * lib/glthread/thread.h: Provide Win32 specific implementation.
35562         * modules/thread (Files): Add lib/glthread/thread.c.
35563         (Depends-on): Add lock.
35564         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
35565
35566 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35567
35568         New module 'yield'.
35569         * modules/yield: New file.
35570         * lib/glthread/yield.h: New file.
35571         * m4/yield.m4: New file.
35572         * MODULES.html.sh (Multithreading): Add yield.
35573
35574 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35575
35576         New module 'thread'.
35577         * modules/thread: New file.
35578         * lib/glthread/thread.h: New file.
35579         * m4/thread.m4: New file.
35580         * MODULES.html.sh (Multithreading): Add thread.
35581
35582 2008-08-17  Bruno Haible  <bruno@clisp.org>
35583
35584         * lib/glthread/lock.h: Include <stdlib.h> always.
35585         * lib/glthread/tls.h: Likewise.
35586         * lib/glthread/cond.h: Likewise.
35587
35588 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35589
35590         New module 'cond'.
35591         * modules/cond: New file.
35592         * lib/glthread/cond.h: New file.
35593         * lib/glthread/cond.c: New file.
35594         * m4/cond.m4: New file.
35595         * MODULES.html.sh (Multithreading): Add cond.
35596
35597 2008-08-16  Eric Blake  <ebb9@byu.net>
35598
35599         c-stack: fix regression on Irix 5.3 from 2008-06-21
35600         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
35601         sa_sigaction...
35602         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
35603         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
35604         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
35605         * modules/signal (Makefile.am): Use the value.
35606         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
35607         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
35608         * doc/posix-headers/signal.texi (signal.h): Document this
35609         portability issue.
35610         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
35611         Reported by Tom G. Christensen.
35612
35613 2008-08-17  Bruno Haible  <bruno@clisp.org>
35614
35615         New module 'threadlib'.
35616         * modules/threadlib: New file.
35617         * lib/glthread/threadlib.c: New file, extracted from
35618         lib/glthread/lock.c.
35619         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
35620         functions.
35621         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
35622         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
35623         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
35624         macros.
35625         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
35626         (gl_DISABLE_THREADS): Remove macro.
35627         * modules/lock (Files): Remove build-aux/config.rpath.
35628         (Depends-on): Remove havelib. Add threadlib.
35629         (configure.ac-early): Remove section.
35630         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
35631         * modules/tls (Depends-on): Remove lock. Add threadlib.
35632         (Link): New section, copied from threadlib.
35633         * MODULES.html.sh (Multithreading): Add threadlib.
35634
35635 2008-08-14  Bruno Haible  <bruno@clisp.org>
35636
35637         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
35638         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
35639         glthread_rwlock_unlock, glthread_rwlock_destroy,
35640         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
35641         glthread_recursive_lock_destroy): Define as macros always.
35642         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
35643         glthread_lock_lock.
35644         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
35645         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
35646         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
35647         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
35648         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
35649         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
35650         (glthread_recursive_lock_lock_func): Renamed from
35651         glthread_recursive_lock_lock.
35652         (glthread_recursive_lock_unlock_func): Renamed from
35653         glthread_recursive_lock_unlock.
35654         (glthread_recursive_lock_destroy_func): Renamed from
35655         glthread_recursive_lock_destroy.
35656
35657 2008-08-14  Bruno Haible  <bruno@clisp.org>
35658
35659         * lib/glthread/lock.h: Renamed from lib/lock.h.
35660         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
35661         * lib/glthread/tls.h: Renamed from lib/tls.h.
35662         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
35663         * lib/fstrcmp.c: Update includes.
35664         * lib/strsignal.c: Update includes.
35665         * modules/lock (Files, Makefile.am): Update.
35666         (Include): Change to "glthread/lock.h".
35667         * modules/tls (Files, Makefile.am): Update.
35668         (Include): Change to "glthread/tls.h".
35669         * tests/test-lock.c: Update includes.
35670         * tests/test-tls.c: Update includes.
35671         * NEWS: Mention the renamed header files.
35672
35673 2008-08-11  Jim Meyering  <meyering@redhat.com>
35674
35675         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
35676
35677 2008-08-11  Eric Blake  <ebb9@byu.net>
35678
35679         test-c-stack: avoid C99-ism
35680         * tests/test-c-stack.c (main): Fix whitespace, move declaration
35681         before statement.
35682         Reported by Alain Guibert.
35683
35684 2008-08-10  Jim Meyering  <meyering@redhat.com>
35685
35686         ensure that return value of uinttostr et al are not ignored
35687         * lib/inttostr.h (__GNUC_PREREQ): Define.
35688         (__attribute_warn_unused_result__): Define.
35689         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
35690
35691 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
35692
35693         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
35694         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
35695
35696 2008-08-07  Jim Meyering  <meyering@redhat.com>
35697
35698         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
35699
35700         * modules/mkstemp (License): Relicense under LGPLv2+.
35701         * modules/tempname (License): Likewise.
35702
35703 2008-08-06  Bruno Haible  <bruno@clisp.org>
35704
35705         * lib/poll.c (poll): Further micro-optimization.
35706
35707 2008-08-06  Jim Meyering  <meyering@redhat.com>
35708
35709         inet_pton.c: use locale-independent tolower
35710         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
35711         (inet_pton6): Use c_tolower rather than tolower.
35712         * modules/inet_pton (Depends-on): Add c-ctype.
35713
35714 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
35715
35716         * lib/poll.c (poll): Avoid division when timeout is 0, cache
35717         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
35718
35719 2008-08-06  Jim Meyering  <meyering@redhat.com>
35720
35721         * modules/inet_pton (License): Relicense under LGPLv2+.
35722
35723 2008-08-03  Bruno Haible  <bruno@clisp.org>
35724
35725         Additional non-aborting API for lock and tls.
35726         * lib/lock.h: Include <errno.h>.
35727         (glthread_lock_init): New macro/function.
35728         (gl_lock_init): Define as wrapper around glthread_lock_init.
35729         (glthread_lock_lock): New macro/function.
35730         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
35731         (glthread_lock_unlock): New macro/function.
35732         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
35733         (glthread_lock_destroy): New macro/function.
35734         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
35735         (glthread_rwlock_init): New macro/function.
35736         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
35737         (glthread_rwlock_rdlock): New macro/function.
35738         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
35739         (glthread_rwlock_wrlock): New macro/function.
35740         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
35741         (glthread_rwlock_unlock): New macro/function.
35742         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
35743         (glthread_rwlock_destroy): New macro/function.
35744         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
35745         (glthread_recursive_lock_init): New macro/function.
35746         (gl_recursive_lock_init): Define as wrapper around
35747         glthread_recursive_lock_init.
35748         (glthread_recursive_lock_lock): New macro/function.
35749         (gl_recursive_lock_lock): Define as wrapper around
35750         glthread_recursive_lock_lock.
35751         (glthread_recursive_lock_unlock): New macro/function.
35752         (gl_recursive_lock_unlock): Define as wrapper around
35753         glthread_recursive_lock_unlock.
35754         (glthread_recursive_lock_destroy): New macro/function.
35755         (gl_recursive_lock_destroy): Define as wrapper around
35756         glthread_recursive_lock_destroy.
35757         (glthread_once): New macro/function.
35758         (gl_once): Define as wrapper around glthread_once.
35759         Update function declarations.
35760         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
35761         glthread_rwlock_init. Return error code.
35762         (glthread_rwlock_rdlock_multithreaded): Renamed from
35763         glthread_rwlock_rdlock. Return error code.
35764         (glthread_rwlock_wrlock_multithreaded): Renamed from
35765         glthread_rwlock_wrlock. Return error code.
35766         (glthread_rwlock_unlock_multithreaded): Renamed from
35767         glthread_rwlock_unlock. Return error code.
35768         (glthread_rwlock_destroy_multithreaded): Renamed from
35769         glthread_rwlock_destroy. Return error code.
35770         (glthread_recursive_lock_init_multithreaded): Renamed from
35771         glthread_recursive_lock_init. Return error code.
35772         (glthread_recursive_lock_lock_multithreaded): Renamed from
35773         glthread_recursive_lock_lock. Return error code.
35774         (glthread_recursive_lock_unlock_multithreaded): Renamed from
35775         glthread_recursive_lock_unlock. Return error code.
35776         (glthread_recursive_lock_destroy_multithreaded): Renamed from
35777         glthread_recursive_lock_destroy. Return error code.
35778         (glthread_once_call): Make static.
35779         (glthread_once_multithreaded): Renamed from glthread_once.
35780         * lib/tls.h: Include <errno.h>.
35781         (glthread_tls_key_init): New macro/function.
35782         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
35783         (glthread_tls_set): New macro/function.
35784         (gl_tls_set): Define as wrapper around glthread_tls_set.
35785         (glthread_tls_key_destroy): New macro/function.
35786         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
35787         Update function declarations.
35788         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
35789         glthread_tls_get.
35790         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
35791
35792 2008-08-04  Eric Blake  <ebb9@byu.net>
35793
35794         gnumakefile: use space, not TAB, outside of targets
35795         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
35796
35797 2008-08-02  Jim Meyering  <meyering@redhat.com>
35798
35799         getdate.y: avoid locale-dependent date parsing failure
35800         In Turkish locales, getdate would fail to recognize keywords
35801         containing a lowercase "i".  The solution is not to rely on
35802         locale-sensitive case-conversion.
35803         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
35804         (lookup_word): Use c_toupper in place of toupper.
35805         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
35806         Reported by Vefa Bicakci <bicave@superonline.com> in
35807         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
35808         * modules/getdate (Depends-on): Add c-ctype.
35809
35810 2008-08-02  Bruno Haible  <bruno@clisp.org>
35811
35812         * gnulib-tool (func_import): When updating or creating a .gitignore
35813         file, prepend each added line with a slash, and ignore leading slashes
35814         from the existing lines.
35815         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
35816
35817 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35818
35819         Portability fix for GNU make 3.79.1.
35820         * top/GNUmakefile: Avoid 'else COND', which older GNU make
35821         versions do not understand.
35822
35823 2008-08-01  Bruno Haible  <bruno@clisp.org>
35824
35825         Work around bug of HP-UX 10.20 cc with -0.0 literal.
35826         * tests/test-isnanf.h (zero): New variable.
35827         (main): Avoid literal -0.0f.
35828         * tests/test-isnand.h (zero): New variable.
35829         (main): Avoid literal -0.0.
35830         * tests/test-isnanl.h (zero): New variable.
35831         (main): Avoid literal -0.0L.
35832         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
35833         (test_float, test_double, test_long_double): Avoid literals -0.0f,
35834         -0.0, -0.0L.
35835         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
35836         (test_signbitd): Avoid literal -0.0.
35837         (test_signbitl): Avoid literal -0.0L.
35838         * tests/test-ceilf1.c (zero): New variable.
35839         (main): Avoid literal -0.0f.
35840         * tests/test-ceill.c (zero): New variable.
35841         (main): Avoid literal -0.0L.
35842         * tests/test-floorf1.c (zero): New variable.
35843         (main): Avoid literal -0.0f.
35844         * tests/test-floorl.c (zero): New variable.
35845         (main): Avoid literal -0.0L.
35846         * tests/test-roundf1.c (zero): New variable.
35847         (main): Avoid literal -0.0f.
35848         * tests/test-round1.c (zero): New variable.
35849         (main): Avoid literal -0.0.
35850         * tests/test-roundl.c (zero): New variable.
35851         (main): Avoid literal -0.0L.
35852         * tests/test-truncf1.c (zero): New variable.
35853         (main): Avoid literal -0.0f.
35854         * tests/test-trunc1.c (zero): New variable.
35855         (main): Avoid literal -0.0.
35856         * tests/test-truncl.c (zero): New variable.
35857         (main): Avoid literal -0.0L.
35858         * tests/test-frexp.c (zero): New variable.
35859         (main): Avoid literal -0.0.
35860         * tests/test-frexpl.c (zero): New variable.
35861         (main): Avoid literal -0.0L.
35862         * tests/test-ldexpl.c (zero): New variable.
35863         (main): Avoid literal -0.0L.
35864         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
35865         (zerod, zerol): New variables.
35866         (test_function): Avoid literals -0.0, -0.0L.
35867         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
35868         (zerod, zerol): New variables.
35869         (test_function): Avoid literals -0.0, -0.0L.
35870         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
35871         (zerod, zerol): New variables.
35872         (test_function): Avoid literals -0.0, -0.0L.
35873         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
35874         (zerod, zerol): New variables.
35875         (test_function): Avoid literals -0.0, -0.0L.
35876         * tests/test-strtod.c (zero): New variable.
35877         (main): Avoid literal -0.0.
35878         Reported by Jonathan C. Patschke <jp@centtech.com>.
35879
35880 2008-07-31  Jim Meyering  <meyering@redhat.com>
35881
35882         sha256.h: correct definition of SHA224_DIGEST_SIZE
35883         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
35884         Reported by Paulie Pena IV <paulie4@gmail.com>.
35885         Define as 224 / 8, rather than as a literal.
35886         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
35887         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
35888         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
35889
35890 2008-07-31  Bruno Haible  <bruno@clisp.org>
35891
35892         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
35893         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
35894         Reported by Jonathan Patschke <jp@centtech.com>.
35895
35896 2008-07-31  Bruno Haible  <bruno@clisp.org>
35897
35898         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
35899         Reported by Paolo Bonzini <bonzini@gnu.org>.
35900
35901 2008-07-30  Eric Blake  <ebb9@byu.net>
35902
35903         test-strtod: allow compilation without -lm
35904         * tests/test-strtod.c (main): Avoid link dependence on fabs.
35905         Reported by Dennis Clarke <blastwave@gmail.com>.
35906
35907 2008-07-28  Jim Meyering  <meyering@redhat.com>
35908
35909         bootstrap: work also when there are no .po files in po/
35910         * build-aux/bootstrap (update_po_files): Complete the change
35911         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
35912
35913 2008-07-27  Jim Meyering  <meyering@redhat.com>
35914
35915         * users.txt: Add zile.
35916
35917 2008-07-26  Ben Pfaff  <blp@gnu.org>
35918
35919         Add missing dependencies on new m4/exponent[fdl].m4 files.
35920         * modules/isnanf-nolibm: Add m4/exponentf.m4.
35921         * modules/isnand-nolibm: Add m4/exponentd.m4.
35922         * modules/isnanl-nolibm: Add m4/exponentl.m4.
35923         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
35924         m4/isnan[fdl].m4, because the macros actually used moved.
35925         Reported by Jim Meyering.
35926
35927 2008-07-14  Ben Pfaff  <blp@gnu.org>
35928
35929         Add isinf module.
35930         * lib/isinf.c: New file.
35931         * lib/math.in.h: Define isinf macro if we have decided to replace
35932         it.
35933         * m4/isinf.m4: New file.
35934         * m4/math_h.m4: Initialize and substitute variables for isinf
35935         module.
35936         * modules/isinf: New file.
35937         * modules/isinf-tests: New file.
35938         * modules/math: Add substitutions for new module.
35939         * tests/test-isinf.c: New file.
35940         * doc/posix-functions/isinf.texi: Mention new module.
35941         * MODULES.html.sh: Mention new module.
35942
35943 2008-07-14  Ben Pfaff  <blp@gnu.org>
35944
35945         Factor out some macros for use by additional modules.
35946         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
35947         exponentf.m4.
35948         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
35949         exponentd.m4.
35950         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
35951         file exponentl.m4.
35952         * m4/exponentf.m4: New file.
35953         * m4/exponentd.m4: New file.
35954         * m4/exponentl.m4: New file.
35955         * modules/isnanf: Use new file m4/exponentf.m4.
35956         * modules/isnand: Use new file m4/exponentd.m4.
35957         * modules/isnanl: Use new file m4/exponentl.m4.
35958
35959 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
35960
35961         mktime.c: normalize tp->tm_isdst value to -1/0/1.
35962         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
35963         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
35964         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
35965
35966         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
35967         readlink on platforms without PATH_MAX.
35968
35969 2008-07-21  Eric Blake  <ebb9@byu.net>
35970
35971         Warn, not fail, on stale version.
35972         * top/GNUmakefile (_curr-ver): Tone down previous patch.
35973
35974         Don't allow installation with stale devel version number.
35975         * top/GNUmakefile (_is-install-target): New macro.
35976         (_curr-ver): Forbid installation with stale version number.
35977
35978 2008-07-20  Bruno Haible  <bruno@clisp.org>
35979
35980         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
35981         TESTS_ENVIRONMENT.
35982         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
35983
35984 2008-07-20  Bruno Haible  <bruno@clisp.org>
35985
35986         * lib/c-stack.h (c_stack_action): Add documentation.
35987         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
35988
35989 2008-07-20  Bruno Haible  <bruno@clisp.org>
35990
35991         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
35992         * modules/readlink (License): Likewise.
35993
35994 2008-07-17  Eric Blake  <ebb9@byu.net>
35995
35996         * modules/c-stack (Link): Fix typo.
35997
35998         Make c-stack use libsigsegv, when available.
35999         * modules/c-stack (Depends-on): Add libsigsegv.
36000         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
36001         needed.
36002         * lib/c-stack.c (SIGSTKSZ): Define fallback.
36003         (segv_handler, overflow_handler, c_stack_action)
36004         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
36005         implementation when libsigsegv is available, but only when using
36006         the library is necessary.
36007         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
36008         comment, explaining why XSI check fails on Linux.
36009         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
36010         * tests/test-c-stack2.sh: Tweak skip message.
36011         * NEWS: Document new link-time requirements.
36012
36013 2008-07-16  Eric Blake  <ebb9@byu.net>
36014
36015         c-stack: Expose false positives when not using libsigsegv.
36016         * modules/c-stack-tests (Files): Expand test.
36017         * tests/test-c-stack.c (main): Add means to conditionally trigger
36018         non-overflow SIGSEGV.
36019         * tests/test-c-stack2.sh: New file.
36020
36021 2008-07-14  Bruno Haible  <bruno@clisp.org>
36022
36023         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
36024         Reported by Eric Blake.
36025
36026 2008-07-14  Sam Steingold  <sds@gnu.org>
36027             Bruno Haible  <bruno@clisp.org>
36028
36029         New module libsigsegv.
36030         * modules/libsigsegv: New file.
36031         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
36032         modifications.
36033         * MODULES.html.sh (Signal handling): New section.
36034
36035 2008-07-14  Bruno Haible  <bruno@clisp.org>
36036
36037         * modules/unictype/ctype-* (Description): Add the word "function".
36038         Improves the resulting doc in MODULES.html.
36039
36040 2008-07-12  Ben Pfaff  <blp@gnu.org>
36041
36042         Add longlong module.
36043         * modules/longlong: New file.
36044
36045 2008-07-12  Bruno Haible  <bruno@clisp.org>
36046
36047         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
36048         to empty.
36049
36050 2008-07-10  Ben Pfaff  <blp@gnu.org>
36051
36052         Add isnan module.
36053         * doc/posix-functions/isnan.texi: Mention new module.
36054         * lib/math.in.h: Define isnan macro if we have decided to replace
36055         it.
36056         * m4/isnan.m4: New file.
36057         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
36058         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
36059         also.
36060         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
36061         redundancy.
36062         * m4/math_h.m4: Initialize and substitute variables for isnan
36063         module.
36064         * modules/isnan: New file.
36065         * modules/isnan-tests: New file.
36066         * modules/math: Add substitutions for new module.
36067         * tests/test-isnan.c: New file.
36068         * MODULES.html.sh: Mention new module.
36069
36070 2008-07-10  Ben Pfaff  <blp@gnu.org>
36071
36072         Add isnanf module.
36073         * lib/isnanf.m4: New file.
36074         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
36075         (gl_HAVE_ISNANF_IN_LIBM): New macro.
36076         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
36077         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
36078         * modules/isnanf: New file.
36079         * modules/isnanf-tests: New file.
36080         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
36081         files.
36082         * tests/test-isnanf-nolibm.c: factored most of its contents into
36083         new file tests/test-isnanf.h.
36084         * tests/test-isnanf.h: New file.
36085         * tests/test-isnanf.c: New file.
36086         * MODULES.html.sh: Mention new module.
36087         * doc/glibc-functions/isnanf.texi: Mention new module.
36088
36089 2008-07-10  Ben Pfaff  <blp@gnu.org>
36090
36091         Add isnand module.
36092         * lib/isnand.h: New file.
36093         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
36094         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
36095         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
36096         functionality also.
36097         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
36098         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
36099         (gl_HAVE_ISNAND_IN_LIBM): New macro.
36100         * modules/isnand: New file.
36101         * modules/isnand-tests: New file.
36102         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
36103         files.
36104         * tests/test-isnand-nolibm.c: factored most of its contents into
36105         new file tests/test-isnand.h.
36106         * tests/test-isnand.h: New file.
36107         * tests/test-isnand.c: New file.
36108         * MODULES.html.sh: Mention new module.
36109
36110 2008-07-10  Ben Pfaff  <blp@gnu.org>
36111
36112         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
36113         * lib/isnand.h: Rename lib/isnand-nolibm.h.
36114         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
36115         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
36116         * modules/isnanf-nolibm: Update references to renamed files.
36117         * modules/isnand-nolibm: Likewise.
36118         * modules/isnanf-nolibm-tests: Likewise.
36119         * modules/isnand-nolibm-tests: Likewise.
36120         * lib/frexp.c: Likewise.
36121         * lib/isfinite.c: Likewise.
36122         * lib/signbitd.c: Likewise.
36123         * lib/signbitf.c: Likewise.
36124         * lib/vasnprintf.c: Likewise.
36125         * tests/test-ceilf1.c: Likewise.
36126         * tests/test-ceilf2.c: Likewise.
36127         * tests/test-floorf1.c: Likewise.
36128         * tests/test-floorf2.c: Likewise.
36129         * tests/test-frexp.c: Likewise.
36130         * tests/test-round1.c: Likewise.
36131         * tests/test-round2.c: Likewise.
36132         * tests/test-roundf1.c: Likewise.
36133         * tests/test-strtod.c: Likewise.
36134         * tests/test-trunc1.c: Likewise.
36135         * tests/test-trunc2.c: Likewise.
36136         * tests/test-truncf1.c: Likewise.
36137         * tests/test-truncf2.c: Likewise.
36138         * NEWS: Mention the renamed header files.
36139
36140 2008-07-11  Jim Meyering  <meyering@redhat.com>
36141
36142         vc-list-files: make the last-resort awk code more portable
36143         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
36144         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
36145         does not support it.
36146
36147 2008-07-10  Eric Blake  <ebb9@byu.net>
36148
36149         Work with tar's bootstrap.
36150         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
36151         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
36152         an m4 comment.
36153
36154 2008-07-09  Jim Meyering  <meyering@redhat.com>
36155
36156         posix-shell.m4: fix typo that made this test malfunction
36157         * m4/posix-shell.m4: Remove capitalization in variable name.
36158
36159 2008-07-08  Bruno Haible  <bruno@clisp.org>
36160
36161         * m4/onceonly.m4: Update comments.
36162         Reported by Ben Pfaff <blp@cs.stanford.edu>.
36163
36164 2008-07-04  Jim Meyering  <meyering@redhat.com>
36165
36166         * users.txt: Add vc-dwim.
36167         (bison, coreutils): Use the gitweb URL.
36168
36169 2008-07-03  Jim Meyering  <meyering@redhat.com>
36170
36171         * users.txt: Add libffcall.  From Sam Steingold.
36172
36173 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
36174
36175         getdate.y: do not ignore TZ with relative day, month or year offset
36176         * lib/getdate.y (get_date): Move the tz-handling block to follow the
36177         relative-date-handling, since otherwise, the latter would clobber the
36178         sole output (an updated Start value) of the tz-handling block.
36179         * tests/test-getdate.c: Tests for the fix
36180
36181 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36182
36183         Recognize 'foo_LIBRARIES += libgnu.a'.
36184         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
36185         makefile snippet has already specified an installation location,
36186         also using '+='.
36187
36188 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
36189
36190         getdate.y: factor out common actions
36191         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
36192         Use them in place of open-coded actions.
36193
36194 2008-07-01  Simon Josefsson  <simon@josefsson.org>
36195
36196         Add self-test for getdate module.
36197         * modules/getdate-tests: New file.
36198         * tests/test-getdate.c: New file.
36199
36200 2008-06-29  Bruno Haible  <bruno@clisp.org>
36201
36202         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
36203         .gitignore.
36204         Reported by Sylvain Beucler <beuc@beuc.net>.
36205
36206 2008-06-29  Bruno Haible  <bruno@clisp.org>
36207
36208         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
36209         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
36210
36211 2008-06-29  Bruno Haible  <bruno@clisp.org>
36212
36213         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
36214         EXTRA_DIST.
36215         Reported by Sylvain Beucler <beuc@beuc.net>.
36216
36217 2008-06-26  Jim Meyering  <meyering@redhat.com>
36218
36219         make several modules depend on the "open" module
36220         This provides slightly increased consistency when opening-for-write
36221         the name of a non-directory spelled with a trailing slash.
36222         * modules/chdir-safer: Likewise.
36223         * modules/chown: Likewise.
36224         * modules/clean-temp: Likewise.
36225         * modules/copy-file: Likewise.
36226         * modules/fchdir: Likewise.
36227         * modules/fcntl-safer: Likewise.
36228         * modules/pipe: Likewise.
36229         * modules/utime: Likewise.
36230         Prompted by Eric Blake and Bruno Haible.
36231
36232 2008-06-24  Andreas Schwab  <schwab@suse.de>
36233
36234         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
36235         literals can be used as initializers for global variables.
36236
36237 2008-06-23  Eric Blake  <ebb9@byu.net>
36238
36239         Make gnulib-cache.m4 easier to diff.
36240         * gnulib-tool (func_import): Allow newlines when reading cached
36241         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
36242
36243 2008-06-23  Bruno Haible  <bruno@clisp.org>
36244
36245         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
36246         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
36247         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
36248         m4/signalblocking.m4.
36249         (gl_PREREQ_SIGACTION): Don't invoke it.
36250         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
36251         gl_PREREQ_SIG_HANDLER_H.
36252         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
36253         Don't check for sigaction here.
36254
36255 2008-06-23  Bruno Haible  <bruno@clisp.org>
36256
36257         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
36258         (install_handlers): Don't set the SA_RESETHAND flag.
36259
36260 2008-06-23  Bruno Haible  <bruno@clisp.org>
36261
36262         * m4/sigaction.m4: Comment fixes.
36263         * lib/signal.in.h: Likewise.
36264
36265 2008-06-23  Eric Blake  <ebb9@byu.net>
36266
36267         Fix typo.
36268         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
36269
36270         Avoid SA_ namespace.
36271         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
36272         Reported by Ralf Wildenhues.
36273
36274         Avoid test failure due to SA_RESTORER.
36275         * tests/test-sigaction.c (SA_MASK): New macro.
36276         (main): Avoid failing due to extension flags being set.
36277         Reported by Jim Meyering.
36278
36279         Revert use of sig-handler.h in sigprocmask.c.
36280         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
36281         it requires the existence of struct sigaction.
36282         * lib/sigprocmask.c (handler_t): Restore typedef.
36283         (rpl_signal, old_handlers): Use local type.
36284
36285 2008-06-22  Bruno Haible  <bruno@clisp.org>
36286
36287         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
36288         conditionally.
36289         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
36290
36291 2008-06-22  Bruno Haible  <bruno@clisp.org>
36292
36293         * doc/posix-functions/siginterrupt.texi: Move note.
36294
36295         * lib/signal.in.h (SA_RESTART): New macro.
36296         * lib/sigaction.c: Update comment.
36297
36298         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
36299
36300         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
36301         (gl_PREREQ_SIGPROCMASK): Invoke it.
36302         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
36303
36304         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
36305
36306         * lib/sigprocmask.c: Update a comment.
36307
36308 2008-06-21  Eric Blake  <ebb9@byu.net>
36309
36310         Use sigaction module rather than signal().
36311         * modules/c-stack (Depends-on): Add sigaction.
36312         * modules/fatal-signal (Depends-on): Likewise.
36313         * modules/nanosleep (Depends-on): Likewise.
36314         * modules/sigprocmask (Files): Add sig-handler.h.
36315         * modules/sigaction (Files): Likewise.
36316         * lib/sig-handler.h (get_handler): New file, suggested by Paul
36317         Eggert.
36318         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
36319         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
36320         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
36321         (init_fatal_signals): Likewise.
36322         * lib/nanosleep.c (rpl_nanosleep): Likewise.
36323         (siginterrupt): Delete fallback.
36324         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
36325         instead.
36326         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
36327         siginterrupt.
36328
36329         New module sigaction, for mingw.
36330         * modules/sigaction: New module...
36331         * modules/sigaction-tests: ...and its test.
36332         * m4/sigaction.m4: New file.
36333         * lib/sigaction.c: Likewise.
36334         * tests/test-sigaction.c: Likewise.
36335         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
36336         * modules/signal (Makefile.am): Likewise.
36337         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
36338         needed.
36339         * doc/posix-headers/signal.texi (signal.h): Mention provided
36340         types.
36341         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
36342         that sigaction is preferable.
36343         * doc/posix-functions/sigaction.texi (sigaction): Mention new
36344         module.
36345         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
36346         sigaction.
36347
36348         Improve robustness of sigprocmask by overriding signal.
36349         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
36350         is in use.
36351         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
36352         (SIGKILL, SIGSTOP): Provide fallbacks.
36353         (rpl_signal): Implement.
36354         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
36355         signal can be called inside handlers.
36356
36357         Fix nanosleep module on mingw.
36358         * modules/nanosleep (Depends-on): Add sys_select.
36359         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
36360
36361         Fix licensing of sigprocmask.
36362         * modules/raise (License): Relicense as LGPL.
36363
36364 2008-06-21  Bruno Haible  <bruno@clisp.org>
36365
36366         * lib/propername.c (proper_name_utf8): Don't use the transliterated
36367         result if it contains question marks.
36368         Reported by Michael Geng <linux@michaelgeng.de>.
36369
36370 2008-06-19  Bruno Haible  <bruno@clisp.org>
36371
36372         Fix CVS-ism.
36373         * doc/gnulib.texi: Include updated-stamp.texi.
36374         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
36375         (updated-stamp.texi): New rule.
36376         (gnulib.info): Depend on it.
36377         * doc/.gitignore: Add updated-stamp.texi.
36378         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
36379
36380 2008-06-19  Bruno Haible  <bruno@clisp.org>
36381
36382         * doc/Makefile (gnulib.info): Update and simplify dependencies.
36383         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
36384
36385 2008-06-19  Eric Blake  <ebb9@byu.net>
36386
36387         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
36388         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
36389         Reported by Stepan Kasal.
36390
36391 2008-06-18  Bruno Haible  <bruno@clisp.org>
36392
36393         * lib/fatal-signal.c (init_fatal_signals): Add comment.
36394         Reported by Eric Blake.
36395
36396 2008-06-18  Eric Blake  <ebb9@byu.net>
36397
36398         Work around cygwin 1.5.25 strsignal bug.
36399         * tests/test-strsignal.c: Allow for const char *.
36400         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
36401
36402 2008-06-18  Simon Josefsson  <simon@josefsson.org>
36403
36404         * users.txt: Update URL to article and add author/date
36405         information.
36406
36407 2008-06-17  Bruno Haible  <bruno@clisp.org>
36408
36409         New macro gl_DISABLE_THREADS.
36410         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
36411         if the user did not pass --enable-threads or --disable-threads option.
36412         (gl_DISABLE_THREADS): New macro.
36413         Reported by Eric Blake <ebb9@byu.net>.
36414
36415 2008-06-17  Bruno Haible  <bruno@clisp.org>
36416
36417         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
36418         when the macro ignores it.
36419         Based on a patch by Eric Blake <ebb9@byu.net>.
36420
36421 2008-06-17  Bruno Haible  <bruno@clisp.org>
36422
36423         * modules/tls (License): Change to LGPLv2+.
36424         Reported by Eric Blake.
36425
36426 2008-06-17  Eric Blake  <ebb9@byu.net>
36427
36428         Simplify c-stack prerequisites.
36429         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
36430         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
36431         no longer requires <ucontext.h> to exist.  Optimize setrlimit
36432         check.
36433         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
36434         <sys/resource.h>.
36435
36436         Move c-stack test into testsuite.
36437         * modules/c-stack-tests: New file.
36438         * lib/c-stack.c [DEBUG]: Move test program...
36439         * tests/test-c-stack.c: ...into this new file.  Skip rather than
36440         fail test if sigaltstack is lacking.
36441         * tests/test-c-stack.sh: New driver file.
36442
36443 2008-06-16  Eric Blake  <ebb9@byu.net>
36444
36445         Use raise module consistently.
36446         * modules/fatal-signal (Depends-on): Add raise.
36447         * modules/sigprocmask (Depends-on): Likewise.
36448         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
36449         * lib/sigprocmask.c (sigprocmask): Likewise.
36450         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
36451         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
36452
36453         Fix compliance bug in sigpending.
36454         * lib/sigprocmask.c (sigpending): Return pending array via
36455         parameter, not return value.
36456
36457 2008-06-14  Eric Blake  <ebb9@byu.net>
36458
36459         Improve obstack-printf test code.
36460         * tests/test-obstack-printf.c (test_function): Fix comment, and
36461         simplify usage of obstack_* in macros.  Add a test for coverage.
36462         Reported by Bruno Haible.
36463
36464 2008-06-14  Bruno Haible  <bruno@clisp.org>
36465
36466         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
36467         array size as a constant, not as a const variable.
36468         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
36469         AC_USE_SYSTEM_EXTENSIONS.
36470         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
36471         Test whether the obstack_printf function actually exists.
36472         * modules/obstack-printf (Depends-on): Add extensions.
36473         (Include): Remove obstack.h.
36474         * modules/obstack-printf-posix (Depends-on): Add extensions.
36475         (Include): Remove obstack.h.
36476
36477 2008-06-13  Eric Blake  <ebb9@byu.net>
36478
36479         Add obstack-printf and obstack-printf-posix modules.
36480         * modules/obstack-printf: New file.
36481         * modules/obstack-printf-posix: Likewise.
36482         * MODULES.html.sh (Misc): Mention them.
36483         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
36484         Likewise.
36485         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
36486         Likewise.
36487         * modules/stdio (Makefile.am): Accomodate new modules.
36488         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
36489         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
36490         Declare.
36491         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
36492         functions.
36493         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
36494         (gl_REPLACE_OBSTACK_PRINTF): New macros
36495         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
36496         * tests/test-obstack-printf.c: New file.
36497         * modules/obstack-printf-tests: Likewise.
36498         * modules/obstack-printf-posix-tests: Likewise.
36499
36500 2008-06-11  Bruno Haible  <bruno@clisp.org>
36501
36502         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
36503         * lib/open.c: Include errno.h.
36504         (open): Fail when attempting to write to a file that has a trailing
36505         slash.
36506         * tests/test-open.c (main): Test against trailing slash bug.
36507         * doc/posix-functions/open.texi: Mention the trailing slash bug.
36508
36509 2008-06-10  Bruno Haible  <bruno@clisp.org>
36510
36511         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
36512         for $? to work inside the trap command, with various /bin/sh-s.
36513         * tests/test-vc-list-files-cvs.sh: Likewise.
36514
36515 2008-06-10  Bruno Haible  <bruno@clisp.org>
36516
36517         * lib/acl-internal.h: Don't include gettext.h here.
36518         * lib/set-mode-acl.c: Include gettext.h here.
36519         * lib/copy-acl.c: Likewise.
36520
36521 2008-06-10  Bruno Haible  <bruno@clisp.org>
36522
36523         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
36524         * lib/wait-process.c (wait_subprocess): Likewise.
36525         * lib/execute.h (execute): Add termsigp argument.
36526         * lib/execute.c (execute): Likewise.
36527         * lib/csharpcomp.c (compile_csharp_using_pnet,
36528         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
36529         * lib/csharpexec.c (execute_csharp_using_pnet,
36530         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
36531         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
36532         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
36533         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
36534         is_jikes_present): Update.
36535         * lib/javaexec.c (execute_java_class): Update.
36536         * lib/javaversion.c (execute_and_read_line): Update.
36537         * NEWS: Document the changes.
36538         Reported by Eric Blake.
36539
36540 2008-06-10  Eric Blake  <ebb9@byu.net>
36541
36542         Add missing include.
36543         * tests/test-strstr.c (includes): Add <signal.h>.
36544         * tests/test-strcasestr.c (includes): Likewise.
36545         * tests/test-memmem.c (includes): Likewise.
36546
36547 2008-06-10  Bruno Haible  <bruno@clisp.org>
36548
36549         * lib/wait-process.c (wait_subprocess): Add an assertion.
36550
36551 2008-06-10  Bruno Haible  <bruno@clisp.org>
36552
36553         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
36554
36555 2008-06-10  Bruno Haible  <bruno@clisp.org>
36556
36557         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
36558         using alarm().
36559         * tests/test-strcasestr.c (main): Likewise.
36560         * tests/test-strstr.c (main): Likewise.
36561
36562 2008-06-09  Bruno Haible  <bruno@clisp.org>
36563
36564         Work around the Solaris 10 ACE ACLs ABI change.
36565         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
36566         declare if ACL_NO_TRIVIAL is present.
36567         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
36568         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
36569         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
36570         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
36571         define if ACL_NO_TRIVIAL is present.
36572         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
36573         and use the current ABI.
36574         (file_has_acl): Use same #if condition as elsewhere.
36575         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
36576         in use, and use the current ABI.
36577         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
36578         Reported by Jim Meyering.
36579
36580 2008-06-09  Eric Blake  <ebb9@byu.net>
36581
36582         Work around environments that (stupidly) ignore SIGALRM.
36583         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
36584         before using alarm().
36585         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
36586         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
36587         Reported by Ian Beckwith <ianb@erislabs.net>.
36588
36589         Produce autobuild blurb earlier in log.
36590         * modules/autobuild (configure.ac-early): Move AB_INIT here.
36591
36592 2008-06-09  Jim Meyering  <meyering@redhat.com>
36593         and OndÅ™ej Vašík  <ovasik@redhat.com>
36594
36595         utimens.c: correct kernel bug work-around
36596         OndÅ™ej Vašík found that the invalid return value of 280 indicates
36597         failure, not success, and the kernel bug we're trying to work
36598         around affects not just the utimensat call, but also the fallback
36599         futimens call.
36600         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
36601         not success.
36602         [HAVE_FUTIMENS]: Use the same work-around, here.
36603
36604 2008-06-09  Jim Meyering  <meyering@redhat.com>
36605
36606         add more guards around definition of ACE_-related code
36607         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
36608         ALLOW and ACE_OWNER are also defined.
36609
36610 2008-06-08  Bruno Haible  <bruno@clisp.org>
36611
36612         * lib/acl-internal.h: Add me as co-author.
36613         * lib/file-has-acl.c: Likewise.
36614         * lib/set-mode-acl.c: Likewise.
36615         * lib/copy-acl.c: Likewise.
36616
36617 2008-06-08  Bruno Haible  <bruno@clisp.org>
36618
36619         Add support for AIX ACLs.
36620         * lib/acl-internal.h (acl_nontrivial): New declaration.
36621         * lib/file-has-acl.c (acl_nontrivial): New function.
36622         (file_has_acl): Add implementation using AIX 4 ACL API.
36623         * lib/set-mode-acl.c (qset_acl): Likewise.
36624         * lib/copy-acl.c (qcopy_acl): Likewise.
36625
36626 2008-06-08  Bruno Haible  <bruno@clisp.org>
36627
36628         Add support for HP-UX ACLs.
36629         * lib/acl-internal.h (acl_nontrivial): New declaration.
36630         * lib/file-has-acl.c (acl_nontrivial): New function.
36631         (file_has_acl): Add implementation using HP-UX 11 ACL API.
36632         * lib/set-mode-acl.c (qset_acl): Likewise.
36633         * lib/copy-acl.c (qcopy_acl): Likewise.
36634
36635 2008-06-08  Bruno Haible  <bruno@clisp.org>
36636
36637         Add support for Cygwin ACLs.
36638         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
36639         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
36640         the chmod_or_fchmod call.
36641         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
36642
36643 2008-06-08  Bruno Haible  <bruno@clisp.org>
36644
36645         Fix bug with setuid modes in Solaris 10+ code.
36646         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
36647         succeeded, when the mode contains some special bits.
36648
36649 2008-06-08  Bruno Haible  <bruno@clisp.org>
36650
36651         Add support for Solaris 7..10 ACLs.
36652         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
36653         declarations.
36654         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
36655         functions.
36656         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
36657         * lib/set-mode-acl.c (qset_acl): Likewise.
36658         * lib/copy-acl.c (qcopy_acl): Likewise.
36659
36660 2008-06-08  Bruno Haible  <bruno@clisp.org>
36661
36662         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
36663         declaration.
36664         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
36665         (acl_access_nontrivial): Remove MacOS X case.
36666         (file_has_acl): Use acl_extended_nontrivial.
36667         * lib/copy-acl.c (qcopy_acl): Likewise.
36668
36669 2008-06-08  Bruno Haible  <bruno@clisp.org>
36670
36671         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
36672
36673 2008-06-08  Jim Meyering  <meyering@redhat.com>
36674
36675         * modules/acl (Maintainer): Add Bruno Haible.
36676
36677 2008-06-07  Bruno Haible  <bruno@clisp.org>
36678
36679         Improve support for Tru64 ACLs.
36680         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
36681         ACL on OSF/1.
36682
36683 2008-06-07  Bruno Haible  <bruno@clisp.org>
36684
36685         Add support for MacOS X ACLs.
36686         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
36687         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
36688         * lib/set-mode-acl.c (qset_acl): Likewise.
36689         * lib/copy-acl.c (qcopy_acl): Likewise.
36690
36691 2008-06-07  Bruno Haible  <bruno@clisp.org>
36692
36693         Fix memory leak introduced on 2008-05-22.
36694         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
36695         use.
36696
36697 2008-06-07  Bruno Haible  <bruno@clisp.org>
36698
36699         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
36700         to construct an empty ACL.
36701
36702 2008-06-07  Bruno Haible  <bruno@clisp.org>
36703
36704         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
36705         precisely.
36706         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
36707
36708 2008-06-07  Bruno Haible  <bruno@clisp.org>
36709
36710         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
36711         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
36712
36713 2008-06-07  Bruno Haible  <bruno@clisp.org>
36714
36715         * doc/posix-functions/_setjmp.texi: Explain the use of this function
36716         regardless of POSIX.
36717         * doc/posix-functions/_longjmp.texi: Likewise.
36718         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
36719         SystemV platform in this case.
36720
36721 2008-06-06  Eric Blake  <ebb9@byu.net>
36722
36723         Document abort() bugs.
36724         * doc/posix-functions/abort.texi (abort): Mention anomalies.
36725
36726         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
36727         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
36728         sigsetjmp.
36729         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
36730         siglongjmp, but only as a macro.
36731         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
36732         is obsolete.
36733         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
36734
36735         Tweak documentation to cover cygwin argz bugs.
36736         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
36737         argz bug fix; no code change needed since no cygwin releases
36738         occurred between the last fix and the bug being tested.
36739         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
36740         module and recently fixed cygwin bugs.
36741         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
36742         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
36743         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
36744         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
36745         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
36746         Likewise.
36747         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
36748         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
36749         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
36750         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
36751         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
36752         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
36753         Likewise.
36754
36755         Avoid gcc warning on cygwin.
36756         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
36757         !ACL_NO_TRIVIAL]: Avoid unused variable.
36758
36759 2008-06-05  Eric Blake  <ebb9@byu.net>
36760
36761         Be tolerant of UNKNOWN version in gnulib-tool test dir.
36762         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
36763         git-version-gen fails to come up with a version.
36764         Reported by Simon Josefsson.
36765
36766 2008-06-05  Jim Meyering  <meyering@redhat.com>
36767             Paul Eggert  <eggert@cs.ucla.edu>
36768
36769         utimens.c: work around a probable Linux kernel bug
36770         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
36771         appears to be a kernel bug that causes utimensat to return 280
36772         instead of 0, indicating success.
36773
36774 2008-06-04  Bruno Haible  <bruno@clisp.org>
36775
36776         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
36777         2008-06-01 commit.
36778
36779 2008-06-04  Bruno Haible  <bruno@clisp.org>
36780
36781         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
36782         * lib/file-has-acl.c (acl_access_nontrivial): New function.
36783         (file_has_acl): Use it. Save errno afterwards.
36784         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
36785
36786 2008-06-03  Bruno Haible  <bruno@clisp.org>
36787
36788         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
36789         draft code. Simplify #ifs.
36790         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
36791         Put Solaris code after POSIX-draft code. Fix comments regarding
36792         Solaris 10, HP-UX. Mention Cygwin.
36793         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
36794
36795 2008-06-03  Eric Blake  <ebb9@byu.net>
36796
36797         Provide fallback for older kernels.
36798         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
36799         Provide runtime fallback if kernel lacks support.
36800         Reported by Mike Frysinger.
36801
36802 2008-06-02  Bruno Haible  <bruno@clisp.org>
36803
36804         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
36805         it exists.
36806
36807 2008-06-02  Bruno Haible  <bruno@clisp.org>
36808
36809         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
36810         * lib/copy-acl.c (qcopy_acl): Update comment.
36811
36812 2008-06-02  Bruno Haible  <bruno@clisp.org>
36813
36814         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
36815         like ACL APIs.
36816
36817 2008-06-02  Bruno Haible  <bruno@clisp.org>
36818
36819         * tests/test-file-has-acl.sh: Use different code for Cygwin.
36820         * tests/test-set-mode-acl.sh: Likewise.
36821         * tests/test-copy-acl.sh: Likewise.
36822         * tests/test-copy-file.sh: Likewise.
36823
36824 2008-06-02  Bruno Haible  <bruno@clisp.org>
36825
36826         * tests/test-file-has-acl.sh: Remove unused code.
36827
36828 2008-06-01  Bruno Haible  <bruno@clisp.org>
36829
36830         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
36831         (copy_acl): Just a wrapper around qcopy_acl that emits the error
36832         messages.
36833         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
36834
36835 2008-06-01  Bruno Haible  <bruno@clisp.org>
36836
36837         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
36838         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
36839         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
36840         APIs.
36841         * modules/acl-tests (configure.ac): Remove tests now contained in
36842         m4/acl.m4.
36843
36844 2008-06-02  Jim Meyering  <meyering@redhat.com>
36845
36846         announce-gen: use a better key-server host name
36847         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
36848         it may be more consistently reliable.  Suggested by Werner Koch
36849         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
36850
36851 2008-06-01  Bruno Haible  <bruno@clisp.org>
36852
36853         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
36854         Reported by Voroskoi Andras <voroskoi@gmail.com>.
36855
36856 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
36857
36858         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
36859
36860 2008-06-01  Bruno Haible  <bruno@clisp.org>
36861
36862         New ACL tests.
36863         * tests/test-file-has-acl.sh: New file.
36864         * tests/test-file-has-acl.c: New file.
36865         * tests/test-set-mode-acl.sh: New file.
36866         * tests/test-set-mode-acl.c: New file.
36867         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
36868         * tests/test-copy-acl.c: New file.
36869         * modules/acl-tests: New file, based on modules/copy-file-tests.
36870         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
36871         (Depends-on): Add acl-tests.
36872         (configure.ac): Remove checks.
36873         (Makefile.am): Don't create test-sameacls program here any more.
36874
36875 2008-06-01  Bruno Haible  <bruno@clisp.org>
36876
36877         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
36878         * tests/test-sameacls.c: Include progname.h.
36879         (main): Invoke set_program_name. Portability fixes for MacOS X,
36880         Solaris, HP-UX.
36881
36882 2008-06-01  Bruno Haible  <bruno@clisp.org>
36883
36884         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
36885         function.
36886         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
36887
36888 2008-06-01  Bruno Haible  <bruno@clisp.org>
36889
36890         * modules/rpmatch (Depends-on): Add strdup.
36891
36892 2008-06-01  Bruno Haible  <bruno@clisp.org>
36893
36894         * lib/pipe.c: Include unistd-safer.h.
36895         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
36896         * modules/pipe (Depends-on): Add unistd-safer.
36897
36898 2008-05-30  Simon Josefsson  <simon@josefsson.org>
36899
36900         * modules/autobuild (configure.ac): Call AB_INIT.
36901
36902 2008-05-30  Simon Josefsson  <simon@josefsson.org>
36903
36904         * tests/test-getaddrinfo.c: Don't print debug messages by default.
36905         Suggested by Bruno Haible <bruno@clisp.org>.
36906
36907 2008-05-30  Simon Josefsson  <simon@josefsson.org>
36908
36909         * tests/test-base64.c: Cast size_t to unsigned long when invoking
36910         printf.  Use %lu instead of %d.  Reported by Bruno Haible
36911         <bruno@clisp.org>.
36912
36913 2008-05-29  Eric Blake  <ebb9@byu.net>
36914
36915         Prefer new POSIX 200x interfaces over futimesat.
36916         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
36917         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
36918         when available.
36919         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
36920
36921 2008-05-28  Bruno Haible  <bruno@clisp.org>
36922
36923         * modules/stpcpy (License): Change to LGPLv2+.
36924         Requested by David Lutterkort <dlutter@redhat.com>.
36925
36926 2008-05-27  Bruno Haible  <bruno@clisp.org>
36927
36928         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
36929         current mingw.
36930         Reported by Jose E. Marchesi <jemarch@gnu.org>.
36931
36932 2008-05-27  Bruno Haible  <bruno@clisp.org>
36933
36934         * modules/iconv_open (Link): New section, from module 'iconv'.
36935         * modules/striconv (Link): Likewise.
36936         * modules/striconveh (Link): Likewise.
36937         * modules/xstriconv (Link): Likewise.
36938         * modules/unicodeio (Link): Likewise.
36939         * modules/propername (Link): Likewise.
36940         Reported by Jim Meyering.
36941
36942 2008-05-26  Jim Meyering  <meyering@redhat.com>
36943
36944         sha256: do not artificially restrict buffer length to be < 2^32
36945         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
36946         uint32_t to size_t.
36947         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
36948         to match.
36949
36950         avoid unaligned access errors, e.g., on sparc
36951         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
36952         direct access through a possibly-unaligned uint64* pointer.
36953         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
36954         direct access through a possibly-unaligned uint32* pointer.
36955         Prompted by this patch from Tom "spot" Callaway:
36956         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
36957
36958         sha512.c: fix typo in comment
36959         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
36960
36961 2008-05-25  Bruno Haible  <bruno@clisp.org>
36962
36963         * lib/set-mode-acl.c: Renamed from lib/acl.c.
36964         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
36965         (Makefile.am): Update lib_SOURCES.
36966
36967 2008-05-25  Bruno Haible  <bruno@clisp.org>
36968
36969         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
36970
36971 2008-05-25  Jim Meyering  <meyering@redhat.com>
36972
36973         useless-if-before-free: freed expr may have white-space differences
36974         * build-aux/useless-if-before-free: Recognize cases in which the
36975         freed expression differs from the tested one in embedded white
36976         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
36977         $1 was used, so we can't make any regexp shy.  Improved tests now
36978         detect this.
36979
36980         useless-if-before-free: accept white space in the expression.
36981         * build-aux/useless-if-before-free: For now, any white space
36982         in the expression must be identical in the free argument.
36983
36984         useless-if-before-free: efficiency tweak
36985         * build-aux/useless-if-before-free: Make the expression-matching
36986         regexp "shy".
36987         Make the *outer* regexp shy, not the expr-matching one.
36988
36989         update code-in-comment to accept cast of free arg
36990         * build-aux/useless-if-before-free: Update regexp.
36991
36992 2008-05-25  Bruno Haible  <bruno@clisp.org>
36993
36994         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
36995         * modules/copy-file-tests (Files, Makefile.am): Update.
36996         * tests/test-copy-file.c (func_test_copy): Update.
36997
36998 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
36999
37000         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
37001
37002 2008-05-23  Bruno Haible  <bruno@clisp.org>
37003
37004         Improve support for ACLs on OSF/1.
37005         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
37006         Remove fallback for unknown flavors of ACLs.
37007
37008 2008-05-22  Bruno Haible  <bruno@clisp.org>
37009
37010         Add support for ACLs on OSF/1.
37011         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
37012         replacements.
37013         (acl_free_text): New macro fallback.
37014         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
37015         acl_free.
37016         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
37017         acl_free_text function. Require AC_C_INLINE.
37018
37019 2008-05-22  Bruno Haible  <bruno@clisp.org>
37020
37021         Make copy_acl work on MacOS X 10.5.
37022         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
37023         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
37024         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
37025         If MODE_INSIDE_ACL, don't assume that every system has the same text
37026         representation for ACLs as FreeBSD.
37027         * lib/copy-acl.c (copy_acl): Add support for platforms with
37028         !MODE_INSIDE_ACL.
37029         * lib/file-has-acl.c (file_has_acl): Likewise.
37030         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
37031         FreeBSD, MacOS X, or IRIX, respectively.
37032
37033 2008-05-22  Bruno Haible  <bruno@clisp.org>
37034
37035         * lib/acl.h: Don't include <sys/acl.h>.
37036         (GETACLCNT): Move fallback to lib/acl-internal.h.
37037         * lib/acl-internal.h: Include <sys/acl.h> here.
37038         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
37039
37040 2008-05-22  Bruno Haible  <bruno@clisp.org>
37041
37042         Split off copy_acl function to separate file.
37043         * lib/copy-acl.c: New file, extracted from lib/acl.c.
37044         * lib/acl.c (copy_acl): Moved function to separate file.
37045         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
37046         * modules/acl (Files): Add lib/copy-acl.c.
37047         (Makefiles.am): Augment lib_SOURCES.
37048
37049 2008-05-22  Bruno Haible  <bruno@clisp.org>
37050
37051         * modules/copy-file-tests: New file.
37052         * tests/test-copy-file.sh: New file.
37053         * tests/test-copy-file.c: New file.
37054         * tests/test-copy-file-sameacls.c: New file.
37055
37056 2008-05-22  Eric Blake  <ebb9@byu.net>
37057
37058         Avoid gcc warning.
37059         * tests/test-memcmp.c (main): Pass NULL indirectly.
37060
37061 2008-05-21  Bruno Haible  <bruno@clisp.org>
37062
37063         Add reference doc about ACLs.
37064         * doc/acl-resources.txt: New file.
37065         * doc/acl-cygwin.txt: New file.
37066
37067 2008-05-21  Bruno Haible  <bruno@clisp.org>
37068
37069         Avoid one more warning from gcc.
37070         * lib/vasnprintf.c (IF_LINT): Update comments.
37071         (VASNPRINTF): Use it also for the 'prefix' array initializer.
37072
37073 2008-05-21  Jim Meyering  <meyering@redhat.com>
37074
37075         avoid a warning from gcc
37076         * lib/vasnprintf.c (IF_LINT): Define.
37077         (scale10_round_decimal_long_double):
37078         Use it to avoid a "may be used uninitialized" warning.
37079         (scale10_round_decimal_double): Likewise.
37080
37081 2008-05-21  Simon Josefsson  <simon@josefsson.org>
37082
37083         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
37084         declared.
37085
37086 2008-05-20  Bruno Haible  <bruno@clisp.org>
37087
37088         * tests/test-memcmp.c (main): Test also the sign of the result. Test
37089         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
37090
37091 2008-05-20  Simon Josefsson  <simon@josefsson.org>
37092
37093         * modules/memcmp-tests: New file.
37094         * tests/test-memcmp.c: New file.
37095
37096 2008-05-19  Bruno Haible  <bruno@clisp.org>
37097
37098         * modules/propername (Notice, configure.ac): Put quoted "..." into
37099         --keyword option.
37100         * lib/propername.h: Update comments accordingly.
37101         Reported by Eric Blake.
37102
37103 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
37104
37105         * modules/getpass-gnu (Depends-on): Add fseeko.
37106
37107 2008-05-19  Simon Josefsson  <simon@josefsson.org>
37108
37109         * modules/base64-tests: New file.
37110
37111 2008-05-19  Bo Borgerson <gigabo@gmail.com>
37112
37113         * lib/base64.c (base64_decode_ctx): If a decode context structure
37114         was passed in use it to ignore newlines.  If a context structure
37115         was _not_ passed in, continue to treat newlines as garbage (this
37116         is the historical behavior).  Formerly base64_decode.
37117         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
37118         takes a decode context structure.
37119         * lib/base64.h (base64_decode): Macro for four-argument calls.
37120         (base64_decode_alloc): Likewise.
37121         * lib/base64.c (base64_decode_ctx): If a decode context structure
37122         was passed in use it to ignore newlines.  If a context structure
37123         was _not_ passed in, continue to treat newlines as garbage (this
37124         is the historical behavior).  Formerly base64_decode.
37125         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
37126         takes a decode context structure.
37127         * lib/base64.h (base64_decode): Macro for four-argument calls.
37128         (base64_decode_alloc): Likewise.
37129
37130 2008-05-19  Jim Meyering  <meyering@redhat.com>
37131
37132         avoid a warning from gcc
37133         * lib/trim.c (IF_LINT): Define.
37134         (trim2): Use it to avoid a "may be used uninitialized" warning.
37135
37136         Fix doc typo.
37137         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
37138
37139 2008-05-19  Bruno Haible  <bruno@clisp.org>
37140
37141         * doc/glibc-functions/getpass.texi: Document limits of other
37142         implementations.
37143
37144 2008-05-19  Simon Josefsson  <simon@josefsson.org>
37145             Bruno Haible <bruno@clisp.org>
37146
37147         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
37148
37149 2008-05-18  Bruno Haible  <bruno@clisp.org>
37150
37151         * modules/propername: New file, from GNU gettext.
37152         * lib/propername.h: New file, from GNU gettext.
37153         * lib/propername.c: New file, from GNU gettext.
37154         * MODULES.html.sh (Internationalization functions): Add propername.
37155
37156 2008-05-16  Jim Meyering  <meyering@redhat.com>
37157             Bruno Haible  <bruno@clisp.org>
37158
37159         Avoid some warnings from "gcc -Wshadow".
37160         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
37161
37162 2008-05-15  Eric Blake  <ebb9@byu.net>
37163
37164         Extend previous patch to cygwin 1.7.0.
37165         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
37166         fast implementation in cygwin >= 1.7.0.
37167         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
37168         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
37169
37170 2008-05-15  Bruno Haible  <bruno@clisp.org>
37171
37172         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
37173         implementation in glibc >= 2.9.
37174         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
37175         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
37176
37177 2008-05-15  Bruno Haible  <bruno@clisp.org>
37178
37179         * MODULES.html.sh (Internationalization functions): Remove linebreak.
37180         (Unicode string functions): Add unilbrk/*.
37181         Reported by Karl Berry.
37182
37183 2008-05-15  Eric Blake  <ebb9@byu.net>
37184
37185         Fix violation of <stdbool.h> replacement in regex.
37186         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
37187         * lib/regexec.c (re_search_internal): Likewise.
37188         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
37189
37190 2008-05-15  Jim Meyering  <meyering@redhat.com>
37191
37192         avoid distracting test output when git or cvs is not found
37193         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
37194         * tests/test-vc-list-files-git.sh: Likewise.
37195
37196 2008-05-15  Eric Blake  <ebb9@byu.net>
37197
37198         Glibc finally accepted the memmem speedup code, bugzilla #5514.
37199         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
37200         glibc version.
37201         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
37202         * doc/posix-functions/strstr.texi (strstr): Likewise.
37203         * lib/str-two-way.h (MAX): Sychronize with glibc.
37204
37205 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
37206
37207         * lib/regcomp.c (optimize_utf8): Add a note on why we test
37208         opr.ctx_type.
37209         (calc_first): Initialize constraint field.
37210         (duplicate_node_closure): Use it instead of special casing ANCHORS.
37211         Fix grammar.
37212         (duplicate_node): Merge constraint field for all node types.
37213         (calc_eclosure_iter): Look at constraint field for all node types.
37214         * lib/regex_internal.c (create_cd_newstate): Don't look at
37215         opr.ctx_type.
37216
37217 2008-05-14  Bruno Haible  <bruno@clisp.org>
37218
37219         Help GCC to do better code generation.
37220         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
37221         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
37222         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
37223         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
37224         Declare with attribute 'malloc' if supported.
37225
37226 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
37227
37228         use "echo STR|wc -c" rather than unportable "expr length STR"
37229         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
37230         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
37231
37232 2008-05-14  Jim Meyering  <meyering@redhat.com>
37233
37234         use dd ibs=$n count=1 ... rather than less-portable head -c$n
37235         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
37236         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
37237         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
37238         via Collin Lasse.
37239
37240 2008-05-14  Eric Blake  <ebb9@byu.net>
37241
37242         Avoid quadratic growth in gl_LIBSOURCES.
37243         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
37244         Suggested by Bruno Haible.
37245
37246         Test xmemdup0.
37247         * modules/xmemdup0-tests: New file.
37248         * tests/test-xmemdup0.c: Likewise.
37249
37250 2008-05-13  Eric Blake  <ebb9@byu.net>
37251
37252         Split xmemdup0 into its own module.
37253         * modules/xmemdup0: New file.
37254         * lib/xmemdup0.h: Likewise.
37255         * lib/xmemdup0.c: Likewise.
37256         * MODULES.html.sh (Memory management functions): Add xmemdup0.
37257         * lib/xalloc.h (xmemdup0): Remove.
37258         * lib/xmalloc.c (xmemdup0): Likewise.
37259
37260 2008-05-13  Eric Blake  <ebb9@byu.net>
37261             Bruno Haible  <bruno@clisp.org>
37262
37263         Reduce number of forks required during autoconf.
37264         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
37265         and gl_LIBSOURCES_DIR.
37266         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
37267         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
37268         m4_syscmd per file.
37269         <m4_foreach_w>: Move...
37270         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
37271
37272 2008-05-13  Eric Blake  <ebb9@byu.net>
37273
37274         * gnulib-tool: Fix various comment typos.
37275
37276 2008-05-12  Bruno Haible  <bruno@clisp.org>
37277
37278         Tailor the linebreaking algorithm.
37279         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
37280
37281 2008-05-12  Bruno Haible  <bruno@clisp.org>
37282
37283         Update to Unicode 5.0.0.
37284         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
37285         LBP_JV, LBP_JT. Redistribute values.
37286         (unilbrk_table): Change size.
37287         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
37288         Unicode TR#14 rev. 22.
37289         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
37290         LBP_JV, LBP_JT. Redistribute values.
37291         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
37292         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
37293         Update.
37294         * lib/unilbrk/lbrkprop1.h: Regenerated.
37295         * lib/unilbrk/lbrkprop2.h: Regenerated.
37296         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
37297         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
37298         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
37299         Likewise.
37300         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
37301         Likewise.
37302         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
37303         result.
37304         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
37305         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
37306         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
37307         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
37308         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
37309         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
37310
37311 2008-05-11  Bruno Haible  <bruno@clisp.org>
37312
37313         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
37314
37315 2008-05-11  Bruno Haible  <bruno@clisp.org>
37316
37317         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
37318         * modules/unilbrk/gen-lbrk: New file.
37319
37320 2008-05-11  Bruno Haible  <bruno@clisp.org>
37321
37322         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
37323         * m4/sha512.m4 (gl_SHA512): Likewise.
37324
37325 2008-05-11  Jim Meyering  <meyering@redhat.com>
37326
37327         New modules: crypto/sha256, crypto/sha512 (from coreutils)
37328         * modules/crypto/sha256: New file.
37329         * modules/crypto/sha512: Likewise.
37330         * lib/sha256.c: Likewise.
37331         * lib/sha256.h: Likewise.
37332         * lib/sha512.c: Likewise.
37333         * lib/sha512.h: Likewise.
37334         * lib/u64.h: Likewise.
37335         * m4/sha256.m4: Likewise.
37336         * m4/sha512.m4: Likewise.
37337         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
37338
37339 2008-05-10  Bruno Haible  <bruno@clisp.org>
37340
37341         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
37342         (Input/Output <stdio.h>): Add xprintf.
37343         (Signal handling <signal.h>): Add strsignal.
37344         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
37345         (Core language properties): Add func.
37346         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
37347         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
37348         strings.
37349         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
37350         (Input/output): New section.
37351         (File system functions): Add openat-die, stat-macros.
37352         (Networking functions): Add sockets.
37353         (Unicode string functions): Add unictype/*.
37354         (Support for building libraries and executables): Add gperf.
37355         (Support for building documentation): Add agpl-3.0.
37356         (Misc): Add nocrash.
37357
37358 2008-05-10  Bruno Haible  <bruno@clisp.org>
37359
37360         * modules/unictype/gen-ctype: New file.
37361
37362 2008-05-10  Jim Meyering  <meyering@redhat.com>
37363
37364         Make chdir-safer.c more efficient on a system with no symlinks.
37365         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
37366         also if ELOOP is zero.  Suggested by Bruno Haible.
37367
37368         Make chdir-safer.c slightly safer.
37369         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
37370         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
37371
37372         Avoid compile failure on systems without ELOOP (like mingw).
37373         * lib/chdir-safer.c (ELOOP): Define if not already defined.
37374         Reported by Bruno Haible.
37375
37376 2008-05-10  Bruno Haible  <bruno@clisp.org>
37377
37378         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
37379         (is_utf8_encoding): Use a case-insensitive comparison.
37380         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
37381         streq.
37382
37383 2008-05-10  Bruno Haible  <bruno@clisp.org>
37384
37385         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
37386         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
37387         * lib/unilbrk/ulc-common.h (iconv_string_length,
37388         iconv_string_keeping_offsets): Remove declarations.
37389         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
37390         Don't include <iconv.h>, streq.h, xsize.h.
37391         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
37392         conversion.
37393         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
37394         <iconv.h>, streq.h, xsize.h.
37395         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
37396         conversion.
37397         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
37398         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
37399         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
37400         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
37401
37402 2008-05-10  Bruno Haible  <bruno@clisp.org>
37403
37404         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
37405         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
37406
37407         * modules/unilbrk/u32-width-linebreaks-tests: New file.
37408         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
37409
37410         * modules/unilbrk/u16-width-linebreaks-tests: New file.
37411         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
37412
37413         * modules/unilbrk/u8-width-linebreaks-tests: New file.
37414         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
37415
37416         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
37417         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
37418
37419         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
37420         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
37421
37422         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
37423         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
37424
37425         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
37426         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
37427
37428 2008-05-10  Bruno Haible  <bruno@clisp.org>
37429
37430         Split up 'linebreak' module.
37431         * lib/unilbrk.h: New file, based on lib/linebreak.h.
37432         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
37433         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
37434         modifications.
37435         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
37436         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
37437         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
37438         lib/linebreak.c.
37439         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
37440         lib/linebreak.c.
37441         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
37442         lib/linebreak.c.
37443         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
37444         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
37445         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
37446         lib/linebreak.c.
37447         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
37448         lib/linebreak.c.
37449         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
37450         lib/linebreak.c.
37451         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
37452         lib/linebreak.c.
37453         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
37454         lib/linebreak.c.
37455         * modules/unilbrk/base: New file.
37456         * modules/unilbrk/tables: New file.
37457         * modules/unilbrk/u8-possible-linebreaks: New file.
37458         * modules/unilbrk/u16-possible-linebreaks: New file.
37459         * modules/unilbrk/u32-possible-linebreaks: New file.
37460         * modules/unilbrk/ulc-common: New file.
37461         * modules/unilbrk/ulc-possible-linebreaks: New file.
37462         * modules/unilbrk/u8-width-linebreaks: New file.
37463         * modules/unilbrk/u16-width-linebreaks: New file.
37464         * modules/unilbrk/u32-width-linebreaks: New file.
37465         * modules/unilbrk/ulc-width-linebreaks: New file.
37466         * lib/linebreak.h: Remove file.
37467         * lib/linebreak.c: Remove file.
37468         * m4/linebreak.m4: Remove file.
37469         * modules/linebreak: Remove file.
37470         * NEWS: Mention the changes.
37471
37472 2008-05-09  Eric Blake  <ebb9@byu.net>
37473
37474         Add xmemdup0.
37475         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
37476         implementation.
37477         * lib/xmalloc.c (xmemdup0): New C implementation.
37478
37479 2008-05-08  Bruno Haible  <bruno@clisp.org>
37480
37481         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
37482
37483 2008-05-07  Eric Blake  <ebb9@byu.net>
37484
37485         Support cross-compilation of <wctype.h>.
37486         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
37487         AC_CACHE_CHECK.
37488
37489 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
37490
37491         * build-aux/vc-list-files: Add support for bzr.
37492
37493 2008-05-03  Jim Meyering  <meyering@redhat.com>
37494
37495         avoid failed assertion with tight malloc
37496         * tests/test-getndelim2.c: Correct an off-by-one assertion.
37497
37498 2008-05-03  Simon Josefsson  <simon@josefsson.org>
37499
37500         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
37501         are needed from arpa/inet.h.
37502         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
37503         Reported by Bruno Haible.
37504
37505 2008-05-02  Jim Meyering  <meyering@redhat.com>
37506
37507         avoid compilation error on FreeBSD 6
37508         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
37509
37510 2008-05-01  Jim Meyering  <meyering@redhat.com>
37511
37512         useless-if-before-free: correct --help's exit status description
37513         * build-aux/useless-if-before-free (usage): Like grep, exit 0
37514         for one or more matches, etc.  Reported by Bruno Haible.
37515
37516         vc-list-files: make the stand-alone gnulib test work
37517         * modules/vc-list-files-tests (configure.ac):
37518         Define and AC_SUBST abs_aux_dir.
37519         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
37520         $(abs_top_srcdir) to each script and having each of them
37521         duplicate the work of setting PATH, set PATH here, using
37522         the new variable, abs_aux_dir instead.
37523         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
37524         * tests/test-vc-list-files-git.sh: Likewise.
37525         Reported by Bruno Haible.
37526
37527 2008-05-01  Bruno Haible  <bruno@clisp.org>
37528
37529         * lib/getndelim2.c (getndelim2): Fix newsize computation during
37530         reallocation. Rename 'done' to 'found_delimiter'.
37531
37532 2008-05-01  Jim Meyering  <meyering@redhat.com>
37533
37534         vc-list-files: accommodate /bin/sh like the one from Solaris 10
37535         * build-aux/vc-list-files: Use `...`, not $(...).
37536
37537 2008-04-30  Jim Meyering  <meyering@redhat.com>
37538
37539         add tests for vc-list-files
37540         * modules/vc-list-files-tests: New module.
37541         * tests/test-vc-list-files-cvs.sh: New file.
37542         * tests/test-vc-list-files-git.sh: New file.
37543
37544         avoid a warning from gcc
37545         * lib/getndelim2.c (IF_LINT): Define.
37546         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
37547
37548         vc-list-files: work properly with build-aux/cvsu, too
37549         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
37550         to all cvs-based clauses.
37551
37552         vc-list-files: work properly in the CVS+awk case, too
37553         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
37554
37555         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
37556         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
37557         take more than one file argument, so .  Add quotes, just in case $dir
37558         ever contains a shell meta-character.  Prompted by Soren Hansen in
37559         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
37560
37561 2008-04-29  Eric Blake  <ebb9@byu.net>
37562
37563         Optimize getndelim2 to use block operations when possible.
37564         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
37565         freadseek, and memchr2.
37566         * lib/getndelim2.c (getndelim2): Use them for block reads.
37567
37568 2008-04-29  Bruno Haible  <bruno@clisp.org>
37569
37570         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
37571         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37572         * modules/inet_ntop (Depends-on): Add extensions.
37573         * modules/inet_pton (Depends-on): Likewise.
37574         Reported by Simon Josefsson.
37575
37576 2008-04-29  Jim Meyering  <meyering@redhat.com>
37577
37578         When the is more than one match in a block, match all of them.
37579         * build-aux/useless-if-before-free: Iterate through each block
37580         until there are no more matches.
37581
37582         Fix broken useless-if-before-free script.
37583         * build-aux/useless-if-before-free: Fix typo: missing "?" after
37584         the expression to match cast of argument to free-like function.
37585
37586 2008-04-29  Eric Blake  <ebb9@byu.net>
37587
37588         Use new header.
37589         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
37590
37591 2008-04-29  Jim Meyering  <meyering@redhat.com>
37592
37593         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
37594         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
37595         by gnulib to exist and to declare e.g., inet_ntop.
37596         Don't include "inet_ntop.h", now removed.
37597
37598         * m4/arpa_inet_h.m4: Remove trailing blanks.
37599
37600 2008-04-29  Eric Blake  <ebb9@byu.net>
37601
37602         Silence valgrind on safe reads beyond potential array bounds.
37603         * lib/rawmemchr.valgrind: New file.
37604         * lib/strchrnul.valgrind: Likewise.
37605         * modules/rawmemchr (Files): Distribute new file.
37606         * modules/strchrnul (Files): Likewise.
37607         Suggested by Bruno Haible.
37608
37609 2008-04-29  Bruno Haible  <bruno@clisp.org>
37610
37611         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
37612         (inet_ntop, inet_pton): Change portability warning's wording.
37613         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
37614         Invoke gl_CHECK_NEXT_HEADERS.
37615         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
37616         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
37617         set ARPA_INET_H.
37618         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37619         * modules/arpa_inet (Description): No longer only for systems that
37620         lack it.
37621         (Depends-on): Add include_next.
37622         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
37623         HAVE_ARPA_INET_H.
37624
37625 2008-04-29  Jim Meyering  <meyering@redhat.com>
37626
37627         * modules/mkdir (License): Re-license as LGPLv2+.
37628
37629 2008-04-29  Bruno Haible  <bruno@clisp.org>
37630
37631         * modules/rawmemchr (Maintainer): Set to Eric.
37632         * modules/strchrnul (Maintainer): Likewise.
37633
37634 2008-04-29  Simon Josefsson  <simon@josefsson.org>
37635
37636         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
37637         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
37638
37639         * modules/arpa_inet (arpa/inet.h): Use them.
37640
37641 2008-04-28  Eric Blake  <ebb9@byu.net>
37642
37643         Test getndelim2.
37644         * modules/getndelim2-tests: New file.
37645         * tests/test-getndelim2.c: Likewise.
37646         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
37647         stream.
37648         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
37649
37650         * MODULES.html.sh: Document new module.
37651
37652 2008-04-20  Bruno Haible  <bruno@clisp.org>
37653
37654         * lib/c-stack.c (die): Use raise.
37655         * modules/c-stack (Depends-on): Add raise.
37656
37657 2008-04-28  Bruno Haible  <bruno@clisp.org>
37658
37659         Expect rpmatch to be declared.
37660         * lib/yesno.c (rpmatch): Remove declaration.
37661
37662         Declare rpmatch.
37663         * lib/stdlib.in.h (rpmatch): New declaration.
37664         * lib/rpmatch.c: Include <stdlib.h> first.
37665         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
37666         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
37667         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
37668         HAVE_RPMATCH.
37669         * modules/rpmatch (Depends-on): Add stdlib, extensions.
37670         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
37671         (Include): Set to <stdlib.h>.
37672         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
37673         HAVE_RPMATCH.
37674         * NEWS: Document the change.
37675
37676 2008-04-28  Bruno Haible  <bruno@clisp.org>
37677
37678         Change rpmatch to use nl_langinfo when appropriate.
37679         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
37680         (N_): New macro.
37681         (localized_pattern): New function/macro.
37682         (try): Remove match, nomatch arguments. Copy the pattern into safe
37683         memory before caching it.
37684         (rpmatch): Use localized_pattern. Add translator comments.
37685         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
37686         Suggested by Eric Blake.
37687         * modules/rpmatch (Depends-on): Add stdbool.
37688
37689 2008-04-28  Eric Blake  <ebb9@byu.net>
37690
37691         Add rawmemchr module, matching glibc.
37692         * modules/string (Makefile.am): New indicator.
37693         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
37694         * lib/string.in.h (rawmemchr): Declare when appropriate.
37695         * modules/rawmemchr: New file.
37696         * m4/rawmemchr.m4: Likewise.
37697         * lib/rawmemchr.c: Likewise.
37698         * modules/rawmemchr-tests: Likewise.
37699         * tests/test-rawmemchr.c: Likewise.
37700         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
37701         module.
37702         * modules/strchrnul (Depends-on): Add rawmemchr.
37703         * lib/strchrnul.c (strchrnul): Optimize a corner case.
37704
37705         Whitespace cleanup.
37706         * tests/test-strchrnul.c: Reindent.
37707         * lib/strchrnul.c: Likewise.
37708
37709         Optimize and test strchrnul.
37710         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
37711         * modules/strchrnul-tests: New file.
37712         * tests/test-strchrnul.c: Likewise.
37713
37714         Remove intprops dependency.
37715         * modules/memchr (Depends-on): Remove intprops.
37716         * modules/memrchr (Depends-on): Likewise.
37717         * modules/memchr2 (Depends-on): Likewise.
37718         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
37719         * lib/memrchr.c (__memrchr): Likewise.
37720         * lib/memrchr2.c (memchr2): Likewise.
37721         Reported by Simon Josefsson.
37722
37723 2008-04-28  Simon Josefsson  <simon@josefsson.org>
37724
37725         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
37726         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37727
37728 2008-04-28  Simon Josefsson  <simon@josefsson.org>
37729
37730         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
37731
37732         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
37733
37734         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
37735
37736         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
37737         declarations.
37738         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
37739
37740         * m4/inet_pton.m4: Don't check for header files.
37741
37742         * m4/inet_ntop.m4: Don't check for header files.
37743
37744 2008-04-28  Simon Josefsson  <simon@josefsson.org>
37745
37746         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
37747         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
37748         trigger for cygwin).
37749         Reported by Bruno Haible  <bruno@clisp.org>.
37750
37751 2008-04-28  Bruno Haible  <bruno@clisp.org>
37752
37753         * doc/posix-functions/strdup.texi: Mention mingw problem.
37754
37755 2008-04-27  Bruno Haible  <bruno@clisp.org>
37756
37757         * modules/stat-time-tests (Depends-on): Add sleep.
37758         * tests/test-stat-time.c (force_unlink): New function.
37759         (cleanup): Use it.
37760         (test_mtime): Remove the ctime related tests.
37761         (test_ctime): New function, containing the ctime related tests.
37762         (main): Call test_ctime, except on native Windows platforms.
37763
37764 2008-04-27  Bruno Haible  <bruno@clisp.org>
37765
37766         * lib/rpmatch.c (rpmatch): Add some comments.
37767         Reported by James Youngman <jay@gnu.org>.
37768
37769 2008-04-27  Bruno Haible  <bruno@clisp.org>
37770
37771         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
37772         quiet NaNs.
37773
37774 2008-04-27  Bruno Haible  <bruno@clisp.org>
37775
37776         Make test-yesno.sh work on mingw.
37777         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
37778         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
37779         (main): Set stdin to binary mode.
37780         * modules/yesno-tests (Depends-on): Add binary-io.
37781
37782 2008-04-27  Bruno Haible  <bruno@clisp.org>
37783
37784         Fix 'isfinite' on x86, x86_64, ia64 platforms.
37785         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
37786         argument that lie outside the IEEE 854 domain.
37787         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
37788         (gl_ISFINITE): Use it.
37789         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
37790
37791 2008-04-27  Bruno Haible  <bruno@clisp.org>
37792
37793         Allow local renaming in config.h.
37794         * lib/memrchr.c (memrchr): Don't undefine outside libc.
37795
37796 2008-04-27  Bruno Haible  <bruno@clisp.org>
37797
37798         * lib/memchr.c (__memchr): Change type of 'i'.
37799         * lib/memchr2.c (memchr2): Likewise.
37800
37801 2008-04-26  Eric Blake  <ebb9@byu.net>
37802         and Bruno Haible  <bruno@clisp.org>
37803
37804         Optimize and test memrchr.
37805         * modules/memrchr (Depends-on): Add intprops.
37806         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
37807         * modules/memrchr-tests: New file.
37808         * tests/test-memrchr.c: New file.
37809
37810 2008-04-26  Bruno Haible  <bruno@clisp.org>
37811
37812         Add tentative support for DragonFly BSD.
37813         * lib/stdio-impl.h: Add macros for DragonFly BSD.
37814         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
37815         fp.
37816         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
37817         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
37818         * lib/fpurge.c (fpurge): Likewise.
37819         * lib/freadable.c (freaadable): Likewise.
37820         * lib/freadahead.c (freadahead): Likewise.
37821         * lib/freading.c (freading): Likewise.
37822         * lib/freadptr.c (freadptr): Likewise.
37823         * lib/freadseek.c (freadptrinc): Likewise.
37824         * lib/fseeko.c (fseeko): Likewise.
37825         * lib/fseterr.c (fseterr): Likewise.
37826         * lib/fwritable.c (fwritable): Likewise.
37827         * lib/fwriting.c (fwriting): Likewise.
37828
37829 2008-04-26  Bruno Haible  <bruno@clisp.org>
37830
37831         * lib/stdio-impl.h: New file.
37832         * lib/fbufmode.c: Include stdio-impl.h.
37833         (fbufmode): Use fp_, remove redundant #defines.
37834         * lib/fflush.c: Include stdio-impl.h.
37835         (clear_ungetc_buffer): Remove redundant #defines.
37836         * lib/fpurge.c: Include stdio-impl.h.
37837         (fpurge): Remove redundant #defines.
37838         * lib/freadable.c: Include stdio-impl.h.
37839         (freadable): Remove redundant #defines.
37840         * lib/freadahead.c: Include stdio-impl.h.
37841         (freadahead): Remove redundant #defines.
37842         * lib/freading.c: Include stdio-impl.h.
37843         (freading): Remove redundant #defines.
37844         * lib/freadptr.c: Include stdio-impl.h.
37845         (freadptr): Remove redundant #defines.
37846         * lib/freadseek.c: Include stdio-impl.h.
37847         (freadptrinc): Remove redundant #defines.
37848         * lib/fseeko.c: Include stdio-impl.h.
37849         (rpl_fseeko): Remove redundant #defines.
37850         * lib/fseterr.c: Include stdio-impl.h.
37851         (fseterr): Remove redundant #defines.
37852         * lib/fwritable.c: Include stdio-impl.h.
37853         (fwritable: Remove redundant #defines.
37854         * lib/fwriting.c: Include stdio-impl.h.
37855         (fwriting): Remove redundant #defines.
37856         * modules/fbufmode (Files): Add lib/stdio-impl.h.
37857         * modules/fflush (Files): Likewise.
37858         * modules/fpurge (Files): Likewise.
37859         * modules/freadable (Files): Likewise.
37860         * modules/freadahead (Files): Likewise.
37861         * modules/freading (Files): Likewise.
37862         * modules/freadptr (Files): Likewise.
37863         * modules/freadseek (Files): Likewise.
37864         * modules/fseeko (Files): Likewise.
37865         * modules/fseterr (Files): Likewise.
37866         * modules/fwritable (Files): Likewise.
37867         * modules/fwriting (Files): Likewise.
37868
37869 2008-04-26  Bruno Haible  <bruno@clisp.org>
37870
37871         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
37872         restore_seek_optimization, update_fpos_cache): New functions, extracted
37873         from rpl_fflush.
37874         (rpl_fflush): Use them.
37875         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
37876         (gl_REPLACE_FFLUSH): Use it.
37877
37878 2008-04-26  Bruno Haible  <bruno@clisp.org>
37879
37880         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
37881         on Solaris.
37882         * tests/test-xstrtoimax.sh: Likewise.
37883         * tests/test-xstrtoumax.sh: Likewise.
37884         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37885
37886 2008-04-26  Bruno Haible  <bruno@clisp.org>
37887
37888         * modules/memchr-tests: New file.
37889         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
37890
37891 2008-04-26  Eric Blake  <ebb9@byu.net>
37892             Bruno Haible  <bruno@clisp.org>
37893
37894         * lib/memchr.c: Include intprops.h.
37895         (__memchr): Optimize parallel detection of matching bytes. Rename local
37896         variables. Add explanatory comments.
37897
37898 2008-04-26  Bruno Haible  <bruno@clisp.org>
37899
37900         Fix module 'memchr', broken since 2000-10-28.
37901         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
37902
37903 2008-04-26  Bruno Haible  <bruno@clisp.org>
37904
37905         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
37906         comments.
37907
37908 2008-04-25  Eric Blake  <ebb9@byu.net>
37909
37910         Use native fstatat on cygwin 1.7.0.
37911         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
37912         first.
37913
37914 2008-04-23  Eric Blake  <ebb9@byu.net>
37915
37916         Improve memchr2 performance.
37917         * lib/memchr2.c (memchr2): Further optimize parallel detection of
37918         NUL bytes.
37919         * modules/memchr2 (Depends-on): Use intprops.h.
37920
37921 2008-04-23  Simon Josefsson  <simon@josefsson.org>
37922
37923         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
37924         an inline function instead of a CPP macro.  Patch by Ben Pfaff
37925         <blp@cs.stanford.edu>.
37926
37927 2008-04-23  Simon Josefsson  <simon@josefsson.org>
37928
37929         * lib/arpa_inet.in.h: New file.
37930
37931         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
37932         (Makefile.am): Sed in substitute header file.
37933
37934         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
37935         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
37936
37937         * modules/inet_ntop (configure.ac): Use
37938         gl_ARPA_INET_MODULE_INDICATOR.
37939
37940         * modules/inet_pton (configure.ac): Use
37941         gl_ARPA_INET_MODULE_INDICATOR.
37942
37943 2008-04-22  Jim Meyering  <meyering@redhat.com>
37944
37945         * modules/verify (License): Re-license as LGPLv2+.
37946
37947 2008-04-22  Simon Josefsson  <simon@josefsson.org>
37948
37949         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
37950         parameter to void* as per POSIX standard (MinGW uses char*).
37951
37952 2008-04-21  Bruno Haible  <bruno@clisp.org>
37953
37954         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
37955         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
37956         Define to replacements if REPLACE_ISWCNTRL is 1.
37957         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
37958         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
37959         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
37960         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
37961         what it fixes.
37962         * doc/posix-functions/iswalpha.texi: Likewise.
37963         * doc/posix-functions/iswblank.texi: Likewise.
37964         * doc/posix-functions/iswcntrl.texi: Likewise.
37965         * doc/posix-functions/iswdigit.texi: Likewise.
37966         * doc/posix-functions/iswgraph.texi: Likewise.
37967         * doc/posix-functions/iswlower.texi: Likewise.
37968         * doc/posix-functions/iswprint.texi: Likewise.
37969         * doc/posix-functions/iswpunct.texi: Likewise.
37970         * doc/posix-functions/iswspace.texi: Likewise.
37971         * doc/posix-functions/iswupper.texi: Likewise.
37972         * doc/posix-functions/iswxdigit.texi: Likewise.
37973         Reported by Alain Guibert.
37974
37975 2008-04-21  Bruno Haible  <bruno@clisp.org>
37976
37977         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
37978         Patch by Alain Guibert.
37979
37980 2008-04-21  Bruno Haible  <bruno@clisp.org>
37981
37982         Fix test failures on mingw.
37983         * tests/test-xstrtol.c (print_no_progname): New function.
37984         (main): Install it in error_print_progname hook.
37985         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
37986         * tests/test-xstrtoimax.sh: Likewise.
37987         * tests/test-xstrtoumax.sh: Likewise.
37988
37989 2008-04-21  Bruno Haible  <bruno@clisp.org>
37990
37991         Fix test failure on mingw.
37992         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
37993
37994 2008-04-21  Bruno Haible  <bruno@clisp.org>
37995
37996         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
37997         Actually assign a value.
37998
37999 2008-04-20  Bruno Haible  <bruno@clisp.org>
38000
38001         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
38002         take 2.
38003         * lib/canonicalize.c (canonicalize_file_name): Elide if the
38004         'canonicalize-lgpl' module is also used.
38005         * lib/canonicalize-lgpl.c: Undo last change.
38006         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
38007
38008 2008-04-20  Bruno Haible  <bruno@clisp.org>
38009
38010         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
38011         config.h. Provide _mkdir based fallback for mingw.
38012         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
38013         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
38014         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
38015         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
38016         rather than defining mkdir in config.h.
38017         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
38018         (gl_SYS_STAT_H_DEFAULTS): New macro.
38019         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
38020         HAVE_IO_H any more.
38021         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
38022         HAVE_DECL_MKDIR and HAVE_IO_H.
38023
38024 2008-04-20  Bruno Haible  <bruno@clisp.org>
38025
38026         * lib/isapipe.c: Port to native Windows platforms.
38027
38028 2008-04-20  Bruno Haible  <bruno@clisp.org>
38029
38030         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
38031
38032 2008-04-21  Eric Blake  <ebb9@byu.net>
38033
38034         Work around preprocessors that don't handle UINTMAX_MAX.
38035         * lib/memchr2.c (memchr2): Avoid embedded #if.
38036         Reported by Alain Guibert, fix suggested by Bruno Haible.
38037
38038 2008-04-21  Simon Josefsson  <simon@josefsson.org>
38039
38040         * doc/posix-functions/strftime.texi (strftime): Explain better
38041         Windows incompatibility.  Suggested by Micah Cowan
38042         <micah@cowan.name>.
38043
38044 2008-04-20  Bruno Haible  <bruno@clisp.org>
38045
38046         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
38047         unistr/u8-mblen.
38048
38049 2008-04-20  Bruno Haible  <bruno@clisp.org>
38050
38051         Fix test failure on platforms with non-GNU iconv.
38052         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
38053         (U_TO_U8): Use it, rather than u16_to_u8.
38054         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
38055         units at the end of the input string.
38056         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
38057
38058 2008-04-20  Bruno Haible  <bruno@clisp.org>
38059
38060         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
38061         when the resulting length is 0.
38062         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
38063
38064 2008-04-20  Bruno Haible  <bruno@clisp.org>
38065
38066         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
38067         works.
38068         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
38069
38070 2008-04-20  Bruno Haible  <bruno@clisp.org>
38071
38072         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
38073         * modules/tsearch-tests (configure.ac): Test for initstate function.
38074
38075 2008-04-20  Bruno Haible  <bruno@clisp.org>
38076
38077         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
38078         for nlink_t if missing.
38079         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
38080
38081 2008-04-19  Bruno Haible  <bruno@clisp.org>
38082
38083         Work around snprintf bug on Linux libc5.
38084         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
38085         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
38086         gl_SNPRINTF_SIZE1.
38087         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38088         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
38089         that test failed.
38090         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
38091         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
38092         * modules/snprintf (Files): Add m4/printf.m4.
38093         * modules/vsnprintf (Files): Likewise.
38094         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
38095         * doc/posix-functions/vsnprintf.texi: Likewise.
38096
38097 2008-04-19  Bruno Haible  <bruno@clisp.org>
38098
38099         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
38100         from 0.0058 to less than 10^-7.
38101
38102 2008-04-19  Bruno Haible  <bruno@clisp.org>
38103
38104         Fix rounding when a precision is given.
38105         * lib/vasnprintf.c (is_borderline): New function.
38106         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
38107         9...9x.
38108         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
38109         %e, %g.
38110         * tests/test-vasprintf-posix.c (test_function): Likewise.
38111         * tests/test-snprintf-posix.h (test_function): Likewise.
38112         * tests/test-sprintf-posix.h (test_function): Likewise.
38113         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
38114         * tests/test-printf-posix.h (test_function): Likewise.
38115         * tests/test-printf-posix.output: Update.
38116         Reported by John Darrington <john@darrington.wattle.id.au> via
38117         Ben Pfaff <blp@cs.stanford.edu>.
38118
38119 2008-04-18  Simon Josefsson  <simon@josefsson.org>
38120
38121         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
38122         Suggested by Bruno Haible <bruno@clisp.org>.
38123
38124 2008-04-17  Bruno Haible  <bruno@clisp.org>
38125
38126         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
38127         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
38128         implementation.
38129         Patch by Bruce Merry <bmerry@gmail.com>.
38130
38131 2008-04-17  Simon Josefsson  <simon@josefsson.org>
38132
38133         * doc/posix-functions/strftime.texi (strftime): Mention that %e
38134         doesn't work under Windows.
38135
38136 2008-04-16  Bruno Haible  <bruno@clisp.org>
38137
38138         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
38139         New macros.
38140         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
38141         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
38142         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
38143         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
38144         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
38145         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
38146         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
38147         macros.
38148         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
38149         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
38150         Northern Sotho, Uighur.
38151
38152 2008-04-16  Bruno Haible  <bruno@clisp.org>
38153
38154         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
38155         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
38156         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
38157         Reported by Daniel Bergström <daniel@octocode.com>.
38158
38159 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
38160             Bruno Haible  <bruno@clisp.org>
38161
38162         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
38163         function.
38164         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
38165         New functions, mostly extracted from gl_locale_name_default.
38166         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
38167
38168 2008-04-16  Eric Blake  <ebb9@byu.net>
38169
38170         Adjust strtod detection to catch glibc 2.7 bug.
38171         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
38172         Reported by John Gatewood Ham.
38173
38174 2008-04-16  Bruno Haible  <bruno@clisp.org>
38175
38176         Add tentative support for Linux libc5.
38177         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
38178         * lib/fpurge.c (fpurge): Likewise.
38179         * lib/freadable.c (freadable): Likewise.
38180         * lib/freadahead.c (freadahead): Likewise.
38181         * lib/freading.c (freading): Likewise.
38182         * lib/freadptr.c (freadptr): Likewise.
38183         * lib/freadseek.c (freadptrinc): Likewise.
38184         * lib/fseeko.c (rpl_fseeko): Likewise.
38185         * lib/fseterr.c (fseterr): Likewise.
38186         * lib/fwritable.c (fwritable): Likewise.
38187         * lib/fwriting.c (fwriting): Likewise.
38188         Reported by Alain Guibert <alguibert+bts@free.fr>.
38189
38190 2008-04-15  Bruno Haible  <bruno@clisp.org>
38191
38192         * modules/mathl (configure.ac): Define module indicator.
38193
38194 2008-04-15  Bruno Haible  <bruno@clisp.org>
38195
38196         * lib/logl.c (logl): Remove unused variables.
38197
38198 2008-04-15  Bruno Haible  <bruno@clisp.org>
38199
38200         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
38201         fails.
38202
38203 2008-04-15  Bruno Haible  <bruno@clisp.org>
38204
38205         * lib/trim.c (trim2): Fix argument of isspace() macro.
38206
38207 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
38208
38209         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
38210         to 0.
38211         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
38212
38213 2008-04-14  Bruno Haible  <bruno@clisp.org>
38214
38215         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
38216         AC_LANG_PROGRAM argument.
38217         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
38218         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
38219         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
38220         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
38221         * m4/math_h.m4 (gl_MATH_H): Likewise.
38222         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
38223         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
38224         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
38225         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
38226         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
38227         * m4/regex.m4 (gl_REGEX): Likewise.
38228         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
38229         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
38230         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
38231         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
38232         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
38233         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
38234         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38235         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
38236
38237 2008-04-14  Jim Meyering  <meyering@redhat.com>
38238
38239         test-strtod: fix typos: s/abs/fabs/
38240         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
38241
38242 2008-04-13  Bruno Haible  <bruno@clisp.org>
38243
38244         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
38245         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
38246         module is also used and while not building the reloc-wrapper.
38247
38248 2008-04-13  Bruno Haible  <bruno@clisp.org>
38249
38250         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
38251
38252 2008-04-13  Bruno Haible  <bruno@clisp.org>
38253
38254         Fix AIX compilation failure introduced on 2008-04-02.
38255         * tests/test-frexp.c (exp): Undefine before redefining.
38256         * tests/test-frexpl.c (exp): Likewise.
38257
38258 2008-04-13  Bruno Haible  <bruno@clisp.org>
38259
38260         Work around a HP-UX stdio bug.
38261         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
38262         * tests/test-ftello.c (main): Likewise.
38263         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
38264         * doc/posix-functions/ftello.texi: Likewise.
38265
38266 2008-04-13  Bruno Haible  <bruno@clisp.org>
38267
38268         Make test-signbit pass on HP-UX/hppa.
38269         * tests/test-signbit.c (minus_zerol): New variable.
38270         (test_signbitl): Use it.
38271
38272 2008-04-13  Bruno Haible  <bruno@clisp.org>
38273
38274         Make truncl work on OSF/1 4.0.
38275         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
38276         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
38277         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
38278         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
38279         HAVE_DECL_TRUNCL.
38280         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
38281         HAVE_DECL_TRUNCL.
38282         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
38283
38284 2008-04-13  Bruno Haible  <bruno@clisp.org>
38285
38286         * lib/unictype.h: Remove trailing comma from enumeration definitions.
38287
38288 2008-04-13  Bruno Haible  <bruno@clisp.org>
38289
38290         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
38291         expression, so as to avoid HP-UX 11 cc compiler bug.
38292
38293 2008-04-13  Bruno Haible  <bruno@clisp.org>
38294
38295         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
38296
38297 2008-04-13  Bruno Haible  <bruno@clisp.org>
38298
38299         * lib/git-merge-changelog.c: Remove empty declaration outside of
38300         functions.
38301
38302 2008-04-13  Bruno Haible  <bruno@clisp.org>
38303
38304         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
38305
38306 2008-04-13  Bruno Haible  <bruno@clisp.org>
38307
38308         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
38309         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
38310         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
38311         also if it exists but lacks definitions of the SHUT_* macros.
38312         * modules/sys_socket (Description): Update.
38313         Reported by Elbert Pol <e.pol@chello.nl>.
38314
38315 2008-04-13  Bruno Haible  <bruno@clisp.org>
38316
38317         * lib/localcharset.c (OS2): Don't redefine if already defined.
38318         Reported by Elbert Pol <e.pol@chello.nl>.
38319
38320 2008-04-13  Bruno Haible  <bruno@clisp.org>
38321
38322         * lib/binary-io.h [__EMX__]: Include <io.h>.
38323         Reported by Elbert Pol <e.pol@chello.nl>.
38324
38325 2008-04-12  Bruno Haible  <bruno@clisp.org>
38326
38327         * lib/fpucw.h: Enable the definitions also for x86_64.
38328         Needed for NetBSD/x86_64.
38329         Reported by Thomas Klausner <tk@giga.or.at>.
38330
38331 2008-04-12  Bruno Haible  <bruno@clisp.org>
38332
38333         * tests/test-strtod.c: Include isnand.h.
38334         (main): Use isnand instead of isnan.
38335         Reported by Jim Meyering.
38336
38337 2008-04-12  Bruno Haible  <bruno@clisp.org>
38338
38339         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
38340         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
38341
38342 2008-04-12  Jim Meyering  <meyering@redhat.com>
38343
38344         * m4/math_h.m4 (gl_MATH_H): Fix typos.
38345
38346 2008-04-12  Bruno Haible  <bruno@clisp.org>
38347
38348         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
38349         Reported by Elbert Pol <e.pol@chello.nl>.
38350
38351 2008-04-12  Eric Blake  <ebb9@byu.net>
38352
38353         Work around Solaris 10 math.h bug.
38354         * m4/math_h.m4 (gl_MATH_H): Check for bug.
38355         (gl_MATH_H_DEFAULTS): Set up default.
38356         * modules/math (Makefile.am): Replace new indicators.
38357         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
38358         * tests/test-math.c (main): Test this.
38359         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
38360         * doc/posix-headers/math.texi (math.h): Mention bug.
38361         Reported by Nelson H. F. Beebe and Jim Meyering.
38362
38363 2008-04-11  Bruno Haible  <bruno@clisp.org>
38364
38365         Adapt to future versions of Apple GCC.
38366         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
38367         Reported by Peter O'Gorman <peter@pogma.com>.
38368
38369 2008-04-11  Bruno Haible  <bruno@clisp.org>
38370
38371         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
38372
38373 2008-04-11  Bruno Haible  <bruno@clisp.org>
38374
38375         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
38376
38377         * modules/getaddrinfo-tests (Makefile.am): Define
38378         test_getaddrinfo_LDADD.
38379
38380 2008-04-11  Bruno Haible  <bruno@clisp.org>
38381
38382         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
38383         (init): Fix syntax error.
38384         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
38385         is declared.
38386
38387 2008-04-11  Bruno Haible  <bruno@clisp.org>
38388
38389         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
38390         * modules/glob (Depends-on): Add stdbool.
38391
38392 2008-04-11  Bruno Haible  <bruno@clisp.org>
38393
38394         * lib/trim.c: Include <string.h>.
38395
38396 2008-04-11  Eric Blake  <ebb9@byu.net>
38397
38398         Avoid compile failure on OS/2.
38399         * lib/regex_internal.h (internal_function): Disable optimization
38400         on OS/2 (__EMX__), where it caused compiler error.
38401         Reported by Elbert Pol.
38402
38403 2008-04-11  Bruno Haible  <bruno@clisp.org>
38404
38405         Flush the standard error stream before aborting. Needed on mingw.
38406         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
38407         * tests/test-array_list.c (ASSERT): Likewise.
38408         * tests/test-array_oset.c (ASSERT): Likewise.
38409         * tests/test-avltree_list.c (ASSERT): Likewise.
38410         * tests/test-avltree_oset.c (ASSERT): Likewise.
38411         * tests/test-avltreehash_list.c (ASSERT): Likewise.
38412         * tests/test-binary-io.c (ASSERT): Likewise.
38413         * tests/test-byteswap.c (ASSERT): Likewise.
38414         * tests/test-c-ctype.c (ASSERT): Likewise.
38415         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
38416         * tests/test-c-strcasestr.c (ASSERT): Likewise.
38417         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
38418         * tests/test-c-strstr.c (ASSERT): Likewise.
38419         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
38420         * tests/test-canonicalize.c (ASSERT): Likewise.
38421         * tests/test-carray_list.c (ASSERT): Likewise.
38422         * tests/test-ceilf1.c (ASSERT): Likewise.
38423         * tests/test-ceilf2.c (ASSERT): Likewise.
38424         * tests/test-ceill.c (ASSERT): Likewise.
38425         * tests/test-count-one-bits.c (ASSERT): Likewise.
38426         * tests/test-fbufmode.c (ASSERT): Likewise.
38427         * tests/test-fflush2.c (ASSERT): Likewise.
38428         * tests/test-floorf1.c (ASSERT): Likewise.
38429         * tests/test-floorf2.c (ASSERT): Likewise.
38430         * tests/test-floorl.c (ASSERT): Likewise.
38431         * tests/test-fopen.c (ASSERT): Likewise.
38432         * tests/test-fpending.c (ASSERT): Likewise.
38433         * tests/test-fprintf-posix.c (ASSERT): Likewise.
38434         * tests/test-fpurge.c (ASSERT): Likewise.
38435         * tests/test-freadable.c (ASSERT): Likewise.
38436         * tests/test-freadahead.c (ASSERT): Likewise.
38437         * tests/test-freading.c (ASSERT): Likewise.
38438         * tests/test-freadptr.c (ASSERT): Likewise.
38439         * tests/test-freadptr2.c (ASSERT): Likewise.
38440         * tests/test-freadseek.c (ASSERT): Likewise.
38441         * tests/test-freopen.c (ASSERT): Likewise.
38442         * tests/test-frexp.c (ASSERT): Likewise.
38443         * tests/test-frexpl.c (ASSERT): Likewise.
38444         * tests/test-fseek.c (ASSERT): Likewise.
38445         * tests/test-fseeko.c (ASSERT): Likewise.
38446         * tests/test-fstrcmp.c (ASSERT): Likewise.
38447         * tests/test-ftell.c (ASSERT): Likewise.
38448         * tests/test-ftello.c (ASSERT): Likewise.
38449         * tests/test-func.c (ASSERT): Likewise.
38450         * tests/test-fwritable.c (ASSERT): Likewise.
38451         * tests/test-fwriting.c (ASSERT): Likewise.
38452         * tests/test-getdelim.c (ASSERT): Likewise.
38453         * tests/test-getline.c (ASSERT): Likewise.
38454         * tests/test-i-ring.c (ASSERT): Likewise.
38455         * tests/test-iconv-utf.c (ASSERT): Likewise.
38456         * tests/test-iconv.c (ASSERT): Likewise.
38457         * tests/test-isfinite.c (ASSERT): Likewise.
38458         * tests/test-isnand.c (ASSERT): Likewise.
38459         * tests/test-isnanf.c (ASSERT): Likewise.
38460         * tests/test-isnanl.h (ASSERT): Likewise.
38461         * tests/test-ldexpl.c (ASSERT): Likewise.
38462         * tests/test-linked_list.c (ASSERT): Likewise.
38463         * tests/test-linkedhash_list.c (ASSERT): Likewise.
38464         * tests/test-localename.c (ASSERT): Likewise.
38465         * tests/test-lseek.c (ASSERT): Likewise.
38466         * tests/test-mbscasecmp.c (ASSERT): Likewise.
38467         * tests/test-mbscasestr1.c (ASSERT): Likewise.
38468         * tests/test-mbscasestr2.c (ASSERT): Likewise.
38469         * tests/test-mbscasestr3.c (ASSERT): Likewise.
38470         * tests/test-mbscasestr4.c (ASSERT): Likewise.
38471         * tests/test-mbschr.c (ASSERT): Likewise.
38472         * tests/test-mbscspn.c (ASSERT): Likewise.
38473         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
38474         * tests/test-mbspbrk.c (ASSERT): Likewise.
38475         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
38476         * tests/test-mbsrchr.c (ASSERT): Likewise.
38477         * tests/test-mbsspn.c (ASSERT): Likewise.
38478         * tests/test-mbsstr1.c (ASSERT): Likewise.
38479         * tests/test-mbsstr2.c (ASSERT): Likewise.
38480         * tests/test-mbsstr3.c (ASSERT): Likewise.
38481         * tests/test-memchr2.c (ASSERT): Likewise.
38482         * tests/test-memmem.c (ASSERT): Likewise.
38483         * tests/test-open.c (ASSERT): Likewise.
38484         * tests/test-printf-frexp.c (ASSERT): Likewise.
38485         * tests/test-printf-frexpl.c (ASSERT): Likewise.
38486         * tests/test-printf-posix.c (ASSERT): Likewise.
38487         * tests/test-quotearg.c (ASSERT): Likewise.
38488         * tests/test-rbtree_list.c (ASSERT): Likewise.
38489         * tests/test-rbtree_oset.c (ASSERT): Likewise.
38490         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
38491         * tests/test-round1.c (ASSERT): Likewise.
38492         * tests/test-roundf1.c (ASSERT): Likewise.
38493         * tests/test-roundl.c (ASSERT): Likewise.
38494         * tests/test-signbit.c (ASSERT): Likewise.
38495         * tests/test-sleep.c (ASSERT): Likewise.
38496         * tests/test-snprintf-posix.c (ASSERT): Likewise.
38497         * tests/test-snprintf.c (ASSERT): Likewise.
38498         * tests/test-sprintf-posix.c (ASSERT): Likewise.
38499         * tests/test-stat-time.c (ASSERT): Likewise.
38500         * tests/test-strcasestr.c (ASSERT): Likewise.
38501         * tests/test-strerror.c (ASSERT): Likewise.
38502         * tests/test-striconv.c (ASSERT): Likewise.
38503         * tests/test-striconveh.c (ASSERT): Likewise.
38504         * tests/test-striconveha.c (ASSERT): Likewise.
38505         * tests/test-strsignal.c (ASSERT): Likewise.
38506         * tests/test-strstr.c (ASSERT): Likewise.
38507         * tests/test-strtod.c (ASSERT): Likewise.
38508         * tests/test-trunc1.c (ASSERT): Likewise.
38509         * tests/test-trunc2.c (ASSERT): Likewise.
38510         * tests/test-truncf1.c (ASSERT): Likewise.
38511         * tests/test-truncf2.c (ASSERT): Likewise.
38512         * tests/test-truncl.c (ASSERT): Likewise.
38513         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
38514         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
38515         * tests/test-vasnprintf.c (ASSERT): Likewise.
38516         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
38517         * tests/test-vasprintf.c (ASSERT): Likewise.
38518         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
38519         * tests/test-vprintf-posix.c (ASSERT): Likewise.
38520         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
38521         * tests/test-vsnprintf.c (ASSERT): Likewise.
38522         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
38523         * tests/test-wcwidth.c (ASSERT): Likewise.
38524         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
38525         * tests/test-xprintf-posix.c (ASSERT): Likewise.
38526         * tests/test-xvasprintf.c (ASSERT): Likewise.
38527         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
38528         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
38529         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
38530         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
38531         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
38532         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
38533         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
38534         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
38535         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
38536         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
38537         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
38538         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
38539         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
38540         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
38541         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
38542         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
38543         * tests/unictype/test-block_list.c (ASSERT): Likewise.
38544         * tests/unictype/test-block_of.c (ASSERT): Likewise.
38545         * tests/unictype/test-block_test.c (ASSERT): Likewise.
38546         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
38547         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
38548         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
38549         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
38550         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
38551         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
38552         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
38553         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
38554         * tests/unictype/test-combining.c (ASSERT): Likewise.
38555         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
38556         * tests/unictype/test-digit.c (ASSERT): Likewise.
38557         * tests/unictype/test-mirror.c (ASSERT): Likewise.
38558         * tests/unictype/test-numeric.c (ASSERT): Likewise.
38559         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
38560         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
38561         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
38562         * tests/unictype/test-scripts.c (ASSERT): Likewise.
38563         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
38564         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
38565         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
38566         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
38567         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
38568         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
38569         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
38570         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
38571         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
38572         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
38573         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
38574         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
38575         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
38576         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
38577         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
38578         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
38579         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
38580         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
38581         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
38582         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
38583         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
38584         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
38585         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
38586         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
38587         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
38588         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
38589         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
38590         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
38591         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
38592         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
38593         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
38594         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
38595         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
38596         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
38597         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
38598         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
38599         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
38600         Reported by Eric Blake.
38601
38602 2008-04-11  Bruno Haible  <bruno@clisp.org>
38603
38604         * lib/wchar.in.h: Tweak comment.
38605
38606 2008-04-11  Bruno Haible  <bruno@clisp.org>
38607
38608         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
38609         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
38610         gl_COMMON.
38611         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
38612
38613 2008-04-11  Bruno Haible  <bruno@clisp.org>
38614
38615         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
38616
38617 2008-04-11  Simon Josefsson  <simon@josefsson.org>
38618
38619         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
38620         of attempting to use non-existing /dev/*random.  Based on patch
38621         from Adam Strzelecki <ono@java.pl> in
38622         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
38623
38624 2008-04-08  Bruno Haible  <bruno@clisp.org>
38625
38626         Add tentative support for emx+gcc.
38627         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
38628         * lib/fpurge.c (fpurge): Likewise.
38629         * lib/freadable.c (freadable): Likewise.
38630         * lib/freadahead.c (freadahead): Likewise.
38631         * lib/freading.c (freading): Likewise.
38632         * lib/freadptr.c (freadptr): Likewise.
38633         * lib/freadseek.c (freadptrinc): Likewise.
38634         * lib/fseeko.c (rpl_fseeko): Likewise.
38635         * lib/fseterr.c (fseterr): Likewise.
38636         * lib/fwritable.c (fwritable): Likewise.
38637         * lib/fwriting.c (fwriting): Likewise.
38638         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
38639
38640 2008-04-09  Eric Blake  <ebb9@byu.net>
38641
38642         Avoid some autoconf warnings.
38643         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
38644         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
38645         * m4/afs.m4 (gl_AFS): Likewise.
38646         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
38647         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
38648         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
38649         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
38650         (gl_INTEGER_TYPE_SUFFIX): Likewise.
38651         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
38652         (AC_CHECK_DECLS_ONCE): Likewise.
38653         Rename file...
38654         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
38655         gnulib-tool requires autoconf 2.59 or better.
38656         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
38657
38658 2008-04-08  Eric Blake  <ebb9@byu.net>
38659
38660         Use 'git describe --match' if present (added in git 1.5.5).
38661         * build-aux/git-version-gen: Limit result to tags that match 'v*'
38662         if possible.
38663
38664 2008-04-08  Bruno Haible  <bruno@clisp.org>
38665
38666         Add tentative support for OpenServer.
38667         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
38668         _ptr, _cnt.
38669         * lib/fpurge.c (fpurge): Likewise.
38670         * lib/freadable.c (freadable): Likewise.
38671         * lib/freadahead.c (freadahead): Likewise.
38672         * lib/freading.c (freading): Likewise.
38673         * lib/freadptr.c (freadptr): Likewise.
38674         * lib/freadseek.c (freadptrinc): Likewise.
38675         * lib/fseeko.c (rpl_fseeko): Likewise.
38676         * lib/fseterr.c (fseterr): Likewise.
38677         * lib/fwritable.c (fwritable): Likewise.
38678         * lib/fwriting.c (fwriting): Likewise.
38679         Reported by Roger Cornelius <rac@tenzing.org> and
38680         Brian K. White <brian@aljex.com>.
38681
38682 2008-04-06  Jim Meyering  <meyering@redhat.com>
38683
38684         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
38685
38686 2008-04-06  Bruno Haible  <bruno@clisp.org>
38687
38688         Avoid possible error with non-ASCII bytes in UTF-8 locales.
38689         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
38690         * tests/test-printf-posix.sh: Likewise.
38691         * tests/test-vfprintf-posix.sh: Likewise.
38692         * tests/test-vprintf-posix.sh: Likewise.
38693         * tests/test-xprintf-posix.sh: Likewise.
38694
38695 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38696
38697         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
38698         hide error from 'ls', needed on OS/2.
38699         Report by Elbert Pol <elbert.pol@gmail.com>.
38700
38701 2008-04-04  Eric Blake  <ebb9@byu.net>
38702
38703         Make test-fseeko.c failures meaningful.
38704         * tests/test-fseeko.c: Print line number on failure.
38705         * tests/test-fseek.c: Likewise.
38706         Reported by Nelson H. F. Beebe.
38707
38708         Improve strtod bug detection check.
38709         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
38710         required for Solaris 10.
38711         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
38712
38713 2008-04-04  Bruno Haible  <bruno@clisp.org>
38714
38715         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
38716         by m4/setenv.m4.
38717
38718 2008-04-03  Eric Blake  <ebb9@byu.net>
38719
38720         Ensure sane .version contents.
38721         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
38722         version string.
38723         * build-aux/git-version-gen: Improve documentation.
38724
38725         Make GNU make output nicer.
38726         * top/GNUmakefile [!_have-Makefile]: Add dependency on
38727         MAKECMDGOALS to enforce message for all command line targets.  Set
38728         srcdir for use in maint.mk.
38729
38730         Another maintainer tweak.
38731         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
38732         a target that regenerates version.
38733
38734 2008-04-03  Jim Meyering  <meyering@redhat.com>
38735
38736         vc-list-files: don't cause coreutils "make po-check" failure
38737         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
38738
38739 2008-04-03  Eric Blake  <ebb9@byu.net>
38740
38741         Allow VPATH usage of vc-list-files.
38742         * build-aux/vc-list-files (scriptversion): Add timestamp.
38743         (options): Add --help, --version, -C.
38744         (CVS): Support installed cvsu.
38745
38746 2008-04-02  Bruno Haible  <bruno@clisp.org>
38747
38748         Avoid some "statement with no effect" warnings from gcc.
38749         * tests/test-wctype.c (main): Explicitly ignore unused values.
38750         Reported by Jim Meyering.
38751
38752 2008-04-02  Jim Meyering  <meyering@redhat.com>
38753
38754         Avoid some warnings from "gcc -Wshadow".
38755         * tests/test-frexp.c (exp): Define to a different identifier.
38756         * tests/test-frexpl.c (exp): Likewise.
38757
38758 2008-04-03  Jim Meyering  <meyering@redhat.com>
38759
38760         bootstrap: remove dangling *.[ch] symlinks from lib
38761         * build-aux/bootstrap [dangling symlink removal]: Move find's
38762         -depth option to precede all others, to avoid a warning.
38763         Remove *.[ch] files too, and from "$source_base" (usually lib/).
38764
38765 2008-04-02  Bruno Haible  <bruno@clisp.org>
38766
38767         Avoid some warnings from "gcc -Wshadow".
38768         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
38769         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
38770         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
38771         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
38772         Reported by Jim Meyering.
38773
38774 2008-04-01  Bruno Haible  <bruno@clisp.org>
38775
38776         Fix test to work on IRIX 6.5 with cc.
38777         * tests/test-math.c (numeric_equal): New function.
38778         (main): Use it.
38779
38780 2008-04-01  Bruno Haible  <bruno@clisp.org>
38781
38782         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
38783
38784 2008-04-01  Bruno Haible  <bruno@clisp.org>
38785
38786         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
38787         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
38788         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
38789         (Depends-on): Remove math.
38790
38791         * tests/test-vasprintf-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/vasprintf-posix-tests (Files): Add tests/nan.h.
38794         (Depends-on): Remove math.
38795
38796         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
38797         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
38798         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
38799         (Depends-on): Remove math.
38800         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
38801         (Depends-on): Remove math.
38802
38803         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
38804         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
38805         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
38806         (Depends-on): Remove math.
38807         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
38808         (Depends-on): Remove math.
38809
38810         * tests/test-round1.c: Include nan.h.
38811         (main): Use NaNd instead of NAN.
38812         * modules/round-tests (Files): Add tests/nan.h.
38813
38814         * tests/test-trunc1.c: Include nan.h.
38815         (main): Use NaNd instead of NAN.
38816         * modules/trunc-tests (Files): Add tests/nan.h.
38817
38818         * tests/test-roundf1.c: Include nan.h.
38819         (main): Use NaNf instead of NAN.
38820         * modules/roundf-tests (Files): Add tests/nan.h.
38821
38822         * tests/test-truncf1.c: Include nan.h.
38823         (main): Use NaNf instead of NAN.
38824         * modules/truncf-tests (Files): Add tests/nan.h.
38825
38826         * tests/test-ceilf1.c: Include nan.h.
38827         (main): Use NaNf instead of NAN.
38828         * modules/ceilf-tests (Files): Add tests/nan.h.
38829
38830         * tests/test-floorf1.c: Include nan.h.
38831         (main): Use NaNf instead of NAN.
38832         * modules/floorf-tests (Files): Add tests/nan.h.
38833
38834         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
38835         (main): Use NaNf instead of NAN.
38836         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
38837
38838         * tests/test-isnand.c: Include nan.h instead of <math.h>.
38839         (main): Use NaNd instead of NAN.
38840         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
38841
38842         * tests/test-frexp.c: Include nan.h.
38843         (main): Use NaNd instead of NAN.
38844         * modules/frexp-tests (Files): Add tests/nan.h.
38845
38846         * lib/isnan.c: Don't include <math.h>.
38847         (FUNC): Don't use NAN macro.
38848         * modules/isnand-nolibm (Depends-on): Remove math.
38849         * modules/isnanf-nolibm (Depends-on): Remove math.
38850         * modules/isnanl (Depends-on): Remove math.
38851         * modules/isnanl-nolibm (Depends-on): Remove math.
38852
38853         * tests/nan.h: New file.
38854
38855 2008-04-01  Eric Blake  <ebb9@byu.net>
38856
38857         Fix typos.
38858         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
38859         values to be the right type.
38860
38861         For now, cater to gnulib strtod inaccuracies.
38862         * tests/test-strtod.c (main): Allow 1-ulp error on expected
38863         fractional results.  While not as nice from a QoI perspective, it
38864         is a quicker patch than correctly implementing decimal to binary
38865         rounding.
38866
38867 2008-03-31  Eric Blake  <ebb9@byu.net>
38868
38869         Guarantee a definition of NAN.
38870         * lib/math.in.h (NAN): Define if missing.
38871         * tests/test-math.c (main): Test it.
38872         * doc/posix-headers/math.texi (math.h): Document this.
38873         * lib/isnan.c (rpl_isnand): Use it.
38874         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
38875         * tests/test-floorf1.c (NaN): Likewise.
38876         * tests/test-frexp.c (NaN): Likewise.
38877         * tests/test-isnand.c (NaN): Likewise.
38878         * tests/test-isnanf.c (NaN): Likewise.
38879         * tests/test-round1.c (NaN): Likewise.
38880         * tests/test-roundf1.c (NaN): Likewise.
38881         * tests/test-snprintf-posix.h (NaN): Likewise.
38882         * tests/test-sprintf-posix.h (NaN): Likewise.
38883         * tests/test-trunc1.c (NaN): Likewise.
38884         * tests/test-truncf1.c (NaN): Likewise.
38885         * tests/test-vasnprintf-posix.c (NaN): Likewise.
38886         * tests/test-vasprintf-posix.c (NaN): Likewise.
38887         * modules/isnand-nolibm (Depends-on): Add math.
38888         * modules/isnanf-nolibm (Depends-on): Likewise.
38889         * modules/isnanl (Depends-on): Likewise.
38890         * modules/isnanl-nolibm (Depends-on): Likewise.
38891         * modules/snprintf-posix-tests (Depends-on): Likewise.
38892         * modules/sprintf-posix-tests (Depends-on): Likewise.
38893         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
38894         * modules/vsprintf-posix-tests (Depends-on): Likewise.
38895         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
38896         * modules/vasprintf-posix-tests (Depends-on): Likewise.
38897
38898 2008-03-31  Bruno Haible  <bruno@clisp.org>
38899
38900         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
38901         * doc/posix-functions/strtod.texi: Likewise.
38902
38903 2008-03-31  Bruno Haible  <bruno@clisp.org>
38904
38905         * tests/test-strtod.c (main): Don't use C99 syntax.
38906
38907 2008-03-31  Bruno Haible  <bruno@clisp.org>
38908
38909         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
38910         Reported by Eric Blake.
38911
38912 2008-03-31  Jim Meyering  <meyering@redhat.com>
38913
38914         Don't compare actual signbit return values.
38915         * tests/test-strtod.c (main): Rather, compare only their
38916         zero/non-zero nature.
38917
38918 2008-03-31  Eric Blake  <ebb9@byu.net>
38919
38920         More strtod documentation.
38921         * doc/posix-functions/strtod.texi (strtod): Interpret more test
38922         failures as distinct bugs.
38923
38924 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
38925
38926         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
38927         Problem reported by Erik Benada in
38928         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
38929
38930 2008-03-30  Bruno Haible  <bruno@clisp.org>
38931
38932         * tests/test-strtod.c: Add comments about which assertion fails on which
38933         platform.
38934         * doc/posix-functions/strtod.texi: Add info about many more platforms.
38935
38936 2008-03-30  Eric Blake  <ebb9@byu.net>
38937
38938         Test signbit behavior on zeros.
38939         * tests/test-signbit.c (test_signbitf): Add tests for zero.
38940         (test_signbitd, test_signbitl): Likewise.
38941
38942         More strtod touchups.
38943         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
38944         sign of negative underflow, for now.  Use .5, not .1.
38945         * doc/posix-functions/strtod.texi (strtod): Mention these
38946         limitations.
38947         Reported by Jim Meyering.
38948
38949 2008-03-30  Bruno Haible  <bruno@clisp.org>
38950
38951         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
38952         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
38953
38954 2008-03-30  Bruno Haible  <bruno@clisp.org>
38955
38956         Avoid failure when attempting to return empty iconv results on some
38957         platforms.
38958         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
38959         allocation, don't report ENOMEM when the resulting string is empty.
38960
38961 2008-03-30  Bruno Haible  <bruno@clisp.org>
38962
38963         Fix buffer overrun.
38964         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
38965         Don't consider the width for tmp_length. Check count against tmp_length
38966         before doing the padding. Ensure enough allocation during padding.
38967
38968 2008-03-30  Eric Blake  <ebb9@byu.net>
38969
38970         strtod touchups.
38971         * lib/strtod.c (strtod): Avoid compiler warnings.
38972         Reported by Jim Meyering.
38973
38974 2008-03-30  Bruno Haible  <bruno@clisp.org>
38975
38976         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
38977         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
38978         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
38979         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
38980         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
38981         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
38982         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
38983         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
38984
38985         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
38986         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
38987         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
38988         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
38989         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
38990         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
38991         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
38992         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
38993
38994         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
38995         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
38996         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
38997         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
38998         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
38999         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
39000         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
39001         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
39002
39003         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
39004         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
39005
39006         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
39007         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
39008
39009         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
39010         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
39011
39012         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
39013         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
39014         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
39015
39016         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
39017         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
39018         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
39019
39020         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
39021         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
39022         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
39023
39024         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
39025         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
39026         * modules/vasprintf (Depends-on): Add EOVERFLOW.
39027
39028         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
39029         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
39030         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
39031         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
39032         (Depends-on): Add EOVERFLOW.
39033         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
39034         (Depends-on): Add EOVERFLOW.
39035         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
39036         (Depends-on): Add EOVERFLOW.
39037         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
39038         (Depends-on): Add EOVERFLOW.
39039         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
39040         (Depends-on): Add EOVERFLOW.
39041         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
39042         (Depends-on): Add EOVERFLOW.
39043         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
39044         (Depends-on): Add EOVERFLOW.
39045         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
39046         (Depends-on): Add EOVERFLOW.
39047
39048         * lib/sprintf.c (EOVERFLOW): Remove fallback.
39049         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
39050         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
39051
39052         * lib/snprintf.c (EOVERFLOW): Remove fallback.
39053         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
39054         * modules/snprintf (Depends-on): Add EOVERFLOW.
39055
39056         * lib/poll.c (EOVERFLOW): Remove fallback.
39057         * modules/poll (Depends-on): Add EOVERFLOW.
39058
39059         * lib/getugroups.c (EOVERFLOW): Remove fallback.
39060         * modules/getugroups (Depends-on): Add EOVERFLOW.
39061
39062         * lib/getdelim.c (EOVERFLOW): Remove fallback.
39063         * modules/getdelim (Depends-on): Add EOVERFLOW.
39064
39065         * lib/ftell.c (EOVERFLOW): Remove fallback.
39066         * modules/ftell (Depends-on): Add EOVERFLOW.
39067
39068         * lib/fprintf.c (EOVERFLOW): Remove fallback.
39069         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
39070         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
39071
39072         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
39073
39074         * modules/EOVERFLOW-tests: New file.
39075         * tests/test-EOVERFLOW.c: New file.
39076
39077         * modules/EOVERFLOW: New file.
39078         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
39079
39080 2008-03-30  Bruno Haible  <bruno@clisp.org>
39081
39082         Fix bug introduced on 2007-06-10.
39083         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
39084         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
39085
39086 2008-03-30  Bruno Haible  <bruno@clisp.org>
39087
39088         Improve freadseek's efficiency after ungetc.
39089         * lib/freadseek.c: Include freadahead.h.
39090         (freadptrinc): New function, extracted from freadseek.
39091         (freadseek): Use it in a loop. Use freadahead to determine the number
39092         of loop iterations.
39093         * modules/freadseek (Depends-on): Add freadahead.
39094         (configure.ac): Require AC_C_INLINE.
39095
39096 2008-03-30  Bruno Haible  <bruno@clisp.org>
39097
39098         * lib/freadseek.c (freadseek): Don't ignore the return value of
39099         freadptr.
39100
39101 2008-03-29  Eric Blake  <ebb9@byu.net>
39102
39103         Add hex float support.
39104         * modules/strtod (Depends-on): Add c-ctype.
39105         (Link): Mention POW_LIB.
39106         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
39107         whitespace between 'e' and exponent.
39108         * tests/test-strtod.c (main): Enable hex float tests.
39109         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
39110         now provides.
39111
39112         Document various strtod bugs, with some fixes.
39113         * doc/posix-functions/strtod.texi (strtod): Document bugs with
39114         "-0x", "inf", "nan", and hex constants.
39115         * doc/posix-functions/atof.texi (atof): Likewise.
39116         * modules/stdlib (Makefile.am): Support strtod.
39117         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
39118         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
39119         detect additional strtod bugs.
39120         * lib/stdlib.in.h (rpl_strtod): Add declarations.
39121         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
39122         bool where appropriate.  Parse 'inf' and 'nan'.
39123         * tests/test-strtod.c: New file.
39124         * modules/strtod (Depends-on): Add stdbool, stdlib.
39125         (configure.ac): Turn on module indicator.
39126         * modules/strtod-tests: New module.
39127
39128 2008-03-29  Eric Blake  <ebb9@byu.net>
39129
39130         Fix ftell on mingw.
39131         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
39132         * modules/ftell-tests (Depends-on): Add binary-io.
39133         * modules/ftello-tests (Depends-on): Likewise.
39134         * tests/test-ftell.c (main): Enhance test to cover behavior after
39135         ungetc.  Enforce binary mode.
39136         * tests/test-ftello.c (main): Likewise.
39137
39138         Pass test-freadseek on cygwin.
39139         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
39140         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
39141         ungetc buffer.
39142
39143         * tests/test-fflush2.c (main): Fix typo.
39144
39145 2008-03-29  Bruno Haible  <bruno@clisp.org>
39146
39147         * tests/test-fflush2.c (main): Temporarily disable the contents of
39148         this test.
39149         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
39150         Reported by Eric Blake.
39151
39152 2008-03-28  Simon Josefsson  <simon@josefsson.org>
39153
39154         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
39155         (GC_SHA224_DIGEST_SIZE): Add.
39156
39157         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
39158         (gc_hash_digest_length): Likewise.
39159         (gc_hash_buffer): Likewise.
39160
39161 2008-03-25  Bruno Haible  <bruno@clisp.org>
39162
39163         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
39164         detail which gettext release to use.
39165         Reported by Simon Josefsson.
39166
39167 2008-03-26  Jim Meyering  <meyering@redhat.com>
39168
39169         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
39170         * modules/gnumakefile (clean-GNUmakefile): Also, use
39171         test ... && ... || : syntax rather than if-then ... fi.
39172
39173         gnumakefile: Don't double-quote-expand $(VPATH) value.
39174         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
39175
39176 2008-03-24  Eric Blake  <ebb9@byu.net>
39177
39178         Alter GNUmakefile to install into top directory.
39179         * modules/maintainer-makefile: Split, and add dependency...
39180         * modules/gnumakefile: to this new module.
39181         * build-aux/GNUmakefile: Move...
39182         * top/GNUmakefile: ...here.
39183         * build-aux/maint.mk: Move...
39184         * top/maint.mk: ...here.
39185         * MODULES.html.sh (Support for maintaining...): Document new
39186         module.
39187
39188 2008-03-23  Bruno Haible  <bruno@clisp.org>
39189
39190         * gnulib-tool: New options --vc-files, --no-vc-files.
39191         (func_usage): Document them.
39192         (vc_files): New variable.
39193         (func_import): Consider vc_files.
39194         (func_create_testdir): Set vc_files to empty.
39195         Suggested by Jim Meyering and Karl Berry.
39196
39197 2008-03-23  Bruno Haible  <bruno@clisp.org>
39198
39199         Fix regex compilation error on HP-UX 11.
39200         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
39201         * modules/regex (Files): Add m4/mbstate_t.m4.
39202         Reported by Ton Voon <ton.voon@altinity.com>.
39203
39204 2008-03-23  Bruno Haible  <bruno@clisp.org>
39205
39206         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
39207
39208 2008-03-23  Eric Blake  <ebb9@byu.net>
39209             Bruno Haible  <bruno@clisp.org>
39210
39211         Install files from top/ in the destination directory.
39212         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
39213         augmentation also for the files from top/.
39214         (func_import, func_create_testdir): Rewrite file names:
39215         top/filename -> filename.
39216
39217 2008-03-23  Bruno Haible  <bruno@clisp.org>
39218
39219         Tweak "gnulib --version" output.
39220         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
39221
39222 2008-03-23  Bruno Haible  <bruno@clisp.org>
39223
39224         Tweak "gnulib --version" output.
39225         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
39226         rather than contents of ChangeLog, when possible.
39227
39228 2008-03-21  Eric Blake  <ebb9@byu.net>
39229
39230         More --version tweaks.
39231         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
39232         date of last ChangeLog entry.
39233
39234 2008-03-21  Jim Meyering  <meyering@redhat.com>
39235
39236         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
39237
39238 2008-03-20  Eric Blake  <ebb9@byu.net>
39239
39240         VPATH fix.
39241         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
39242
39243 2008-03-20  Simon Josefsson  <simon@josefsson.org>
39244
39245         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
39246         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
39247
39248 2008-03-20  Eric Blake  <ebb9@byu.net>
39249
39250         Sync GNUmakefile with coreutils.
39251         * build-aux/GNUmakefile (have-Makefile): Rename...
39252         (_have-Makefile): ...to this, for namespace consideration.
39253         (GNUmakefile.cfg): Include, if present.
39254         (_autoreconf): Define a default.
39255         (_is-dist-target): New rule for rebuilds to pick up intra-release
39256         version.
39257         (maint-cfg.mk): Rename...
39258         (cfg.mk): ...to this.
39259
39260 2008-03-18  Jim Meyering  <meyering@redhat.com>
39261
39262         New script and module: mktempd
39263         * MODULES.html.sh (maint+release support): Add mktempd.
39264         * build-aux/mktempd: New file.
39265         * modules/mktempd: New file.
39266
39267 2008-03-15  Jim Meyering  <meyering@redhat.com>
39268
39269         Undo last change.
39270         * lib/sha1.c, lib/md5.c: 63 != ~63.
39271         Reported by Andreas Schwab.
39272
39273         sha1.c, md5.c: Hoist a redundant expression.
39274         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
39275         "ctx->buflen" only once, before calling *_process_block.
39276         * lib/md5.c (md5_process_bytes): Likewise.
39277
39278 2008-03-14  Eric Blake  <ebb9@byu.net>
39279
39280         Bump copyright year in files generated by gnulib-tool.
39281         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
39282         gnulib-tool, rather than hard-coding it.
39283
39284         Fix 'gnulib-tool --version' output to work with git.
39285         * gnulib-tool (func_gnulib_dir): New function, extracted from...
39286         (startup): ...here.
39287         (func_version): Use it to invoke git-version-gen, rather than
39288         relying on CVS keyword expansion.  Modernize wording.
39289         (cvsdatestamp, last_checkin_date, version): Kill unused
39290         variables.
39291
39292 2008-03-12  Jim Meyering  <meyering@redhat.com>
39293
39294         Recognize optional cast of the argument to free.
39295         * build-aux/useless-if-before-free: Update regexps.
39296
39297         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
39298
39299 2008-03-11  Bruno Haible  <bruno@clisp.org>
39300
39301         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
39302         by a single package.
39303         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
39304         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
39305         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
39306         Reported by Sam Steingold <sds@gnu.org>.
39307
39308 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
39309
39310         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
39311         repositories.
39312
39313 2008-03-11  Bruno Haible  <bruno@clisp.org>
39314
39315         Avoid conflicts between local macro definitions.
39316         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
39317         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
39318
39319 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
39320             Bruno Haible  <bruno@clisp.org>
39321
39322         Make va_copy work with some version of xlc on AIX 5.1.
39323         * lib/stdarg.in.h: New file.
39324         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
39325         On AIX, use a <stdarg.h> file substitute.
39326         * modules/stdarg (Files): Add lib/stdarg.in.h.
39327         (Depends-on): Add include_next.
39328         (Makefile.am): Build a stdarg.h substitute if requested.
39329         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
39330
39331 2008-03-10  Bruno Haible  <bruno@clisp.org>
39332
39333         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
39334         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
39335         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
39336
39337 2008-03-10  Bruno Haible  <bruno@clisp.org>
39338
39339         * modules/stdlib (Depends-on): Add include_next, remove
39340         absolute-header.
39341
39342 2008-03-09  Bruno Haible  <bruno@clisp.org>
39343
39344         * lib/freadahead.h (freadahead): Document more precisely.
39345         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
39346         the sum of both buffer sizes.
39347         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
39348         * NEWS: Document the change.
39349
39350 2008-03-09  Bruno Haible  <bruno@clisp.org>
39351
39352         Extend freadptr to return also the buffer size.
39353         * lib/freadptr.h (freadptr): Add sizep argument.
39354         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
39355         (freadptr): Add sizep argument. Determine buffer size like freadahead
39356         does.
39357         * tests/test-freadptr.c: Don't include freadahead.h.
39358         (main): Adapt for new calling convention of freadptr.
39359         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
39360         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
39361         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
39362         tests/test-freadptr2.sh.
39363         (Depends): Remove freadahead.
39364         (TESTS): Add test-freadptr2.sh.
39365         (check_PROGRAMS): Add test-freadptr2.
39366
39367 2008-03-09  Bruno Haible  <bruno@clisp.org>
39368
39369         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
39370         Report and solution by Simon Josefsson.
39371
39372 2008-03-06  Bruno Haible  <bruno@clisp.org>
39373
39374         Make fflush after ungetc work on BSD platforms.
39375         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
39376         * tests/test-fflush2.c: New file.
39377         * tests/test-fflush2.sh: New file.
39378         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
39379         tests/test-fflush2.c.
39380         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
39381         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
39382
39383 2008-03-06  Eric Blake  <ebb9@byu.net>
39384
39385         Likewise for ftello.
39386         * modules/ftello (Dependencies): Add extensions.
39387         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
39388
39389 2008-03-06  Bruno Haible  <bruno@clisp.org>
39390
39391         * modules/fseeko (Dependencies): Add extensions.
39392         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
39393         Needed on glibc systems.
39394
39395 2008-03-06  Bruno Haible  <bruno@clisp.org>
39396
39397         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
39398         email address.
39399         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
39400
39401 2008-03-06  Bruno Haible  <bruno@clisp.org>
39402
39403         * users.txt: Add libgnupdf.
39404
39405 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
39406
39407         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
39408         (Header File Substitutes, Function Substitutes,
39409         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
39410         (Build robot for gnulib): Fix typo.
39411
39412 2008-03-06  Bruno Haible  <bruno@clisp.org>
39413
39414         * doc/gnulib-tool.texi (VCS Issues): Small updates.
39415         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
39416
39417 2008-03-06  Bruno Haible  <bruno@clisp.org>
39418
39419         * doc/func.texi: New file, extracted from doc/gnulib.texi.
39420         * doc/gnulib.texi: Include it.
39421
39422 2008-03-06  Simon Josefsson  <simon@josefsson.org>
39423
39424         * modules/func (License): Change license to unlimited; there was
39425         no LGPL parts in the module anyway.
39426
39427 2008-03-06  Simon Josefsson  <simon@josefsson.org>
39428
39429         * modules/__func__: Renamed to modules/func.
39430         * modules/__func__-tests: Renamed to modules/func-tests.
39431         * tests/test-__func__.c: Renamed to tests/test-func.c.
39432         * m4/__func__.m4: Renamed to m4/func.m4.
39433         * doc/gnulib.texi (__func__): Section renamed to func.
39434         Suggested by Eric Blake <ebb9@byu.net>.
39435
39436 2008-03-06  Simon Josefsson  <simon@josefsson.org>
39437
39438         * doc/gnulib.texi (__func__): Use C99 terminology when talking
39439         about __func__.  Make example self-contained.  Suggested by Eric
39440         Blake <ebb9@byu.net>.
39441
39442         * tests/test-__func__.c (main): Avoid extraneous () around __func.
39443         Suggested by Eric Blake <ebb9@byu.net>.
39444
39445 2008-03-06  Simon Josefsson  <simon@josefsson.org>
39446
39447         * modules/__func__: New file.
39448         * modules/__func__-tests: New file.
39449         * tests/test-__func__.c: New file.
39450         * m4/__func__.m4: New file.
39451         * doc/gnulib.texi (__func__): Document __func__ module.
39452
39453 2008-03-05  Simon Josefsson  <simon@josefsson.org>
39454
39455         * modules/byteswap (License): Re-license as LGPLv2+.
39456
39457 2008-03-05  Simon Josefsson  <simon@josefsson.org>
39458
39459         * doc/Makefile: Add pdf target.
39460
39461 2008-03-05  Simon Josefsson  <simon@josefsson.org>
39462
39463         * modules/inline (License): Use 'unlimited', since there are only
39464         *.m4 files in this module.
39465
39466 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
39467             Bruno Haible  <bruno@clisp.org>
39468
39469         Add support for HP C 7.1 on OpenVMS 8.3.
39470         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
39471
39472 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
39473
39474         Update VMS specifics.
39475         * lib/getopt.c [VMS]: Remove include of unixlib.h.
39476
39477 2008-03-02  Jim Meyering  <meyering@redhat.com>
39478
39479         Remove the last dependency on the "free" module.
39480         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
39481         Reported by Bob Proulx.
39482
39483         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
39484
39485         Remove useless "if" tests before free.  Deprecate "free" module.
39486         * doc/posix-functions/free.texi: Mention that this
39487         module is no longer useful.
39488         * modules/free (Notice): Say this module is obsolete.
39489         * modules/readutmp (Depends-on): Remove free.
39490         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
39491         * lib/putenv.c (putenv): Likewise.
39492         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
39493         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
39494         * tests/test-c-strcasestr.c (main): Likewise.
39495         * tests/test-c-strstr.c (main): Likewise.
39496         * tests/test-mbscasestr1.c (main): Likewise.
39497         * tests/test-mbscasestr2.c (main): Likewise.
39498         * tests/test-mbsstr1.c (main): Likewise.
39499         * tests/test-mbsstr2.c (main): Likewise.
39500         * tests/test-memmem.c (main): Likewise.
39501         * tests/test-strcasestr.c (main): Likewise.
39502         * tests/test-striconv.c (main): Likewise.
39503         * tests/test-striconveh.c (main): Likewise.
39504         * tests/test-striconveha.c (main): Likewise.
39505         * tests/test-strstr.c (main): Likewise.
39506
39507         * build-aux/git-version-gen: Adjust a comment and the Usage string.
39508
39509         bootstrap: sync from coreutils again
39510         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
39511
39512 2008-03-01  Jim Meyering  <meyering@redhat.com>
39513
39514         bootstrap: sync from coreutils
39515         * build-aux/bootstrap (update_po_files): Copy a .po file into place
39516         also when the target doesn't exist.
39517
39518 2008-03-01  Eric Blake  <ebb9@byu.net>
39519
39520         Fix bugs in last patch.
39521         * lib/memchr2.c (memchr2): Fix typo.
39522         * tests/test-memchr2.c: Test previous bug, and don't use GNU
39523         extension.
39524         Reported by Bruce Korb.
39525
39526         New module 'memchr2'.
39527         * modules/memchr2: New file.
39528         * modules/memchr2-tests: Likewise.
39529         * lib/memchr2.h: Likewise.
39530         * lib/memchr2.c: Likewise, based on memchr.c.
39531         * tests/test-memchr2.c: New test.
39532         * MODULES.html.sh (String handling): Add memchr2.
39533
39534 2008-02-29  Bruno Haible  <bruno@clisp.org>
39535
39536         * modules/freadseek-tests: New file.
39537         * tests/test-freadseek.sh: New file.
39538         * tests/test-freadseek.c: New file.
39539
39540         New module 'freadseek'.
39541         * modules/freadseek: New file.
39542         * lib/freadseek.h: New file.
39543         * lib/freadseek.c: New file.
39544         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
39545
39546 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
39547
39548         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
39549         wydawca.
39550
39551         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
39552         program_invocation_name and program_invocation_short_name are
39553         present.
39554
39555 2008-02-28  Bruno Haible  <bruno@clisp.org>
39556
39557         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
39558         * tests/test-freadptr.sh: Also test non-seekable stdin.
39559
39560 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
39561
39562         * build-aux/bootstrap (source_base, m4_base)
39563         (doc_base, tests_base): New variables.
39564         (gnulib_tool_options): Do not hardcode base directories, use
39565         the above variables instead.
39566
39567 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
39568
39569         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
39570
39571 2008-02-28  Bruno Haible  <bruno@clisp.org>
39572
39573         * modules/freadptr-tests: New file.
39574         * tests/test-freadptr.sh: New file.
39575         * tests/test-freadptr.c: New file.
39576
39577         New module 'freadptr'.
39578         * modules/freadptr: New file.
39579         * lib/freadptr.h: New file.
39580         * lib/freadptr.c: New file.
39581         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
39582
39583 2008-02-26  Karl Berry  <karl@freefriends.org>
39584
39585         Sync from Libtool:
39586         * libltdl/argz.c (argz_add, argz_count): New functions.
39587         * libltdl/argz.in.h: Declare them.
39588         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
39589
39590 2008-02-22  Bruno Haible  <bruno@clisp.org>
39591
39592         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
39593         is a pointer type.  Needed for HP-UX 10.
39594         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
39595         * doc/posix-functions/gmtime_r.texi: Likewise.
39596         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
39597
39598 2008-02-24  Bruno Haible  <bruno@clisp.org>
39599
39600         * modules/environ-tests: New file.
39601         * tests/test-environ.c: New file.
39602
39603         New module 'environ'.
39604         * modules/environ: New file.
39605         * lib/unistd.in.h (environ): New declaration.
39606         * m4/environ.m4: New file.
39607         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
39608         after use.
39609         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
39610         HAVE_DECL_ENVIRON.
39611         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
39612         HAVE_DECL_ENVIRON.
39613         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
39614         wrong claim that 'environ' is missing on some systems.
39615         * modules/execute (Depends-on): Add environ.
39616         * lib/execute.c (environ): Remove fallback declaration.
39617         * modules/pipe (Depends-on): Add environ.
39618         * lib/pipe.c (environ): Remove fallback declaration.
39619         * modules/setenv (Depends-on): Add environ.
39620         * lib/setenv.c (environ): Remove fallback declaration.
39621         * modules/unsetenv (Depends-on): Add environ.
39622         * lib/unsetenv.c (environ): Remove fallback declaration.
39623         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
39624         m4/environ.m4.
39625         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
39626         (gl_PREREQ_UNSETENV): Likewise.
39627
39628 2008-02-24  Bruno Haible  <bruno@clisp.org>
39629
39630         * doc/posix-functions/environ.texi: Document the MacOS X problem.
39631
39632 2008-02-20  Bob Proulx  <bob@proulx.com>
39633
39634         Enable use of older two part flavor 'git describe'.
39635         * build-aux/git-version-gen: If using the older two part flavor of
39636         git version then recreate the third part now present in the
39637         newer three part flavor of git describe.
39638
39639 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
39640
39641         * lib/fts.c (fts_build): Typo correction to comment.
39642
39643 2008-02-17  Bruno Haible  <bruno@clisp.org>
39644
39645         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
39646         generating no-op conflicts.
39647
39648 2008-02-17  Bruno Haible  <bruno@clisp.org>
39649
39650         Speed up by 10%.
39651         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
39652         result_entries, rather than an index-based loop.
39653
39654 2008-02-17  Bruno Haible  <bruno@clisp.org>
39655
39656         Speed up by 25%.
39657         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
39658         'hashcode_cached'.
39659         (entry_create): New function.
39660         (entry_hashcode): Use the cached hashcode if possible.
39661         (read_changelog_file, try_split_merged_entry): Use entry_create.
39662
39663 2008-02-17  Bruno Haible  <bruno@clisp.org>
39664
39665         Speed up from O(n^2) to O(n) for long ChangeLog files.
39666         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
39667         (read_changelog_file): Change implementation of entries_reversed list
39668         to rbtreehash.
39669         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
39670
39671 2008-02-17  Bruno Haible  <bruno@clisp.org>
39672
39673         New option --split-merged-entry.
39674         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
39675         (find_paragraph_end, try_split_merged_entry): New functions.
39676         (long_options): Add option --split-merged-entry.
39677         (usage): Document option --split-merged-entry.
39678         (main): Implement option --split-merged-entry.
39679         Reported by Eric Blake.
39680
39681 2008-02-17  Bruno Haible  <bruno@clisp.org>
39682
39683         * lib/git-merge-changelog.c: Include c-strstr.h.
39684         (main): Support the "git pull --rebase" situation.
39685         * modules/git-merge-changelog (Depends-on): Add c-strstr.
39686         Reported by Eric Blake.
39687
39688 2008-02-16  Eric Blake  <ebb9@byu.net>
39689
39690         Avoid doubling \ in common case of "c-maybe" quoting style.
39691         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
39692         eliding outer quotes.
39693         * lib/quotearg.h: Document this.
39694         * tests/test-quotearg.c (result_strings, inputs, results_g)
39695         (flag_results, locale_results): Test it by adding a new string to
39696         each test group.
39697         (compare_strings): Test new string.
39698
39699 2008-02-13  Eric Blake  <ebb9@byu.net>
39700
39701         Avoid trigraph quoting in default output.
39702         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
39703         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
39704         unless explicitly requested.
39705         * tests/test-quotearg.c (flag_results, main): Add additional tests.
39706
39707 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
39708
39709         Don't rely on signed integer overflowing to negative value.
39710         * lib/getugroups.c (getugroups): Include <limits.h>.
39711         Instead, compare against INT_MAX, and increment only if the test passes.
39712
39713 2008-02-13  Jim Meyering  <meyering@redhat.com>
39714         and Eric Blake  <ebb9@byu.net>
39715
39716         Avoid shadowing warning and compile errors on Linux.
39717         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
39718         forwarding macros on Linux.
39719         (dcgettext): Define a stub, for Linux.
39720         (results_g, main): Avoid warnings.
39721
39722 2008-02-12  Eric Blake  <ebb9@byu.net>
39723
39724         Silence warning in last patch.
39725         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
39726
39727         Quotearg part 4: add tests, fix c-maybe colon quoting.
39728         * lib/quotearg.h: Improve documentation.
39729         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
39730         escapes when adding outer quotes.  When quoting trigraphs, use
39731         valid C notation.  When quoting NUL, omit extra characters if next
39732         character is not digit.  Alter prototype.
39733         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
39734         callers.
39735         * modules/quotearg-tests: New module.
39736         * tests/test-quotearg.c: New test.
39737
39738 2008-02-07  Eric Blake  <ebb9@byu.net>
39739
39740         Quotearg part 3: add flag to control outer quote elision.
39741         * lib/quotearg.h (c_maybe_quoting_style): New style.
39742         (enum quoting_flags): Better documentation of flags.
39743         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
39744         c-maybe style.
39745         (quotearg_buffer_restyled): Handle new flag to elide outer
39746         quotes.
39747
39748         Quotearg part 2: add flag that can control NUL elision.
39749         * lib/quotearg.h (set_quoting_flags): New prototype.
39750         * lib/quotearg.c (struct quoting_options): Add flag field.
39751         (set_quoting_flags): New function.
39752         (quotearg_buffer_restyled): Add flags parameter.
39753         (quotearg_alloc_mem): Set the flag if length cannot be returned.
39754         (quotearg_n_options): Set the flag, since length cannot be
39755         returned.
39756         (quoting_options_from_style): Default flags correctly.
39757
39758         Quotearg part 1: more wrappers, restore quotearg_char state.
39759         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
39760         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
39761         (quotearg_colon_mem): New wrappers.
39762         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
39763         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
39764         functions.
39765         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
39766         (quotearg_colon_mem): New functions.
39767
39768 2008-02-11  Bruno Haible  <bruno@clisp.org>
39769
39770         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
39771         library in the current directory: it does not work with parallel make.
39772         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39773
39774 2008-02-11  Bruno Haible  <bruno@clisp.org>
39775
39776         * .gitattributes: New file.
39777
39778 2008-02-11  Jim Meyering  <meyering@redhat.com>
39779
39780         useless-if-before-free: Fix reversed exit values.
39781         * build-aux/useless-if-before-free: Use correct values
39782         for EXIT_MATCH and EXIT_NO_MATCH.
39783
39784         * build-aux/useless-if-before-free: Close stdout carefully.
39785
39786 2008-02-10  Bruno Haible  <bruno@clisp.org>
39787
39788         New module 'git-merge-changelog'.
39789         * modules/git-merge-changelog: New file.
39790         * lib/git-merge-changelog.c: New file.
39791
39792 2008-02-10  Jim Meyering  <meyering@redhat.com>
39793
39794         useless-if-before-free: New option: --list (-l).
39795
39796         useless-if-before-free: Don't exit immediately upon open failure.
39797         * build-aux/useless-if-before-free: Exit 2 for errors.
39798         Upon failure to open a file, don't exit immediately.
39799         Rather, just warn and continue with any remaining files.
39800
39801 2008-02-10  Bruno Haible  <bruno@clisp.org>
39802
39803         New abstract list operation 'node_set_value'.
39804         * lib/gl_list.h (gl_list_node_set_value): New function.
39805         (struct gl_list_implementation): New field node_set_value.
39806         * lib/gl_list.c (gl_list_node_set_value): New function.
39807         * lib/gl_array_list.c (gl_array_node_set_value): New function.
39808         (gl_array_list_implementation): Update.
39809         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
39810         (gl_carray_list_implementation): Update.
39811         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
39812         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
39813         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
39814         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
39815         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
39816         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
39817         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
39818         Update.
39819         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
39820         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
39821         (gl_sublist_list_implementation): Update.
39822
39823 2008-02-10  Bruno Haible  <bruno@clisp.org>
39824
39825         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
39826         Needed when ELEMENT is #defined to 'some_type *'.
39827
39828 2008-02-10  Jim Meyering  <meyering@redhat.com>
39829
39830         New script and module: useless-if-before-free
39831         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
39832         * build-aux/useless-if-before-free: New file.
39833         * modules/useless-if-before-free: New file.
39834
39835         * build-aux/gitlog-to-changelog: Use committer date, not author date.
39836
39837         xstrtol_error: Fix typo.
39838         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
39839         s/exit_failure/exit_status/.
39840
39841 2008-02-09  Jim Meyering  <meyering@redhat.com>
39842
39843         New script and module: gitlog-to-changelog
39844         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
39845         * modules/gitlog-to-changelog: New file.
39846         * build-aux/gitlog-to-changelog: New file.
39847
39848 2008-02-08  Jim Meyering  <meyering@redhat.com>
39849
39850         Avoid two "parameter unused" warnings.
39851         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
39852         Mark "st" as used.
39853
39854         Use "git COMMAND", not "git-COMMAND".
39855         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
39856         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
39857         * build-aux/git-version-gen: Use "git status", not "git-status".
39858
39859 2008-02-07  Bruno Haible  <bruno@clisp.org>
39860
39861         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
39862         Avoids a crash on Windows Vista.
39863         Reported by Adam Strzelecki <ono@java.pl> via
39864         Simon Josefsson <simon@josefsson.org>.
39865
39866 2008-02-06  Bruno Haible  <bruno@clisp.org>
39867
39868         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
39869         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
39870         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
39871         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
39872         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
39873         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
39874         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
39875         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
39876         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
39877         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
39878         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
39879         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
39880         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
39881         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
39882         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
39883         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
39884         left-adjust flag.
39885         * tests/test-snprintf-posix.h (test_function): Likewise.
39886         * tests/test-sprintf-posix.h (test_function): Likewise.
39887         * tests/test-vasprintf-posix.c (test_function): Likewise.
39888         * doc/posix-functions/fprintf.texi: Update.
39889         * doc/posix-functions/printf.texi: Update.
39890         * doc/posix-functions/snprintf.texi: Update.
39891         * doc/posix-functions/sprintf.texi: Update.
39892         * doc/posix-functions/vfprintf.texi: Update.
39893         * doc/posix-functions/vprintf.texi: Update.
39894         * doc/posix-functions/vsnprintf.texi: Update.
39895         * doc/posix-functions/vsprintf.texi: Update.
39896         Reported by Peter Fales <psfales@alcatel-lucent.com>.
39897
39898 2008-02-06  Bruno Haible  <bruno@clisp.org>
39899
39900         Fix bug introduced on 2008-01-26.
39901         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
39902
39903 2008-02-06  Bruno Haible  <bruno@clisp.org>
39904
39905         Fix bug introduced on 2007-06-10.
39906         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
39907         !NEED_PRINTF_FLAG_ZERO.
39908
39909 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
39910
39911         getloadavg: use libperfstat on AIX5
39912         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
39913
39914 2008-02-03  Bruno Haible  <bruno@clisp.org>
39915
39916         * lib/diffseq.h: Add comments about required #includes.
39917         Reported by Michael Biggs <gnulib@doubleplum.net>.
39918
39919 2008-02-01  Bruno Haible  <bruno@clisp.org>
39920
39921         * users.txt: Add gnuit.
39922
39923 2008-01-31  Bruno Haible  <bruno@clisp.org>
39924
39925         * lib/md4.c (set_uint32): Mark as inline.
39926         * lib/md5.c (set_uint32): Likewise.
39927         * lib/sha1.c (set_uint32): Likewise.
39928         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
39929         * m4/md5.m4 (gl_MD5): Likewise.
39930         * m4/sha1.m4 (gl_SHA1): Likewise.
39931
39932 2008-01-31  Jim Meyering  <meyering@redhat.com>
39933
39934         Use "sizeof VAR", rather than a literal "4".
39935         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
39936         * lib/md4.c (md4_read_ctx): Likewise.
39937         * lib/sha1.c (sha1_read_ctx): Likewise.
39938
39939 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39940
39941         * tests/test-sha1.c: New file, based on test-md5.c.
39942
39943         * modules/crypto/sha1-tests: New file.
39944
39945 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39946
39947         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
39948
39949 2008-01-31  Jim Meyering  <meyering@redhat.com>
39950
39951         Prefer "sizeof v" over the equivalent "4".
39952         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
39953         * lib/md5.c (set_uint32): Likewise.
39954         * lib/sha1.c (set_uint32): Likewise.
39955
39956 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39957
39958         * lib/sha1.c (set_uint32): Mark function as static.
39959
39960 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39961
39962         md2: clarify comments to say that alignment is not required.
39963         * lib/md2.h: Remove warning about alignment in comment.
39964         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
39965         never been required.
39966
39967 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39968
39969         md4: adapt alignment constraint fix from sha1.
39970         * lib/md4.c (set_uint32): New function, from sha1.c
39971         (md4_read_ctx): Use it.
39972         (md4_finish_ctx): Doc fix.
39973         * lib/md4.h: Doc fix.
39974
39975 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39976
39977         md5: adapt alignment constraint fix from sha1.
39978         * lib/md5.c (set_uint32): New function, from sha1.c
39979         (md5_read_ctx): Use it.
39980         (md5_finish_ctx): Doc fix.
39981         * lib/md5.h: Doc fix.
39982
39983 2008-01-30  Peter Palfrader  <weasel@debian.org>
39984
39985         sha1: remove the result buffer alignment constraint
39986         * lib/sha1.c (set_uint32): New function.
39987         (sha1_read_ctx): Rewrite to remove the result buffer alignment
39988         constraint.
39989         (sha1_finish_ctx): Remove comment warning about alignment constraint.
39990         * lib/sha1.h: Likewise.
39991
39992 2008-01-30  Andreas Schwab  <schwab@suse.de>
39993             Bruno Haible  <bruno@clisp.org>
39994
39995         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
39996         correct definition of LDBL_MIN_EXP.
39997
39998 2008-01-30  Karl Berry  <karl@gnu.org>
39999
40000         * config/srclist-update: try to preserve x bit on updates.
40001         * config/srclistvars.sh: update for karl.
40002
40003 2008-01-29  Jim Meyering  <meyering@redhat.com>
40004
40005         vasnprintf.c: Avoid warning about unused label
40006         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
40007         "overflow" label definition and associated code with the
40008         same cpp condition that guards the sole use of that label.
40009
40010 2008-01-26  Bruno Haible  <bruno@clisp.org>
40011
40012         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
40013         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
40014         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
40015         * lib/isnanl-nolibm.h (isnanl): Likewise.
40016         Reported by Paul Eggert <eggert@cs.ucla.edu>.
40017
40018 2008-01-26  Bruno Haible  <bruno@clisp.org>
40019
40020         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
40021         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
40022
40023 2008-01-26  Bruno Haible  <bruno@clisp.org>
40024
40025         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
40026         GCC >= 4.0 built-in.
40027         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
40028
40029 2008-01-26  Bruno Haible  <bruno@clisp.org>
40030
40031         Rename isnan, applicable to 'double' only, to isnand.
40032         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
40033         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
40034         (configure.ac): Update.
40035         (Include): Replace "isnan.h" with "isnand.h".
40036         * m4/isnand.m4: Renamed from m4/isnan.m4.
40037         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
40038         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
40039         instead of isnan.c.
40040         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
40041         instead of HAVE_ISNAN_IN_LIBC.
40042         (isnand): Renamed from isnan.
40043         * lib/isnand.c: New file.
40044         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
40045         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
40046         (Makefile.am): Update.
40047         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
40048         Include isnand.h instead of isnan.h.
40049         (main): Test isnand instead of isnan.
40050         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
40051         isnan-nolibm.
40052         * modules/frexp (Depends-on): Likewise.
40053         * modules/frexp-tests (Depends-on): Likewise.
40054         * modules/frexp-nolibm (Depends-on): Likewise.
40055         * modules/frexp-nolibm-tests (Depends-on): Likewise.
40056         * modules/isfinite (Depends-on): Likewise.
40057         * modules/round-tests (Depends-on): Likewise.
40058         * modules/signbit (Depends-on): Likewise.
40059         * modules/signbit-tests (Depends-on): Likewise.
40060         * modules/snprintf-posix (Depends-on): Likewise.
40061         * modules/sprintf-posix (Depends-on): Likewise.
40062         * modules/trunc-tests (Depends-on): Likewise.
40063         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
40064         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
40065         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
40066         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
40067         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
40068         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
40069         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
40070         * modules/vasnprintf-posix (Depends-on): Likewise.
40071         * modules/vasprintf-posix (Depends-on): Likewise.
40072         * modules/vfprintf-posix (Depends-on): Likewise.
40073         * modules/vsnprintf-posix (Depends-on): Likewise.
40074         * modules/vsprintf-posix (Depends-on): Likewise.
40075         * lib/frexp.c: Include isnand.h instead of isnan.h.
40076         (ISNAN): Set to isnand instead of isnan.
40077         * lib/isfinite.c: Include isnand.h instead of isnan.h.
40078         (gl_isfinited): Use isnand instead of isnan.
40079         * lib/signbitd.c: Include isnand.h instead of isnan.h.
40080         (gl_signbitd): Use isnand instead of isnan.
40081         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
40082         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
40083         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
40084         (main): Use isnand instead of isnan.
40085         * tests/test-round1.c: Include isnand.h.
40086         (main): Use isnand instead of isnan.
40087         * tests/test-round2.c: Include isnand.h instead of isnan.h.
40088         (ISNAN): Set to isnand instead of isnan.
40089         * tests/test-trunc1.c: Include isnand.h.
40090         (main): Use isnand instead of isnan.
40091         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
40092         (equal): Use isnand instead of isnan.
40093         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
40094         isnand-nolibm.
40095         * NEWS: Mention the change.
40096
40097 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
40098             Bruno Haible  <bruno@clisp.org>
40099
40100         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
40101         the GCC builtins for signbits are present and set
40102         REPLACE_SIGNBIT_USING_GCC if so.
40103         * lib/math.in.h (signbit): Define using GCC builtins if
40104         REPLACE_SIGNBIT_USING_GCC is set.
40105         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
40106         REPLACE_SIGNBIT_USING_GCC.
40107         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
40108
40109 2008-01-25  Jim Meyering  <meyering@redhat.com>
40110
40111         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
40112         * lib/poll.c: Include <config.h>, not "config.h".
40113         * tests/test-getaddrinfo.c: Likewise.
40114
40115 2008-01-25  Simon Josefsson  <simon@josefsson.org>
40116
40117         * modules/sockets-tests: New file.
40118
40119 2008-01-24  Simon Josefsson  <simon@josefsson.org>
40120
40121         * modules/sockets: New module, can be used to call WSA_Startup and
40122         WSA_Cleanup when needed.
40123
40124         * lib/sockets.h, lib/sockets.c: New files.
40125
40126         * m4/sockets.m4: New file.
40127
40128         * tests/test-sockets.c: New file.
40129
40130 2008-01-19  Bruno Haible  <bruno@clisp.org>
40131
40132         * doc/posix-headers: Renamed from doc/headers.
40133         * doc/posix-functions: Renamed from doc/functions.
40134         * doc/gnulib.texi: Update.
40135
40136 2008-01-19  Bruno Haible  <bruno@clisp.org>
40137
40138         * doc/glibc-functions/strcasestr.texi: Include contents of
40139         doc/functions/strcasestr.texi, fixing the list of platforms.
40140         * doc/functions/strcasestr.texi: Remove file.
40141
40142 2008-01-19  Bruno Haible  <bruno@clisp.org>
40143
40144         * doc/glibc-functions/memmem.texi: Include contents of
40145         doc/functions/memmem.texi.
40146         * doc/functions/memmem.texi: Remove file.
40147
40148 2008-01-18  Bruno Haible  <bruno@clisp.org>
40149
40150         * doc/glibc-functions/*.texi: New files.
40151         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
40152         to use the new files.
40153
40154 2008-01-17  Bruno Haible  <bruno@clisp.org>
40155
40156         * tests/test-gethostname.c (main): Fix printf statement.
40157
40158 2008-01-17  Simon Josefsson  <simon@josefsson.org>
40159
40160         * modules/gethostname-tests: New file.
40161
40162         * tests/test-gethostname.c: New file.
40163
40164 2008-01-17  Simon Josefsson  <simon@josefsson.org>
40165
40166         * lib/gethostname.c: Include string.h unconditionally, strncpy is
40167         used by the UNAME case.  Reported by Bruno Haible
40168         <bruno@clisp.org>.
40169
40170 2008-01-17  Eric Blake  <ebb9@byu.net>
40171
40172         Convert c-strcasestr to be more efficient.
40173         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
40174         (Depends-on): Add c-strcase, remove malloca, strnlen.
40175         * tests/test-c-strcasestr.c (main): Enhance test.
40176         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
40177
40178 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
40179
40180         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
40181         Use it in creating po/Makevars.
40182
40183 2008-01-15  Simon Josefsson  <simon@josefsson.org>
40184
40185         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
40186         Applications that requires it should initialize libgcrypt
40187         manually.
40188
40189 2008-01-16  Simon Josefsson  <simon@josefsson.org>
40190
40191         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
40192
40193 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
40194
40195         Fix problem with getdate on mingw32 reported by Simon Josefsson
40196         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
40197         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
40198         tzname", when deciding whether to declare tzname.
40199         * lib/strftime.c (tzname): Likewise.
40200
40201 2008-01-15  Bruno Haible  <bruno@clisp.org>
40202
40203         Work around a MacOS X 10.5 bug in frexpl().
40204         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
40205         * doc/functions/frexpl.texi: Document the bug.
40206         Reported by Elias Pipping <pipping@gentoo.org>.
40207
40208 2008-01-14  Eric Blake  <ebb9@byu.net>
40209
40210         Touch up previous patch.
40211         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
40212         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
40213
40214         Convert strcasestr module to use Two-Way algorithm.
40215         * modules/strcasestr-simple: New module, based on the old
40216         strcasestr, but with Two-Way rather than KMP.
40217         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
40218         * lib/string.in.h (rpl_strcasestr): Declare.
40219         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
40220         performance.
40221         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
40222         * modules/string (Makefile.am): Support strcasestr.
40223         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
40224         * modules/strcasestr-tests (Depends-on): Check for alarm.
40225         * tests/test-strcasestr.c: Augment test.
40226         * lib/str-two-way.h: Clean up stray macro.
40227         * NEWS: Document new module.
40228         * MODULES.html.sh (string handling): Likewise.
40229         * doc/functions/strcasestr.texi: New file.
40230         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
40231         here, since it is not a POSIX function.
40232
40233 2008-01-14  Colin Watson  <cjwatson@debian.org>
40234             Bruno Haible  <bruno@clisp.org>
40235
40236         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
40237         works fine; if not, set REPLACE_STRSIGNAL.
40238         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
40239         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
40240         REPLACE_STRSIGNAL.
40241         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
40242         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
40243         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
40244
40245 2008-01-14  Bruno Haible  <bruno@clisp.org>
40246
40247         * modules/strsignal (Include): Change to <string.h>.
40248
40249 2008-01-14  Colin Watson  <cjwatson@debian.org>
40250
40251         * modules/argp (Notice): Add a notice recommending to change
40252         XGETTEXT_OPTIONS.
40253         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
40254
40255 2008-01-13  Colin Watson  <cjwatson@debian.org>
40256
40257         * modules/strsignal-tests: New file.
40258         * tests/test-strsignal.c: New file.
40259
40260         * lib/strsignal.c: New file, from glibc with modifications.
40261         * lib/siglist.h: New file, from glibc with modifications.
40262         * lib/string.in.h (strsignal): New declaration.
40263         * m4/strsignal.m4: New file.
40264         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
40265         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
40266         * modules/strsignal: New file.
40267         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
40268         HAVE_DECL_STRSIGNAL.
40269
40270 2008-01-13  Bruno Haible  <bruno@clisp.org>
40271
40272         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
40273         locale encoding is not ASCII. Needed for OpenBSD 4.0.
40274         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
40275         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
40276
40277 2008-01-13  Bruno Haible  <bruno@clisp.org>
40278
40279         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
40280         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
40281         * lib/argp.h (__attribute__): Likewise.
40282         * lib/c-stack.c (__attribute__): Likewise.
40283         * lib/error.h (__attribute__): Likewise.
40284         * lib/fts.c (__attribute__): Likewise.
40285         * lib/openat.h (__attribute__): Likewise.
40286         * lib/stdio.in.h (__attribute__): Likewise.
40287         * lib/string.in.h (__attribute__): Likewise.
40288         * lib/utimens.c (__attribute__): Likewise.
40289         * lib/vasnprintf.h (__attribute__): Likewise.
40290         * lib/xalloc.h (__attribute__): Likewise.
40291         * lib/xprintf.h (__attribute__): Likewise.
40292         * lib/xstrtol.h (__attribute__): Likewise.
40293         * lib/xvasprintf.h (__attribute__): Likewise.
40294
40295 2008-01-12  Bruno Haible  <bruno@clisp.org>
40296
40297         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
40298         * doc/glibc-headers/a.out.texi: New file.
40299         * doc/glibc-headers/aliases.texi: New file.
40300         * doc/glibc-headers/alloca.texi: New file.
40301         * doc/glibc-headers/ar.texi: New file.
40302         * doc/glibc-headers/argp.texi: New file.
40303         * doc/glibc-headers/argz.texi: New file.
40304         * doc/glibc-headers/byteswap.texi: New file.
40305         * doc/glibc-headers/crypt.texi: New file.
40306         * doc/glibc-headers/endian.texi: New file.
40307         * doc/glibc-headers/envz.texi: New file.
40308         * doc/glibc-headers/err.texi: New file.
40309         * doc/glibc-headers/error.texi: New file.
40310         * doc/glibc-headers/execinfo.texi: New file.
40311         * doc/glibc-headers/fpu_control.texi: New file.
40312         * doc/glibc-headers/fstab.texi: New file.
40313         * doc/glibc-headers/fts.texi: New file.
40314         * doc/glibc-headers/getopt.texi: New file.
40315         * doc/glibc-headers/ieee754.texi: New file.
40316         * doc/glibc-headers/ifaddrs.texi: New file.
40317         * doc/glibc-headers/libintl.texi: New file.
40318         * doc/glibc-headers/mcheck.texi: New file.
40319         * doc/glibc-headers/mntent.texi: New file.
40320         * doc/glibc-headers/obstack.texi: New file.
40321         * doc/glibc-headers/paths.texi: New file.
40322         * doc/glibc-headers/printf.texi: New file.
40323         * doc/glibc-headers/pty.texi: New file.
40324         * doc/glibc-headers/resolv.texi: New file.
40325         * doc/glibc-headers/shadow.texi: New file.
40326         * doc/glibc-headers/sysexits.texi: New file.
40327         * doc/glibc-headers/ttyent.texi: New file.
40328
40329 2008-01-12  Jim Meyering  <meyering@redhat.com>
40330
40331         announce-gen: emit Gnulib's git-based version string.
40332         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
40333         New option --gnulib-version=V, where V is expected to be
40334         the output of running git describe in the gnulib directory.
40335         (get_tool_versions): Request feedback on xdelta.  I suspect it's
40336         not useful, and plan to stop publishing an xdelta file with each
40337         coreutils release.
40338
40339         * build-aux/announce-gen: Also check for lzma-compressed files.
40340
40341 2008-01-11  Bruno Haible  <bruno@clisp.org>
40342
40343         * tests/test-memmem.c (main): Increase maximum allowed time.
40344         * tests/test-strstr.c (main): Likewise.
40345
40346 2008-01-11  Bruno Haible  <bruno@clisp.org>
40347
40348         * doc/functions/memmem.texi: Add more precisions about platforms.
40349         * doc/functions/strstr.texi: Likewise.
40350
40351 2008-01-10  Eric Blake  <ebb9@byu.net>
40352
40353         * m4/strstr.m4: Delete cruft from copy-n-paste.
40354         Reported by Bruno Haible.
40355
40356 2008-01-10  Bruno Haible  <bruno@clisp.org>
40357
40358         Make c-strstr rely on strstr.
40359         * lib/c-strstr.c: Don't include str-kmp.h.
40360         (c_strstr): Define in terms of strstr.
40361         * modules/c-strstr (Files): Remove lib/str-kmp.h.
40362         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
40363
40364 2008-01-10  Bruno Haible  <bruno@clisp.org>
40365
40366         * doc/gnulib.texi (String Functions in C Locale): New section.
40367         * doc/c-ctype.texi: New file.
40368         * doc/c-strcase.texi: New file.
40369         * doc/c-strcaseeq.texi: New file.
40370         * doc/c-strcasestr.texi: New file.
40371         * doc/c-strstr.texi: New file.
40372         * doc/c-strtod.texi: New file.
40373         * doc/c-strtold.texi: New file.
40374
40375 2008-01-10  Eric Blake  <ebb9@byu.net>
40376
40377         * lib/relocatable.h: Fix a comment.
40378
40379 2008-01-10  Eric Blake  <ebb9@byu.net>
40380
40381         Share two-way algorithm.
40382         * lib/str-two-way.h: New file, merged from...
40383         * lib/memmem.c: ...here...
40384         * lib/strstr.c: ...and here.
40385         * modules/memmem (Files): Use it.
40386         * modules/strstr (Files): Likewise.
40387
40388         Avoid quadratic strstr implementations.
40389         * lib/strstr.c: New file.
40390         * m4/strstr.m4: Likewise.
40391         * modules/strstr: Likewise.
40392         * modules/strstr-tests: Likewise.
40393         * tests/test-strstr.c: Likewise.
40394         * lib/string.in.h (rpl_strstr): Declare.
40395         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
40396         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
40397         * modules/string (Makefile.am): Likewise.
40398         * MODULES.html.sh (string handling): Mention new module.
40399         * doc/functions/strstr.texi (strstr): Document the bug.
40400
40401 2008-01-10  Bruno Haible  <bruno@clisp.org>
40402
40403         * lib/relocatable.h (relocate): State whether result is freshly
40404         allocated or not.
40405         * lib/relocatable.c (relocate): Return a freshly allocated string
40406         instead of a pointer to a privately held string.
40407         Reported by Sylvain Beucler <beuc@gnu.org>.
40408
40409 2008-01-10  Colin Watson  <cjwatson@debian.org>
40410
40411         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
40412         s/S_ISNLK/S_ISLNK/.
40413
40414 2008-01-09  Bruno Haible  <bruno@clisp.org>
40415
40416         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
40417         and other files.
40418         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
40419         if it's only a guess.
40420         * modules/memmem: Simplify by depending on memmem-simple.
40421
40422 2008-01-09  Bruno Haible  <bruno@clisp.org>
40423
40424         Work around OpenBSD 4.0 tdelete() bug.
40425         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
40426         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
40427         macros and don't redefine the enum values.
40428         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
40429         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
40430         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
40431
40432 2008-01-09  Bruno Haible  <bruno@clisp.org>
40433
40434         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
40435         (main): Don't perform the tests if setlocale did not install a UTF-8
40436         locale. Needed on OpenBSD 4.0.
40437         * modules/wcwidth-tests (Depends-on): Add localcharset.
40438
40439 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
40440
40441         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
40442         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
40443         * NEWS: announce this.
40444         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
40445
40446 2008-01-09  Simon Josefsson  <simon@josefsson.org>
40447         and Eric Blake  <ebb9@byu.net>
40448
40449         Add memmem-simple module.
40450         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
40451         (gl_FUNC_MEMMEM): Separate performance from presence checks.
40452         * modules/memmem-simple: New file.
40453         * modules/memmem (Description): Tweak.
40454         * MODULES.html.sh (string handling): Mention new module.
40455         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
40456         addressed by memmem-simple.
40457         * NEWS: Document the difference.
40458
40459 2008-01-09  Eric Blake  <ebb9@byu.net>
40460
40461         Give gcc some memmem optimization hints.
40462         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
40463         (strcasestr): Declare as pure.
40464         * modules/memmem (Maintainer): Claim my implementation.
40465
40466 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40467
40468         Support AIX 6.1 and higher.
40469         * build-aux/config.libpath: Likewise.
40470         * build-aux/config.rpath: Likewise.
40471
40472 2008-01-08  Jim Meyering  <meyering@redhat.com>
40473             Bruno Haible  <bruno@clisp.org>
40474
40475         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
40476         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
40477         Reported by Peter Fales in
40478         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
40479
40480 2008-01-08  Bruno Haible  <bruno@clisp.org>
40481
40482         * modules/unictype/category-of (Depends-on): Add
40483         unictype/category-none.
40484         * modules/unictype/category-and-tests (Depends-on): Add
40485         unictype/category-{L,N,Lu,Nd}.
40486         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
40487         * modules/unictype/category-or-tests (Depends-on): Add
40488         unictype/category-{L,N}.
40489         * modules/unictype/category-name-tests (Depends-on): Add
40490         unictype/category-{Z,Nl}.
40491         Reported by Simon Josefsson.
40492
40493 2008-01-08  Bruno Haible  <bruno@clisp.org>
40494
40495         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
40496         convention better.
40497         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
40498         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
40499         Reported by Peter Miller <millerp@canb.auug.org.au>.
40500
40501 2008-01-08  Eric Blake  <ebb9@byu.net>
40502
40503         Rewrite memmem to guarantee linear complexity without malloc.
40504         * lib/memmem.c (memmem): Use Two-Way rather than
40505         Knuth-Morris-Pratt, to allow O(1) space usage.
40506         (critical_factorization, two_way_short_needle)
40507         (two_way_long_needle): New functions.
40508         (knuth_morris_pratt): Delete.
40509         * modules/memmem (Depends-on): No longer need malloca or stdbool.
40510         Add stdint.
40511         * tests/test-memmem.c (main): Add tests for periodic needle and
40512         sublinear performance.
40513         * doc/functions/memmem.texi (memmem): Document other deficiencies
40514         in cygwin and older glibc.
40515
40516 2008-01-08  Bruno Haible  <bruno@clisp.org>
40517
40518         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
40519         augmentation.
40520
40521 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
40522
40523         Add a configure time option: --disable-acl.
40524         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
40525         AC_ARG_ENABLE(acl).
40526
40527 2008-01-06  Simon Josefsson  <simon@josefsson.org>
40528
40529         * tests/test-localename.c: Don't include obsolete "setenv.h".
40530
40531         * modules/localename-tests (Depends-on): Need unsetenv.
40532
40533 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40534
40535         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
40536
40537 2008-01-06  Colin Watson  <cjwatson@debian.org>
40538
40539         * users.txt: Add man-db.
40540
40541 2008-01-07  Bruno Haible  <bruno@clisp.org>
40542
40543         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
40544         previous section name.
40545
40546 2008-01-07  Bruno Haible  <bruno@clisp.org>
40547
40548         * lib/progname.c (set_program_name): Don't strip off a leading
40549         "lt-" prefix outside a .libs directory.
40550         Suggested by Paul Eggert.
40551
40552 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
40553             Bruno Haible  <bruno@clisp.org>
40554
40555         Improve memory cleanup in 'relocatable' module.
40556         * lib/relocatable.h (compute_curr_prefix): Change return type to
40557         'char *'.
40558         * lib/relocatable.c (compute_curr_prefix): Change return type to
40559         'char *'. Free curr_installdir after use.
40560         (relocate): Free curr_prefix_better after use.
40561         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
40562
40563 2008-01-01  Bruno Haible  <bruno@clisp.org>
40564
40565         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
40566         failure on older glibc systems.
40567         Reported by Peter Fales <psfales@alcatel-lucent.com>.
40568
40569 2008-01-05  Eric Blake  <ebb9@byu.net>
40570
40571         Avoid quadratic system memmem.
40572         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
40573         Reported by Ralf Wildenhues.
40574
40575         Fix memmem test for mingw.
40576         * modules/memmem-tests (configure.ac): Check for alarm.
40577         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
40578         it.
40579         * doc/functions/memmem.texi: New file.
40580         * doc/gnulib.texi (Function Substitutes): Add memmem.
40581         Reported by Bruno Haible.
40582
40583 2008-01-04  Bruno Haible  <bruno@clisp.org>
40584
40585         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
40586         Require gl_HEADER_STRINGS_H_DEFAULTS, not
40587         gl_HEADER_STRING_H_DEFAULTS.
40588
40589 2008-01-04  Eric Blake  <ebb9@byu.net>
40590
40591         Shorten duration of memmem test.
40592         * tests/test-memmem.c (main): Use alarm to declare failure if test
40593         is taking too long.
40594         Reported by Ralf Wildenhues.
40595
40596 2007-12-21  Simon Josefsson  <simon@josefsson.org>
40597
40598         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
40599         string, needed by strerror.
40600
40601 2008-01-03  Colin Watson  <cjwatson@debian.org>
40602             Bruno Haible  <bruno@clisp.org>
40603
40604         * doc/gnulib-tool.texi (Localization): New section.
40605
40606 2008-01-02  Bruno Haible  <bruno@clisp.org>
40607
40608         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
40609         variables to 'unsigned char *' type.
40610         Reported by Paul Eggert.
40611
40612 2008-01-02  Jim Meyering  <jim@meyering.net>
40613
40614         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
40615
40616 2007-12-31  Jim Meyering  <jim@meyering.net>
40617
40618         Avoid use of private FTS type name.
40619         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
40620
40621 2007-12-30  Karl Berry  <karl@gnu.org>
40622
40623         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
40624         work around defect in Texinfo and/or the standalone Info browser.
40625
40626 2007-12-30  Bruno Haible  <bruno@clisp.org>
40627
40628         Unify 5 copies of the KMP code.
40629         * lib/str-kmp.h: New file.
40630         * lib/c-strcasestr.c: Include str-kmp.h.
40631         (knuth_morris_pratt): Remove function.
40632         (c_strcasestr): Update.
40633         * lib/c-strstr.c: Include str-kmp.h.
40634         (knuth_morris_pratt): Remove function.
40635         (c_strcasestr): Update.
40636         * lib/mbscasestr.c: Include str-kmp.h.
40637         (knuth_morris_pratt_unibyte): Remove function.
40638         * lib/mbsstr.c: Include str-kmp.h.
40639         (knuth_morris_pratt_unibyte): Remove function.
40640         * lib/strcasestr.c: Include str-kmp.h.
40641         (knuth_morris_pratt): Remove function.
40642         (strcasestr): Update.
40643         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
40644         * modules/c-strstr (Files): Likewise.
40645         * modules/mbscasestr (Files): Likewise.
40646         * modules/mbsstr (Files): Likewise.
40647         * modules/strcasestr (Files): Likewise.
40648         Suggested by Paul Eggert.
40649
40650 2007-12-30  Bruno Haible  <bruno@clisp.org>
40651
40652         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
40653         defined.
40654
40655 2007-12-30  Bruno Haible  <bruno@clisp.org>
40656
40657         * lib/xmalloca.h: Include xalloc.h.
40658         (xnmalloca): New macro.
40659
40660 2007-12-30  Bruno Haible  <bruno@clisp.org>
40661
40662         * lib/malloca.h (nmalloca): New macro.
40663         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
40664         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
40665         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
40666         knuth_morris_pratt_multibyte): Likewise.
40667         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
40668         knuth_morris_pratt_multibyte): Likewise.
40669         * lib/memmem.c (knuth_morris_pratt): Likewise.
40670         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
40671
40672 2007-12-25  Bruno Haible  <bruno@clisp.org>
40673
40674         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
40675         * lib/glob.c: Don't include openat.h.
40676         (link_exists2_p): Add back the code that deals with the
40677         !GLOB_ALTDIRFUNC case.
40678         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
40679         let it do the filename concatenation.
40680         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
40681         * modules/glob (Depends-on): Remove openat.
40682
40683 2007-12-31  Bruno Haible  <bruno@clisp.org>
40684
40685         * modules/dirfd (License): Change to LGPLv2+.
40686         Approved by Jim Meyering.
40687
40688 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
40689
40690         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
40691         when multiplying M by sizeof (size_t).
40692
40693 2007-12-10  Martin Lambers  <marlam@marlam.de>
40694
40695         Override getpagesize on mingw.
40696         * lib/getpagesize.c: New file.
40697         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
40698         * modules/getpagesize (Files): Add lib/getpagesize.c.
40699         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
40700         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40701         REPLACE_GETPAGESIZE.
40702         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
40703
40704 2007-12-25  Bruno Haible  <bruno@clisp.org>
40705
40706         * modules/localcharset (Notice): New field.
40707         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
40708         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
40709
40710 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
40711             Bruno Haible  <bruno@clisp.org>
40712
40713         Avoid using the syntax symbol() in formatted documentation.
40714         * MODULES.html.sh (func_module): When replacing symbol() with a
40715         hyperlink, remove the parentheses. Show an error if some remain.
40716         Recognize and render the '...' syntax.
40717         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
40718         Rework. Add paragraph about GCC's inlining.
40719         * doc/alloca.texi: Likewise.
40720         * doc/error.texi: Remove parentheses from symbol reference.
40721         * doc/gnulib-intro.texi: Likewise.
40722         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
40723         * modules/fnmatch (Description): Reword to say "the ... function".
40724         * modules/full-read (Description): Likewise.
40725         * modules/full-write (Description): Likewise.
40726         * modules/safe-read (Description): Likewise.
40727         * modules/safe-write (Description): Likewise.
40728         * modules/strchrnul (Description): Likewise.
40729         * modules/trim (Description): Likewise.
40730         * modules/error (Description): Remove parentheses from symbol
40731         references.
40732         * modules/verror (Description): Likewise.
40733         Reported by Karl Berry.
40734
40735 2007-12-25  Bruno Haible  <bruno@clisp.org>
40736
40737         Fixup after 2007-10-16 commit.
40738         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
40739
40740 2007-12-24  Bruno Haible  <bruno@clisp.org>
40741
40742         Make --enable-relocatable work with DESTDIR.
40743         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
40744         to compute installdir from destprog.
40745         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
40746         also set the RELOC_DESTDIR variable.
40747         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
40748
40749 2007-12-24  Bruno Haible  <bruno@clisp.org>
40750
40751         Fix link error due to xalloc_die().
40752         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
40753         of xreadlink.
40754         * lib/relocwrapper.c: Update comments.
40755         * build-aux/install-reloc: Remove xreadlink.c from file list.
40756         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
40757         xreadlink.c.
40758         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
40759
40760 2007-12-24  Bruno Haible  <bruno@clisp.org>
40761
40762         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
40763         * lib/setenv.h: Remove file.
40764         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
40765         lib/setenv.h.
40766         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
40767         (Depends-on): Add stdlib.
40768         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
40769         gl_FUNC_UNSETENV.
40770         (Include): Replace setenv.h with <stdlib.h>.
40771         * modules/unsetenv: New file.
40772         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
40773         * lib/unsetenv.c: Include <stdlib.h> first.
40774         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
40775         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
40776         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
40777         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
40778         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
40779         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
40780         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
40781         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
40782         * doc/functions/unsetenv.texi: Update.
40783         * modules/xsetenv (Depends-on): Add unsetenv.
40784         * modules/getdate (Depends-on): Likewise.
40785         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
40786         * lib/xsetenv.c: Don't include setenv.h.
40787         * lib/getdate.y: Likewise.
40788         * lib/relocwrapper.c: Likewise.
40789         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
40790         (Depends-on): Add stdlib.
40791         * NEWS: Mention the changes.
40792         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
40793
40794 2007-12-23  Bruno Haible  <bruno@clisp.org>
40795
40796         * lib/memmem.c (memmem): Use lowercase variable names. Tab
40797         indentation.
40798
40799 2007-12-23  Bruno Haible  <bruno@clisp.org>
40800
40801         * lib/c-strcasestr.c: Add more comments.
40802         * lib/c-strstr.c: Likewise.
40803         * lib/mbscasestr.c: Likewise.
40804         * lib/mbsstr.c: Likewise.
40805         * lib/strcasestr.c: Likewise.
40806         * lib/memmem.c: Likewise.
40807
40808 2007-12-23  Bruno Haible  <bruno@clisp.org>
40809
40810         * tests/test-memmem.c: Include <string.h> first.
40811
40812 2007-12-22  Bruno Haible  <bruno@clisp.org>
40813
40814         * gnulib-tool (func_create_testdir): Change $auxdir while generating
40815         the contents of $testsbase.
40816         Reported by Ralf Wildenhues.
40817
40818 2007-12-22  Bruno Haible  <bruno@clisp.org>
40819
40820         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
40821         two variables local_ldadd_before, local_ldadd_last.
40822
40823 2007-12-20  Eric Blake  <ebb9@byu.net>
40824
40825         Work around circular library issue when cross-compiling.
40826         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
40827         that progname.o does not need to pull in rpl_memcmp.
40828
40829 2007-12-19  Eric Blake  <ebb9@byu.net>
40830
40831         Fix memmem to avoid O(n^2) worst-case complexity.
40832         * lib/memmem.c (knuth_morris_pratt): New function.
40833         (memmem): Use it if first few naive iterations fail.
40834         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
40835         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
40836         * modules/memchr (License): Likewise.
40837         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
40838         malloca.
40839         * tests/test-memmem.c: Rewrite, borrowing ideas from
40840         test-mbsstr1.c; the old version wouldn't even compile!
40841         * modules/memmem-tests: New file.
40842         * lib/string.in.h (rpl_memmem): Add declaration.
40843         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
40844         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
40845         REPLACE_MEMMEM.
40846
40847 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
40848
40849         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
40850         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
40851         before any system include files, and undef after them all.  This
40852         should fix a problem on VMS reported by John E. Malmberg in
40853         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
40854
40855 2007-12-17  Eric Blake  <ebb9@byu.net>
40856
40857         Revert addition of verify, for BSD/OS.
40858         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
40859         can't handle large files, for the sake of obsolete platforms.
40860         * modules/fseeko (Depends-on): Remove verify.
40861         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
40862         * doc/functions/ftello.texi (ftello): Likewise.
40863         * doc/functions/fgetpos.texi (fgetpos): Likewise.
40864         Reported by Larry Jones.
40865
40866 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
40867
40868         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
40869         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
40870
40871 2007-12-17  Jim Meyering  <meyering@redhat.com>
40872
40873         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
40874         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
40875         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
40876         * modules/getcwd (Depends-on): Add openat.
40877         Reported by Petr Salinger.
40878
40879 2007-12-17  Bruno Haible  <bruno@clisp.org>
40880
40881         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
40882         avoid a segmentation fault of the configure test on x86_64 systems.
40883
40884 2007-12-15  Jim Meyering  <meyering@redhat.com>
40885
40886         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
40887
40888 2007-12-13  Eric Blake  <ebb9@byu.net>
40889
40890         Another fseek test.
40891         * tests/test-fseek.c (main): Also test ungetc handling.
40892         * tests/test-fseeko.c (main): Likewise.
40893         * modules/fseeko (Depends-on): Add verify.
40894         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
40895         large.
40896         Reported by Larry Jones.
40897
40898         Fix fseeko on mingw.
40899         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
40900         seek.
40901
40902         Beef up fseek tests.
40903         * tests/test-fseek.c (main): Also test eof handling.
40904         * tests/test-fseeko.c (main): Likewise.
40905         Reported by Larry Jones.
40906
40907 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
40908
40909         Fix fseeko on BSD-based platforms.
40910         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
40911         successful seek.
40912
40913 2007-12-12  Eric Blake  <ebb9@byu.net>
40914
40915         Allow circular dependency of separate libtests.a
40916         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
40917         when use_libtests.
40918
40919 2007-12-11  Eric Blake  <ebb9@byu.net>
40920
40921         Fix bug with -0.0L in previous patch.
40922         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
40923         * tests/test-isnan.c (main): Also test on zeroes.
40924         * tests/test-isnanf.c (main): Likewise.
40925         * tests/test-isnanl.h (main): Likewise.
40926
40927         Detect pseudo-denormals on x86 even when cross-compiling.
40928         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
40929         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
40930         invalid bit patterns that happen to satisfy ==.
40931
40932         Avoid link failures with separate libtests.a.
40933         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
40934         last, to satisfy circular dependencies.
40935
40936 2007-12-11  Eric Blake  <ebb9@byu.net>
40937         and Bruno Haible  <bruno@clisp.org>
40938
40939         Fix OpenBSD 4.0 <float.h> handling of long double.
40940         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
40941         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
40942         * doc/headers/float.texi (float.h): Document OpenBSD bug.
40943
40944 2007-12-11  Jim Meyering  <meyering@redhat.com>
40945
40946         * users.txt: Add libvirt.
40947
40948         Support versions of autoconf prior to 2.59c.
40949         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
40950         if it is not already defined.
40951
40952 2007-12-09  Bruno Haible  <bruno@clisp.org>
40953
40954         Let 'gnulib-tool --import' collect sources needed for the tests in
40955         tests/ rather than in lib/.
40956         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
40957         argument. If true, add rules to generate libtests.a, and put libtests.a
40958         into $(LDADD). Consider source files in subdirectories and set
40959         uses_subdirs.
40960         (func_emit_initmacro_start, func_emit_initmacro_end,
40961         func_emit_initmacro_done): Pass all arguments explicitly.
40962         (func_import): Determine two module lists main_modules,
40963         testsrelated_modules. Determine use_libtests. Determine two variables
40964         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
40965         instead of just sed_transform_lib_file. Determine two variables
40966         main_files and testsrelated_files. Compute 'files' as the union of
40967         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
40968         func_add_or_update. In the generated gnulib-comp.m4, collect the
40969         object files for tests/ in different variables than those for lib/.
40970         Substitute LIBTESTS_LIBDEPS.
40971         (func_create_testdir): Combine the uses_subdirs results from
40972         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
40973
40974 2007-12-09  Bruno Haible  <bruno@clisp.org>
40975
40976         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
40977         the build-aux directory.
40978
40979 2007-12-09  Bruno Haible  <bruno@clisp.org>
40980
40981         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
40982         introduced on 2006-09-09.
40983
40984 2007-12-07  Jim Meyering  <meyering@redhat.com>
40985
40986         Let these macros work also with autoconf-2.59.
40987         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
40988         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
40989         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
40990
40991 2007-12-06  Jim Meyering  <meyering@redhat.com>
40992
40993         Avoid a configure-time syntax error in gl_FUNC_ACL.
40994         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
40995         function in each branch, before testing the cache variable.
40996
40997 2007-12-04  Eric Blake  <ebb9@byu.net>
40998
40999         Make scripts executable.
41000         * build-aux/config.guess: Add execute permissions.
41001         * build-aux/config.sub: Likewise.
41002         * build-aux/gendocs.sh: Likewise.
41003
41004         Fix frexp on mingw.
41005         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
41006         cross-compiling.
41007         * doc/functions/frexp.texi (frexp): Document the bug.
41008
41009         Make cygwin fseeko check more reliable.
41010         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
41011         version numbers, rather than unrelated feature check.
41012         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
41013         * doc/functions/ftello.texi (ftello): Likewise.
41014         Reported by Bruno Haible.
41015
41016         * m4/strerror.m4: Bump version number.
41017
41018 2007-12-03  Bruno Haible  <bruno@clisp.org>
41019
41020         * doc/functions/mprotect.texi: Mention the mingw problem.
41021
41022 2007-12-03  Eric Blake  <ebb9@byu.net>
41023
41024         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
41025         REPLACE_STRERROR is initialized before this macro.
41026
41027 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
41028
41029         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
41030         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
41031         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
41032         put -lsec in even for programs other than 'ls'.  This fixes a problem
41033         for gettext reported by Bruno Haible in
41034         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
41035         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
41036         Add support for Solaris 10.  This isn't efficient, but should get the
41037         job done for now.
41038
41039 2007-12-03  James Youngman  <jay@gnu.org>
41040
41041         * doc/regexprops-generic.texi: change "an close-group" to "a
41042         close-group" and "illegal" to "not allowed".
41043
41044 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41045
41046         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
41047         pr_byname.h. Needed for the rare case when the maintainer has done
41048         "make maintainer-clean" in the source directory and then attempts a
41049         build outside the source directory.
41050         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
41051         scripts_byname.h.
41052
41053 2007-12-02  Martin Lambers <marlam@marlam.de>
41054             Bruno Haible  <bruno@clisp.org>
41055
41056         * lib/getpagesize.h: Remove file.
41057         * lib/unistd.in.h: Include declaration of getpagesize here.
41058         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
41059         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
41060         HAVE_SYS_PARAM_H.
41061         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
41062         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
41063         * modules/getpagesize (Files): Remove lib/getpagesize.h.
41064         (Depends-on): Add unistd.
41065         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41066         (Include): Use <unistd.h> instead of getpagesize.h.
41067         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
41068         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
41069         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
41070         gl_GETPAGESIZE invocation, already handled by module dependency.
41071         * lib/pagealign_alloc.c: Don't include getpagesize.h.
41072
41073 2007-12-02  Bruno Haible  <bruno@clisp.org>
41074
41075         * modules/strings-tests: New file.
41076         * tests/test-strings.c: New file.
41077
41078         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
41079         * lib/strings.in.h: New file.
41080         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
41081         * m4/strings_h.m4: New file.
41082         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
41083         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
41084         * modules/strings: New file.
41085         * modules/string (Makefile.am): Update.
41086         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
41087         Reported by Karl Berry.
41088
41089 2007-12-01  Eric Blake  <ebb9@byu.net>
41090
41091         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
41092         accomodate fix in cygwin 1.5.25.
41093
41094 2007-12-01  Jim Meyering  <meyering@redhat.com>
41095
41096         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
41097         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
41098         that would inhibit utf8-optimization of a regexp containing line-
41099         or buffer-anchors, e.g., `^', `$'.
41100
41101 2007-11-30  Bruno Haible  <bruno@clisp.org>
41102
41103         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
41104         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
41105         glthread_recursive_lock_init.
41106         * lib/lock.c (glthread_recursive_lock_init)
41107         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
41108         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
41109
41110 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
41111
41112         New function qset_acl, like set_acl but with syscall semantics.
41113         * lib/acl.h (qset_acl): New decl.
41114         * lib/acl.c (qset_acl): New function.
41115         (set_acl): Use new function.  Use more-consistent diagnostics.
41116
41117 2007-11-28  Jim Meyering  <meyering@redhat.com>
41118
41119         * modules/physmem (License): Change from GPL to LGPLv2+.
41120
41121 2007-11-26  Bruno Haible  <bruno@clisp.org>
41122
41123         * lib/vasnprintf.c (decode_long_double): Don't abort if the
41124         'long double' type has excess precision.
41125         Reported by Jim Meyering in
41126         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
41127
41128 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41129
41130         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
41131         Sync from <http://gnu.org/licenses>.
41132         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
41133         with license text from same location.
41134         * doc/maintain.texi, doc/standards.texi:  Sync from
41135         <http://savannah.gnu.org/projects/gnustandards>.
41136
41137 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
41138         and Jim Meyering  <meyering@redhat.com>
41139
41140         Adjust getdate' grammar to accept a slightly more regular language.
41141         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
41142         Before, the former was rejected.
41143         * lib/getdate.y (digits_to_date_time): New function, factored
41144         out of ...
41145         (number): ...here.  Just call digits_to_date_time.
41146         (hybrid): New non-terminal to handle an <unsigned number,
41147         signed relative offset> sequence consistently.
41148
41149 2007-11-18  Jim Meyering  <meyering@redhat.com>
41150
41151         Pull my changes from coreutils:
41152         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
41153         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
41154         use of $gnulib_tool_option_extras, so that it's separated from the
41155         preceding argument.
41156
41157         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
41158         * build-aux/bootstrap (cp_mark_as_generated): Create any required
41159         parent destination directories before copying a file into place.
41160
41161 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
41162
41163         bootstrap: work also with 4-argument variant of AC_INIT
41164         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
41165
41166 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
41167
41168         Port test-getaddrinfo to Solaris.
41169         Problem reported by Bruno Haible in
41170         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
41171         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
41172         explanation of setting 'hints'.
41173         Don't reject an implementation merely because it returns EAI_SERVICE.
41174         (EAI_SERVICE): Define to 0 if not defined.
41175
41176 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
41177
41178         The license of gnu-make and posix-shell is now "GPLed build tool".
41179         * modules/gnu-make (License): Likewise.
41180         * modules/posix-shell (License): Likewise.
41181
41182         New module posix-shell, for determining a POSIX shell
41183         or perhaps something that is close enough to a POSIX shell.
41184         * m4/posix-shell.m4: New file.
41185         * modules/posix-shell: New file.
41186
41187         * MODULES.html.sh: Mention new module.
41188
41189         New module gnu-make, for determining whether we're using GNU Make.
41190         * m4/gnu-make.m4: New file.
41191         * modules/gnu-make: New file.
41192         * MODULES.html.sh: Mention new module.
41193
41194 2007-11-14  Jim Meyering  <meyering@redhat.com>
41195
41196         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
41197         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
41198         use this macro to create a function _definition_.
41199         Remove useless "#undef ARGMATCH_DIE".
41200
41201 2007-11-14  Bruno Haible  <bruno@clisp.org>
41202
41203         * lib/config.charset: Update for OpenBSD 4.1.
41204         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
41205
41206 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
41207
41208         Document 64-bit #if problems in stdint.texi.
41209         * doc/headers/stdint.texi (stdint.h): Mention problems with
41210         64-bit-#if, and how to work around them.
41211
41212         Don't insist on 'long long int' support in the preprocessor.  It
41213         breaks too many things.  For example, PRIdMAX still uses a 'long
41214         long int' format with the latest Sun compiler, even though
41215         HAVE_LONG_LONG_INT isn't defined due to that compiler's
41216         preprocessor problem.  This causes the latest coreutils to dump
41217         core on Solaris 10 sparc with the Sun C compiler.
41218         Instead, fix the 2007-10-16 problem in a different way, by evaluating
41219         the troublesome expressions at configure-time, not at #if-time.
41220         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
41221         preprocessor.
41222         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
41223         compile-time C checks, done at 'configure'-time.
41224         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
41225         * modules/inttypes (Makefile): Substitute the new symbols that
41226         gl_INTTYPES_H now generates.
41227         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
41228
41229 2007-11-12  Bruno Haible  <bruno@clisp.org>
41230
41231         Tests for Unicode character classification functions.
41232
41233         * modules/unictype/bidicategory-byname-tests: New file.
41234         * modules/unictype/bidicategory-name-tests: New file.
41235         * modules/unictype/bidicategory-of-tests: New file.
41236         * modules/unictype/bidicategory-test-tests: New file.
41237         * modules/unictype/block-list-tests: New file.
41238         * modules/unictype/block-of-tests: New file.
41239         * modules/unictype/block-test-tests: New file.
41240         * modules/unictype/category-C-tests: New file.
41241         * modules/unictype/category-Cc-tests: New file.
41242         * modules/unictype/category-Cf-tests: New file.
41243         * modules/unictype/category-Cn-tests: New file.
41244         * modules/unictype/category-Co-tests: New file.
41245         * modules/unictype/category-Cs-tests: New file.
41246         * modules/unictype/category-L-tests: New file.
41247         * modules/unictype/category-Ll-tests: New file.
41248         * modules/unictype/category-Lm-tests: New file.
41249         * modules/unictype/category-Lo-tests: New file.
41250         * modules/unictype/category-Lt-tests: New file.
41251         * modules/unictype/category-Lu-tests: New file.
41252         * modules/unictype/category-M-tests: New file.
41253         * modules/unictype/category-Mc-tests: New file.
41254         * modules/unictype/category-Me-tests: New file.
41255         * modules/unictype/category-Mn-tests: New file.
41256         * modules/unictype/category-N-tests: New file.
41257         * modules/unictype/category-Nd-tests: New file.
41258         * modules/unictype/category-Nl-tests: New file.
41259         * modules/unictype/category-No-tests: New file.
41260         * modules/unictype/category-P-tests: New file.
41261         * modules/unictype/category-Pc-tests: New file.
41262         * modules/unictype/category-Pd-tests: New file.
41263         * modules/unictype/category-Pe-tests: New file.
41264         * modules/unictype/category-Pf-tests: New file.
41265         * modules/unictype/category-Pi-tests: New file.
41266         * modules/unictype/category-Po-tests: New file.
41267         * modules/unictype/category-Ps-tests: New file.
41268         * modules/unictype/category-S-tests: New file.
41269         * modules/unictype/category-Sc-tests: New file.
41270         * modules/unictype/category-Sk-tests: New file.
41271         * modules/unictype/category-Sm-tests: New file.
41272         * modules/unictype/category-So-tests: New file.
41273         * modules/unictype/category-Z-tests: New file.
41274         * modules/unictype/category-Zl-tests: New file.
41275         * modules/unictype/category-Zp-tests: New file.
41276         * modules/unictype/category-Zs-tests: New file.
41277         * modules/unictype/category-and-not-tests: New file.
41278         * modules/unictype/category-and-tests: New file.
41279         * modules/unictype/category-byname-tests: New file.
41280         * modules/unictype/category-name-tests: New file.
41281         * modules/unictype/category-none-tests: New file.
41282         * modules/unictype/category-of-tests: New file.
41283         * modules/unictype/category-or-tests: New file.
41284         * modules/unictype/category-test-withtable-tests: New file.
41285         * modules/unictype/combining-class-tests: New file.
41286         * modules/unictype/ctype-alnum-tests: New file.
41287         * modules/unictype/ctype-alpha-tests: New file.
41288         * modules/unictype/ctype-blank-tests: New file.
41289         * modules/unictype/ctype-cntrl-tests: New file.
41290         * modules/unictype/ctype-digit-tests: New file.
41291         * modules/unictype/ctype-graph-tests: New file.
41292         * modules/unictype/ctype-lower-tests: New file.
41293         * modules/unictype/ctype-print-tests: New file.
41294         * modules/unictype/ctype-punct-tests: New file.
41295         * modules/unictype/ctype-space-tests: New file.
41296         * modules/unictype/ctype-upper-tests: New file.
41297         * modules/unictype/ctype-xdigit-tests: New file.
41298         * modules/unictype/decimal-digit-tests: New file.
41299         * modules/unictype/digit-tests: New file.
41300         * modules/unictype/mirror-tests: New file.
41301         * modules/unictype/numeric-tests: New file.
41302         * modules/unictype/property-alphabetic-tests: New file.
41303         * modules/unictype/property-ascii-hex-digit-tests: New file.
41304         * modules/unictype/property-bidi-arabic-digit-tests: New file.
41305         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
41306         * modules/unictype/property-bidi-block-separator-tests: New file.
41307         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
41308         * modules/unictype/property-bidi-common-separator-tests: New file.
41309         * modules/unictype/property-bidi-control-tests: New file.
41310         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
41311         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
41312         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
41313         * modules/unictype/property-bidi-european-digit-tests: New file.
41314         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
41315         * modules/unictype/property-bidi-left-to-right-tests: New file.
41316         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
41317         * modules/unictype/property-bidi-other-neutral-tests: New file.
41318         * modules/unictype/property-bidi-pdf-tests: New file.
41319         * modules/unictype/property-bidi-segment-separator-tests: New file.
41320         * modules/unictype/property-bidi-whitespace-tests: New file.
41321         * modules/unictype/property-byname-tests: New file.
41322         * modules/unictype/property-combining-tests: New file.
41323         * modules/unictype/property-composite-tests: New file.
41324         * modules/unictype/property-currency-symbol-tests: New file.
41325         * modules/unictype/property-dash-tests: New file.
41326         * modules/unictype/property-decimal-digit-tests: New file.
41327         * modules/unictype/property-default-ignorable-code-point-tests: New file.
41328         * modules/unictype/property-deprecated-tests: New file.
41329         * modules/unictype/property-diacritic-tests: New file.
41330         * modules/unictype/property-extender-tests: New file.
41331         * modules/unictype/property-format-control-tests: New file.
41332         * modules/unictype/property-grapheme-base-tests: New file.
41333         * modules/unictype/property-grapheme-extend-tests: New file.
41334         * modules/unictype/property-grapheme-link-tests: New file.
41335         * modules/unictype/property-hex-digit-tests: New file.
41336         * modules/unictype/property-hyphen-tests: New file.
41337         * modules/unictype/property-id-continue-tests: New file.
41338         * modules/unictype/property-id-start-tests: New file.
41339         * modules/unictype/property-ideographic-tests: New file.
41340         * modules/unictype/property-ids-binary-operator-tests: New file.
41341         * modules/unictype/property-ids-trinary-operator-tests: New file.
41342         * modules/unictype/property-ignorable-control-tests: New file.
41343         * modules/unictype/property-iso-control-tests: New file.
41344         * modules/unictype/property-join-control-tests: New file.
41345         * modules/unictype/property-left-of-pair-tests: New file.
41346         * modules/unictype/property-line-separator-tests: New file.
41347         * modules/unictype/property-logical-order-exception-tests: New file.
41348         * modules/unictype/property-lowercase-tests: New file.
41349         * modules/unictype/property-math-tests: New file.
41350         * modules/unictype/property-non-break-tests: New file.
41351         * modules/unictype/property-not-a-character-tests: New file.
41352         * modules/unictype/property-numeric-tests: New file.
41353         * modules/unictype/property-other-alphabetic-tests: New file.
41354         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
41355         * modules/unictype/property-other-grapheme-extend-tests: New file.
41356         * modules/unictype/property-other-id-continue-tests: New file.
41357         * modules/unictype/property-other-id-start-tests: New file.
41358         * modules/unictype/property-other-lowercase-tests: New file.
41359         * modules/unictype/property-other-math-tests: New file.
41360         * modules/unictype/property-other-uppercase-tests: New file.
41361         * modules/unictype/property-paired-punctuation-tests: New file.
41362         * modules/unictype/property-paragraph-separator-tests: New file.
41363         * modules/unictype/property-pattern-syntax-tests: New file.
41364         * modules/unictype/property-pattern-white-space-tests: New file.
41365         * modules/unictype/property-private-use-tests: New file.
41366         * modules/unictype/property-punctuation-tests: New file.
41367         * modules/unictype/property-quotation-mark-tests: New file.
41368         * modules/unictype/property-radical-tests: New file.
41369         * modules/unictype/property-sentence-terminal-tests: New file.
41370         * modules/unictype/property-soft-dotted-tests: New file.
41371         * modules/unictype/property-space-tests: New file.
41372         * modules/unictype/property-terminal-punctuation-tests: New file.
41373         * modules/unictype/property-test-tests: New file.
41374         * modules/unictype/property-titlecase-tests: New file.
41375         * modules/unictype/property-unassigned-code-value-tests: New file.
41376         * modules/unictype/property-unified-ideograph-tests: New file.
41377         * modules/unictype/property-uppercase-tests: New file.
41378         * modules/unictype/property-variation-selector-tests: New file.
41379         * modules/unictype/property-white-space-tests: New file.
41380         * modules/unictype/property-xid-continue-tests: New file.
41381         * modules/unictype/property-xid-start-tests: New file.
41382         * modules/unictype/property-zero-width-tests: New file.
41383         * modules/unictype/scripts-tests: New file.
41384         * modules/unictype/syntax-c-ident-tests: New file.
41385         * modules/unictype/syntax-c-whitespace-tests: New file.
41386         * modules/unictype/syntax-java-ident-tests: New file.
41387         * modules/unictype/syntax-java-whitespace-tests: New file.
41388         * tests/unictype/test-bidi_byname.c: New file.
41389         * tests/unictype/test-bidi_name.c: New file.
41390         * tests/unictype/test-bidi_of.c: New file.
41391         * tests/unictype/test-bidi_test.c: New file.
41392         * tests/unictype/test-block_list.c: New file.
41393         * tests/unictype/test-block_of.c: New file.
41394         * tests/unictype/test-block_test.c: New file.
41395         * tests/unictype/test-categ_and.c: New file.
41396         * tests/unictype/test-categ_and_not.c: New file.
41397         * tests/unictype/test-categ_byname.c: New file.
41398         * tests/unictype/test-categ_name.c: New file.
41399         * tests/unictype/test-categ_none.c: New file.
41400         * tests/unictype/test-categ_of.c: New file.
41401         * tests/unictype/test-categ_or.c: New file.
41402         * tests/unictype/test-categ_test_withtable.c: New file.
41403         * tests/unictype/test-combining.c: New file.
41404         * tests/unictype/test-decdigit.c: New file.
41405         * tests/unictype/test-digit.c: New file.
41406         * tests/unictype/test-mirror.c: New file.
41407         * tests/unictype/test-numeric.c: New file.
41408         * tests/unictype/test-pr_byname.c: New file.
41409         * tests/unictype/test-pr_test.c: New file.
41410         * tests/unictype/test-predicate-part1.h: New file.
41411         * tests/unictype/test-predicate-part2.h: New file.
41412         * tests/unictype/test-scripts.c: New file.
41413         * tests/unictype/test-sy_c_ident.c: New file.
41414         * tests/unictype/test-sy_java_ident.c: New file.
41415
41416         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
41417         for Unicode 5.0.0.
41418         * tests/unictype/test-categ_Cc.c: Likewise.
41419         * tests/unictype/test-categ_Cf.c: Likewise.
41420         * tests/unictype/test-categ_Cn.c: Likewise.
41421         * tests/unictype/test-categ_Co.c: Likewise.
41422         * tests/unictype/test-categ_Cs.c: Likewise.
41423         * tests/unictype/test-categ_L.c: Likewise.
41424         * tests/unictype/test-categ_Ll.c: Likewise.
41425         * tests/unictype/test-categ_Lm.c: Likewise.
41426         * tests/unictype/test-categ_Lo.c: Likewise.
41427         * tests/unictype/test-categ_Lt.c: Likewise.
41428         * tests/unictype/test-categ_Lu.c: Likewise.
41429         * tests/unictype/test-categ_M.c: Likewise.
41430         * tests/unictype/test-categ_Mc.c: Likewise.
41431         * tests/unictype/test-categ_Me.c: Likewise.
41432         * tests/unictype/test-categ_Mn.c: Likewise.
41433         * tests/unictype/test-categ_N.c: Likewise.
41434         * tests/unictype/test-categ_Nd.c: Likewise.
41435         * tests/unictype/test-categ_Nl.c: Likewise.
41436         * tests/unictype/test-categ_No.c: Likewise.
41437         * tests/unictype/test-categ_P.c: Likewise.
41438         * tests/unictype/test-categ_Pc.c: Likewise.
41439         * tests/unictype/test-categ_Pd.c: Likewise.
41440         * tests/unictype/test-categ_Pe.c: Likewise.
41441         * tests/unictype/test-categ_Pf.c: Likewise.
41442         * tests/unictype/test-categ_Pi.c: Likewise.
41443         * tests/unictype/test-categ_Po.c: Likewise.
41444         * tests/unictype/test-categ_Ps.c: Likewise.
41445         * tests/unictype/test-categ_S.c: Likewise.
41446         * tests/unictype/test-categ_Sc.c: Likewise.
41447         * tests/unictype/test-categ_Sk.c: Likewise.
41448         * tests/unictype/test-categ_Sm.c: Likewise.
41449         * tests/unictype/test-categ_So.c: Likewise.
41450         * tests/unictype/test-categ_Z.c: Likewise.
41451         * tests/unictype/test-categ_Zl.c: Likewise.
41452         * tests/unictype/test-categ_Zp.c: Likewise.
41453         * tests/unictype/test-categ_Zs.c: Likewise.
41454         * tests/unictype/test-ctype_alnum.c: Likewise.
41455         * tests/unictype/test-ctype_alpha.c: Likewise.
41456         * tests/unictype/test-ctype_blank.c: Likewise.
41457         * tests/unictype/test-ctype_cntrl.c: Likewise.
41458         * tests/unictype/test-ctype_digit.c: Likewise.
41459         * tests/unictype/test-ctype_graph.c: Likewise.
41460         * tests/unictype/test-ctype_lower.c: Likewise.
41461         * tests/unictype/test-ctype_print.c: Likewise.
41462         * tests/unictype/test-ctype_punct.c: Likewise.
41463         * tests/unictype/test-ctype_space.c: Likewise.
41464         * tests/unictype/test-ctype_upper.c: Likewise.
41465         * tests/unictype/test-ctype_xdigit.c: Likewise.
41466         * tests/unictype/test-decdigit.h: Likewise.
41467         * tests/unictype/test-digit.h: Likewise.
41468         * tests/unictype/test-numeric.h: Likewise.
41469         * tests/unictype/test-pr_alphabetic.c: Likewise.
41470         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
41471         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
41472         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
41473         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
41474         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
41475         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
41476         * tests/unictype/test-pr_bidi_control.c: Likewise.
41477         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
41478         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
41479         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
41480         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
41481         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
41482         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
41483         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
41484         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
41485         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
41486         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
41487         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
41488         * tests/unictype/test-pr_combining.c: Likewise.
41489         * tests/unictype/test-pr_composite.c: Likewise.
41490         * tests/unictype/test-pr_currency_symbol.c: Likewise.
41491         * tests/unictype/test-pr_dash.c: Likewise.
41492         * tests/unictype/test-pr_decimal_digit.c: Likewise.
41493         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
41494         * tests/unictype/test-pr_deprecated.c: Likewise.
41495         * tests/unictype/test-pr_diacritic.c: Likewise.
41496         * tests/unictype/test-pr_extender.c: Likewise.
41497         * tests/unictype/test-pr_format_control.c: Likewise.
41498         * tests/unictype/test-pr_grapheme_base.c: Likewise.
41499         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
41500         * tests/unictype/test-pr_grapheme_link.c: Likewise.
41501         * tests/unictype/test-pr_hex_digit.c: Likewise.
41502         * tests/unictype/test-pr_hyphen.c: Likewise.
41503         * tests/unictype/test-pr_id_continue.c: Likewise.
41504         * tests/unictype/test-pr_id_start.c: Likewise.
41505         * tests/unictype/test-pr_ideographic.c: Likewise.
41506         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
41507         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
41508         * tests/unictype/test-pr_ignorable_control.c: Likewise.
41509         * tests/unictype/test-pr_iso_control.c: Likewise.
41510         * tests/unictype/test-pr_join_control.c: Likewise.
41511         * tests/unictype/test-pr_left_of_pair.c: Likewise.
41512         * tests/unictype/test-pr_line_separator.c: Likewise.
41513         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
41514         * tests/unictype/test-pr_lowercase.c: Likewise.
41515         * tests/unictype/test-pr_math.c: Likewise.
41516         * tests/unictype/test-pr_non_break.c: Likewise.
41517         * tests/unictype/test-pr_not_a_character.c: Likewise.
41518         * tests/unictype/test-pr_numeric.c: Likewise.
41519         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
41520         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
41521         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
41522         * tests/unictype/test-pr_other_id_continue.c: Likewise.
41523         * tests/unictype/test-pr_other_id_start.c: Likewise.
41524         * tests/unictype/test-pr_other_lowercase.c: Likewise.
41525         * tests/unictype/test-pr_other_math.c: Likewise.
41526         * tests/unictype/test-pr_other_uppercase.c: Likewise.
41527         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
41528         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
41529         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
41530         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
41531         * tests/unictype/test-pr_private_use.c: Likewise.
41532         * tests/unictype/test-pr_punctuation.c: Likewise.
41533         * tests/unictype/test-pr_quotation_mark.c: Likewise.
41534         * tests/unictype/test-pr_radical.c: Likewise.
41535         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
41536         * tests/unictype/test-pr_soft_dotted.c: Likewise.
41537         * tests/unictype/test-pr_space.c: Likewise.
41538         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
41539         * tests/unictype/test-pr_titlecase.c: Likewise.
41540         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
41541         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
41542         * tests/unictype/test-pr_uppercase.c: Likewise.
41543         * tests/unictype/test-pr_variation_selector.c: Likewise.
41544         * tests/unictype/test-pr_white_space.c: Likewise.
41545         * tests/unictype/test-pr_xid_continue.c: Likewise.
41546         * tests/unictype/test-pr_xid_start.c: Likewise.
41547         * tests/unictype/test-pr_zero_width.c: Likewise.
41548         * tests/unictype/test-sy_c_whitespace.c: Likewise.
41549         * tests/unictype/test-sy_java_whitespace.c: Likewise.
41550
41551 2007-11-12  Bruno Haible  <bruno@clisp.org>
41552
41553         Unicode character classification functions.
41554         * lib/unictype.h: New file.
41555         * modules/unictype/base: New file.
41556         * modules/unictype/category-L: New file.
41557         * modules/unictype/category-Lu: New file.
41558         * modules/unictype/category-Ll: New file.
41559         * modules/unictype/category-Lt: New file.
41560         * modules/unictype/category-Lm: New file.
41561         * modules/unictype/category-Lo: New file.
41562         * modules/unictype/category-M: New file.
41563         * modules/unictype/category-Mn: New file.
41564         * modules/unictype/category-Mc: New file.
41565         * modules/unictype/category-Me: New file.
41566         * modules/unictype/category-N: New file.
41567         * modules/unictype/category-Nd: New file.
41568         * modules/unictype/category-Nl: New file.
41569         * modules/unictype/category-No: New file.
41570         * modules/unictype/category-P: New file.
41571         * modules/unictype/category-Pc: New file.
41572         * modules/unictype/category-Pd: New file.
41573         * modules/unictype/category-Ps: New file.
41574         * modules/unictype/category-Pe: New file.
41575         * modules/unictype/category-Pi: New file.
41576         * modules/unictype/category-Pf: New file.
41577         * modules/unictype/category-Po: New file.
41578         * modules/unictype/category-S: New file.
41579         * modules/unictype/category-Sm: New file.
41580         * modules/unictype/category-Sc: New file.
41581         * modules/unictype/category-Sk: New file.
41582         * modules/unictype/category-So: New file.
41583         * modules/unictype/category-Z: New file.
41584         * modules/unictype/category-Zs: New file.
41585         * modules/unictype/category-Zl: New file.
41586         * modules/unictype/category-Zp: New file.
41587         * modules/unictype/category-C: New file.
41588         * modules/unictype/category-Cc: New file.
41589         * modules/unictype/category-Cf: New file.
41590         * modules/unictype/category-Cs: New file.
41591         * modules/unictype/category-Co: New file.
41592         * modules/unictype/category-Cn: New file.
41593         * modules/unictype/category-or: New file.
41594         * modules/unictype/category-of: New file.
41595         * modules/unictype/category-test: New file.
41596         * modules/unictype/category-test-withtable: New file.
41597         * modules/unictype/category-byname: New file.
41598         * modules/unictype/category-none: New file.
41599         * modules/unictype/category-and: New file.
41600         * modules/unictype/category-and-not: New file.
41601         * modules/unictype/category-name: New file.
41602         * modules/unictype/combining-class: New file.
41603         * modules/unictype/category-all: New file.
41604         * modules/unictype/bidicategory-all: New file.
41605         * modules/unictype/bidicategory-byname: New file.
41606         * modules/unictype/bidicategory-name: New file.
41607         * modules/unictype/bidicategory-of: New file.
41608         * modules/unictype/bidicategory-test: New file.
41609         * modules/unictype/decimal-digit: New file.
41610         * modules/unictype/digit: New file.
41611         * modules/unictype/numeric: New file.
41612         * modules/unictype/mirror: New file.
41613         * modules/unictype/property-white-space: New file.
41614         * modules/unictype/property-alphabetic: New file.
41615         * modules/unictype/property-other-alphabetic: New file.
41616         * modules/unictype/property-not-a-character: New file.
41617         * modules/unictype/property-default-ignorable-code-point: New file.
41618         * modules/unictype/property-other-default-ignorable-code-point: New
41619         file.
41620         * modules/unictype/property-deprecated: New file.
41621         * modules/unictype/property-logical-order-exception: New file.
41622         * modules/unictype/property-variation-selector: New file.
41623         * modules/unictype/property-private-use: New file.
41624         * modules/unictype/property-unassigned-code-value: New file.
41625         * modules/unictype/property-uppercase: New file.
41626         * modules/unictype/property-other-uppercase: New file.
41627         * modules/unictype/property-lowercase: New file.
41628         * modules/unictype/property-other-lowercase: New file.
41629         * modules/unictype/property-titlecase: New file.
41630         * modules/unictype/property-soft-dotted: New file.
41631         * modules/unictype/property-id-start: New file.
41632         * modules/unictype/property-other-id-start: New file.
41633         * modules/unictype/property-id-continue: New file.
41634         * modules/unictype/property-other-id-continue: New file.
41635         * modules/unictype/property-xid-start: New file.
41636         * modules/unictype/property-xid-continue: New file.
41637         * modules/unictype/property-pattern-white-space: New file.
41638         * modules/unictype/property-pattern-syntax: New file.
41639         * modules/unictype/property-join-control: New file.
41640         * modules/unictype/property-grapheme-base: New file.
41641         * modules/unictype/property-grapheme-extend: New file.
41642         * modules/unictype/property-other-grapheme-extend: New file.
41643         * modules/unictype/property-grapheme-link: New file.
41644         * modules/unictype/property-bidi-control: New file.
41645         * modules/unictype/property-bidi-left-to-right: New file.
41646         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
41647         * modules/unictype/property-bidi-arabic-right-to-left: New file.
41648         * modules/unictype/property-bidi-european-digit: New file.
41649         * modules/unictype/property-bidi-eur-num-separator: New file.
41650         * modules/unictype/property-bidi-eur-num-terminator: New file.
41651         * modules/unictype/property-bidi-arabic-digit: New file.
41652         * modules/unictype/property-bidi-common-separator: New file.
41653         * modules/unictype/property-bidi-block-separator: New file.
41654         * modules/unictype/property-bidi-segment-separator: New file.
41655         * modules/unictype/property-bidi-whitespace: New file.
41656         * modules/unictype/property-bidi-non-spacing-mark: New file.
41657         * modules/unictype/property-bidi-boundary-neutral: New file.
41658         * modules/unictype/property-bidi-pdf: New file.
41659         * modules/unictype/property-bidi-embedding-or-override: New file.
41660         * modules/unictype/property-bidi-other-neutral: New file.
41661         * modules/unictype/property-hex-digit: New file.
41662         * modules/unictype/property-ascii-hex-digit: New file.
41663         * modules/unictype/property-ideographic: New file.
41664         * modules/unictype/property-unified-ideograph: New file.
41665         * modules/unictype/property-radical: New file.
41666         * modules/unictype/property-ids-binary-operator: New file.
41667         * modules/unictype/property-ids-trinary-operator: New file.
41668         * modules/unictype/property-zero-width: New file.
41669         * modules/unictype/property-space: New file.
41670         * modules/unictype/property-non-break: New file.
41671         * modules/unictype/property-iso-control: New file.
41672         * modules/unictype/property-format-control: New file.
41673         * modules/unictype/property-dash: New file.
41674         * modules/unictype/property-hyphen: New file.
41675         * modules/unictype/property-punctuation: New file.
41676         * modules/unictype/property-line-separator: New file.
41677         * modules/unictype/property-paragraph-separator: New file.
41678         * modules/unictype/property-quotation-mark: New file.
41679         * modules/unictype/property-sentence-terminal: New file.
41680         * modules/unictype/property-terminal-punctuation: New file.
41681         * modules/unictype/property-currency-symbol: New file.
41682         * modules/unictype/property-math: New file.
41683         * modules/unictype/property-other-math: New file.
41684         * modules/unictype/property-paired-punctuation: New file.
41685         * modules/unictype/property-left-of-pair: New file.
41686         * modules/unictype/property-combining: New file.
41687         * modules/unictype/property-composite: New file.
41688         * modules/unictype/property-decimal-digit: New file.
41689         * modules/unictype/property-numeric: New file.
41690         * modules/unictype/property-diacritic: New file.
41691         * modules/unictype/property-extender: New file.
41692         * modules/unictype/property-ignorable-control: New file.
41693         * modules/unictype/property-test: New file.
41694         * modules/unictype/property-byname: New file.
41695         * modules/unictype/property-all: New file.
41696         * modules/unictype/scripts: New file.
41697         * modules/unictype/scripts-all: New file.
41698         * modules/unictype/block-of: New file.
41699         * modules/unictype/block-test: New file.
41700         * modules/unictype/block-list: New file.
41701         * modules/unictype/block-all: New file.
41702         * modules/unictype/syntax-c-whitespace: New file.
41703         * modules/unictype/syntax-java-whitespace: New file.
41704         * modules/unictype/syntax-c-ident: New file.
41705         * modules/unictype/syntax-java-ident: New file.
41706         * modules/unictype/ctype-alnum: New file.
41707         * modules/unictype/ctype-alpha: New file.
41708         * modules/unictype/ctype-cntrl: New file.
41709         * modules/unictype/ctype-digit: New file.
41710         * modules/unictype/ctype-graph: New file.
41711         * modules/unictype/ctype-lower: New file.
41712         * modules/unictype/ctype-print: New file.
41713         * modules/unictype/ctype-punct: New file.
41714         * modules/unictype/ctype-space: New file.
41715         * modules/unictype/ctype-upper: New file.
41716         * modules/unictype/ctype-xdigit: New file.
41717         * modules/unictype/ctype-blank: New file.
41718         * lib/unictype/bidi_byname.c: New file.
41719         * lib/unictype/bidi_name.c: New file.
41720         * lib/unictype/bidi_of.c: New file.
41721         * lib/unictype/bidi_test.c: New file.
41722         * lib/unictype/bitmap.h: New file.
41723         * lib/unictype/block_test.c: New file.
41724         * lib/unictype/blocks.c: New file.
41725         * lib/unictype/categ_C.c: New file.
41726         * lib/unictype/categ_Cc.c: New file.
41727         * lib/unictype/categ_Cf.c: New file.
41728         * lib/unictype/categ_Cn.c: New file.
41729         * lib/unictype/categ_Co.c: New file.
41730         * lib/unictype/categ_Cs.c: New file.
41731         * lib/unictype/categ_L.c: New file.
41732         * lib/unictype/categ_Ll.c: New file.
41733         * lib/unictype/categ_Lm.c: New file.
41734         * lib/unictype/categ_Lo.c: New file.
41735         * lib/unictype/categ_Lt.c: New file.
41736         * lib/unictype/categ_Lu.c: New file.
41737         * lib/unictype/categ_M.c: New file.
41738         * lib/unictype/categ_Mc.c: New file.
41739         * lib/unictype/categ_Me.c: New file.
41740         * lib/unictype/categ_Mn.c: New file.
41741         * lib/unictype/categ_N.c: New file.
41742         * lib/unictype/categ_Nd.c: New file.
41743         * lib/unictype/categ_Nl.c: New file.
41744         * lib/unictype/categ_No.c: New file.
41745         * lib/unictype/categ_P.c: New file.
41746         * lib/unictype/categ_Pc.c: New file.
41747         * lib/unictype/categ_Pd.c: New file.
41748         * lib/unictype/categ_Pe.c: New file.
41749         * lib/unictype/categ_Pf.c: New file.
41750         * lib/unictype/categ_Pi.c: New file.
41751         * lib/unictype/categ_Po.c: New file.
41752         * lib/unictype/categ_Ps.c: New file.
41753         * lib/unictype/categ_S.c: New file.
41754         * lib/unictype/categ_Sc.c: New file.
41755         * lib/unictype/categ_Sk.c: New file.
41756         * lib/unictype/categ_Sm.c: New file.
41757         * lib/unictype/categ_So.c: New file.
41758         * lib/unictype/categ_Z.c: New file.
41759         * lib/unictype/categ_Zl.c: New file.
41760         * lib/unictype/categ_Zp.c: New file.
41761         * lib/unictype/categ_Zs.c: New file.
41762         * lib/unictype/categ_and.c: New file.
41763         * lib/unictype/categ_and_not.c: New file.
41764         * lib/unictype/categ_byname.c: New file.
41765         * lib/unictype/categ_name.c: New file.
41766         * lib/unictype/categ_none.c: New file.
41767         * lib/unictype/categ_of.c: New file.
41768         * lib/unictype/categ_or.c: New file.
41769         * lib/unictype/categ_test.c: New file.
41770         * lib/unictype/combining.c: New file.
41771         * lib/unictype/ctype_alnum.c: New file.
41772         * lib/unictype/ctype_alpha.c: New file.
41773         * lib/unictype/ctype_blank.c: New file.
41774         * lib/unictype/ctype_cntrl.c: New file.
41775         * lib/unictype/ctype_digit.c: New file.
41776         * lib/unictype/ctype_graph.c: New file.
41777         * lib/unictype/ctype_lower.c: New file.
41778         * lib/unictype/ctype_print.c: New file.
41779         * lib/unictype/ctype_punct.c: New file.
41780         * lib/unictype/ctype_space.c: New file.
41781         * lib/unictype/ctype_upper.c: New file.
41782         * lib/unictype/ctype_xdigit.c: New file.
41783         * lib/unictype/decdigit.c: New file.
41784         * lib/unictype/digit.c: New file.
41785         * lib/unictype/identsyntaxmap.h: New file.
41786         * lib/unictype/mirror.c: New file.
41787         * lib/unictype/numeric.c: New file.
41788         * lib/unictype/pr_alphabetic.c: New file.
41789         * lib/unictype/pr_ascii_hex_digit.c: New file.
41790         * lib/unictype/pr_bidi_arabic_digit.c: New file.
41791         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
41792         * lib/unictype/pr_bidi_block_separator.c: New file.
41793         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
41794         * lib/unictype/pr_bidi_common_separator.c: New file.
41795         * lib/unictype/pr_bidi_control.c: New file.
41796         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
41797         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
41798         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
41799         * lib/unictype/pr_bidi_european_digit.c: New file.
41800         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
41801         * lib/unictype/pr_bidi_left_to_right.c: New file.
41802         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
41803         * lib/unictype/pr_bidi_other_neutral.c: New file.
41804         * lib/unictype/pr_bidi_pdf.c: New file.
41805         * lib/unictype/pr_bidi_segment_separator.c: New file.
41806         * lib/unictype/pr_bidi_whitespace.c: New file.
41807         * lib/unictype/pr_byname.c: New file.
41808         * lib/unictype/pr_byname.gperf: New file.
41809         * lib/unictype/pr_combining.c: New file.
41810         * lib/unictype/pr_composite.c: New file.
41811         * lib/unictype/pr_currency_symbol.c: New file.
41812         * lib/unictype/pr_dash.c: New file.
41813         * lib/unictype/pr_decimal_digit.c: New file.
41814         * lib/unictype/pr_default_ignorable_code_point.c: New file.
41815         * lib/unictype/pr_deprecated.c: New file.
41816         * lib/unictype/pr_diacritic.c: New file.
41817         * lib/unictype/pr_extender.c: New file.
41818         * lib/unictype/pr_format_control.c: New file.
41819         * lib/unictype/pr_grapheme_base.c: New file.
41820         * lib/unictype/pr_grapheme_extend.c: New file.
41821         * lib/unictype/pr_grapheme_link.c: New file.
41822         * lib/unictype/pr_hex_digit.c: New file.
41823         * lib/unictype/pr_hyphen.c: New file.
41824         * lib/unictype/pr_id_continue.c: New file.
41825         * lib/unictype/pr_id_start.c: New file.
41826         * lib/unictype/pr_ideographic.c: New file.
41827         * lib/unictype/pr_ids_binary_operator.c: New file.
41828         * lib/unictype/pr_ids_trinary_operator.c: New file.
41829         * lib/unictype/pr_ignorable_control.c: New file.
41830         * lib/unictype/pr_iso_control.c: New file.
41831         * lib/unictype/pr_join_control.c: New file.
41832         * lib/unictype/pr_left_of_pair.c: New file.
41833         * lib/unictype/pr_line_separator.c: New file.
41834         * lib/unictype/pr_logical_order_exception.c: New file.
41835         * lib/unictype/pr_lowercase.c: New file.
41836         * lib/unictype/pr_math.c: New file.
41837         * lib/unictype/pr_non_break.c: New file.
41838         * lib/unictype/pr_not_a_character.c: New file.
41839         * lib/unictype/pr_numeric.c: New file.
41840         * lib/unictype/pr_other_alphabetic.c: New file.
41841         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
41842         * lib/unictype/pr_other_grapheme_extend.c: New file.
41843         * lib/unictype/pr_other_id_continue.c: New file.
41844         * lib/unictype/pr_other_id_start.c: New file.
41845         * lib/unictype/pr_other_lowercase.c: New file.
41846         * lib/unictype/pr_other_math.c: New file.
41847         * lib/unictype/pr_other_uppercase.c: New file.
41848         * lib/unictype/pr_paired_punctuation.c: New file.
41849         * lib/unictype/pr_paragraph_separator.c: New file.
41850         * lib/unictype/pr_pattern_syntax.c: New file.
41851         * lib/unictype/pr_pattern_white_space.c: New file.
41852         * lib/unictype/pr_private_use.c: New file.
41853         * lib/unictype/pr_punctuation.c: New file.
41854         * lib/unictype/pr_quotation_mark.c: New file.
41855         * lib/unictype/pr_radical.c: New file.
41856         * lib/unictype/pr_sentence_terminal.c: New file.
41857         * lib/unictype/pr_soft_dotted.c: New file.
41858         * lib/unictype/pr_space.c: New file.
41859         * lib/unictype/pr_terminal_punctuation.c: New file.
41860         * lib/unictype/pr_test.c: New file.
41861         * lib/unictype/pr_titlecase.c: New file.
41862         * lib/unictype/pr_unassigned_code_value.c: New file.
41863         * lib/unictype/pr_unified_ideograph.c: New file.
41864         * lib/unictype/pr_uppercase.c: New file.
41865         * lib/unictype/pr_variation_selector.c: New file.
41866         * lib/unictype/pr_white_space.c: New file.
41867         * lib/unictype/pr_xid_continue.c: New file.
41868         * lib/unictype/pr_xid_start.c: New file.
41869         * lib/unictype/pr_zero_width.c: New file.
41870         * lib/unictype/scripts.c: New file.
41871         * lib/unictype/sy_c_ident.c: New file.
41872         * lib/unictype/sy_c_whitespace.c: New file.
41873         * lib/unictype/sy_java_ident.c: New file.
41874         * lib/unictype/sy_java_whitespace.c: New file.
41875
41876         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
41877         Unicode 5.0.0.
41878         * lib/unictype/blocks.h: Likewise.
41879         * lib/unictype/categ_C.h: Likewise.
41880         * lib/unictype/categ_Cc.h: Likewise.
41881         * lib/unictype/categ_Cf.h: Likewise.
41882         * lib/unictype/categ_Cn.h: Likewise.
41883         * lib/unictype/categ_Co.h: Likewise.
41884         * lib/unictype/categ_Cs.h: Likewise.
41885         * lib/unictype/categ_L.h: Likewise.
41886         * lib/unictype/categ_Ll.h: Likewise.
41887         * lib/unictype/categ_Lm.h: Likewise.
41888         * lib/unictype/categ_Lo.h: Likewise.
41889         * lib/unictype/categ_Lt.h: Likewise.
41890         * lib/unictype/categ_Lu.h: Likewise.
41891         * lib/unictype/categ_M.h: Likewise.
41892         * lib/unictype/categ_Mc.h: Likewise.
41893         * lib/unictype/categ_Me.h: Likewise.
41894         * lib/unictype/categ_Mn.h: Likewise.
41895         * lib/unictype/categ_N.h: Likewise.
41896         * lib/unictype/categ_Nd.h: Likewise.
41897         * lib/unictype/categ_Nl.h: Likewise.
41898         * lib/unictype/categ_No.h: Likewise.
41899         * lib/unictype/categ_P.h: Likewise.
41900         * lib/unictype/categ_Pc.h: Likewise.
41901         * lib/unictype/categ_Pd.h: Likewise.
41902         * lib/unictype/categ_Pe.h: Likewise.
41903         * lib/unictype/categ_Pf.h: Likewise.
41904         * lib/unictype/categ_Pi.h: Likewise.
41905         * lib/unictype/categ_Po.h: Likewise.
41906         * lib/unictype/categ_Ps.h: Likewise.
41907         * lib/unictype/categ_S.h: Likewise.
41908         * lib/unictype/categ_Sc.h: Likewise.
41909         * lib/unictype/categ_Sk.h: Likewise.
41910         * lib/unictype/categ_Sm.h: Likewise.
41911         * lib/unictype/categ_So.h: Likewise.
41912         * lib/unictype/categ_Z.h: Likewise.
41913         * lib/unictype/categ_Zl.h: Likewise.
41914         * lib/unictype/categ_Zp.h: Likewise.
41915         * lib/unictype/categ_Zs.h: Likewise.
41916         * lib/unictype/categ_of.h: Likewise.
41917         * lib/unictype/combining.h: Likewise.
41918         * lib/unictype/ctype_alnum.h: Likewise.
41919         * lib/unictype/ctype_alpha.h: Likewise.
41920         * lib/unictype/ctype_blank.h: Likewise.
41921         * lib/unictype/ctype_cntrl.h: Likewise.
41922         * lib/unictype/ctype_digit.h: Likewise.
41923         * lib/unictype/ctype_graph.h: Likewise.
41924         * lib/unictype/ctype_lower.h: Likewise.
41925         * lib/unictype/ctype_print.h: Likewise.
41926         * lib/unictype/ctype_punct.h: Likewise.
41927         * lib/unictype/ctype_space.h: Likewise.
41928         * lib/unictype/ctype_upper.h: Likewise.
41929         * lib/unictype/ctype_xdigit.h: Likewise.
41930         * lib/unictype/decdigit.h: Likewise.
41931         * lib/unictype/digit.h: Likewise.
41932         * lib/unictype/mirror.h: Likewise.
41933         * lib/unictype/numeric.h: Likewise.
41934         * lib/unictype/pr_alphabetic.h: Likewise.
41935         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
41936         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
41937         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
41938         * lib/unictype/pr_bidi_block_separator.h: Likewise.
41939         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
41940         * lib/unictype/pr_bidi_common_separator.h: Likewise.
41941         * lib/unictype/pr_bidi_control.h: Likewise.
41942         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
41943         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
41944         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
41945         * lib/unictype/pr_bidi_european_digit.h: Likewise.
41946         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
41947         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
41948         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
41949         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
41950         * lib/unictype/pr_bidi_pdf.h: Likewise.
41951         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
41952         * lib/unictype/pr_bidi_whitespace.h: Likewise.
41953         * lib/unictype/pr_combining.h: Likewise.
41954         * lib/unictype/pr_composite.h: Likewise.
41955         * lib/unictype/pr_currency_symbol.h: Likewise.
41956         * lib/unictype/pr_dash.h: Likewise.
41957         * lib/unictype/pr_decimal_digit.h: Likewise.
41958         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
41959         * lib/unictype/pr_deprecated.h: Likewise.
41960         * lib/unictype/pr_diacritic.h: Likewise.
41961         * lib/unictype/pr_extender.h: Likewise.
41962         * lib/unictype/pr_format_control.h: Likewise.
41963         * lib/unictype/pr_grapheme_base.h: Likewise.
41964         * lib/unictype/pr_grapheme_extend.h: Likewise.
41965         * lib/unictype/pr_grapheme_link.h: Likewise.
41966         * lib/unictype/pr_hex_digit.h: Likewise.
41967         * lib/unictype/pr_hyphen.h: Likewise.
41968         * lib/unictype/pr_id_continue.h: Likewise.
41969         * lib/unictype/pr_id_start.h: Likewise.
41970         * lib/unictype/pr_ideographic.h: Likewise.
41971         * lib/unictype/pr_ids_binary_operator.h: Likewise.
41972         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
41973         * lib/unictype/pr_ignorable_control.h: Likewise.
41974         * lib/unictype/pr_iso_control.h: Likewise.
41975         * lib/unictype/pr_join_control.h: Likewise.
41976         * lib/unictype/pr_left_of_pair.h: Likewise.
41977         * lib/unictype/pr_line_separator.h: Likewise.
41978         * lib/unictype/pr_logical_order_exception.h: Likewise.
41979         * lib/unictype/pr_lowercase.h: Likewise.
41980         * lib/unictype/pr_math.h: Likewise.
41981         * lib/unictype/pr_non_break.h: Likewise.
41982         * lib/unictype/pr_not_a_character.h: Likewise.
41983         * lib/unictype/pr_numeric.h: Likewise.
41984         * lib/unictype/pr_other_alphabetic.h: Likewise.
41985         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
41986         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
41987         * lib/unictype/pr_other_id_continue.h: Likewise.
41988         * lib/unictype/pr_other_id_start.h: Likewise.
41989         * lib/unictype/pr_other_lowercase.h: Likewise.
41990         * lib/unictype/pr_other_math.h: Likewise.
41991         * lib/unictype/pr_other_uppercase.h: Likewise.
41992         * lib/unictype/pr_paired_punctuation.h: Likewise.
41993         * lib/unictype/pr_paragraph_separator.h: Likewise.
41994         * lib/unictype/pr_pattern_syntax.h: Likewise.
41995         * lib/unictype/pr_pattern_white_space.h: Likewise.
41996         * lib/unictype/pr_private_use.h: Likewise.
41997         * lib/unictype/pr_punctuation.h: Likewise.
41998         * lib/unictype/pr_quotation_mark.h: Likewise.
41999         * lib/unictype/pr_radical.h: Likewise.
42000         * lib/unictype/pr_sentence_terminal.h: Likewise.
42001         * lib/unictype/pr_soft_dotted.h: Likewise.
42002         * lib/unictype/pr_space.h: Likewise.
42003         * lib/unictype/pr_terminal_punctuation.h: Likewise.
42004         * lib/unictype/pr_titlecase.h: Likewise.
42005         * lib/unictype/pr_unassigned_code_value.h: Likewise.
42006         * lib/unictype/pr_unified_ideograph.h: Likewise.
42007         * lib/unictype/pr_uppercase.h: Likewise.
42008         * lib/unictype/pr_variation_selector.h: Likewise.
42009         * lib/unictype/pr_white_space.h: Likewise.
42010         * lib/unictype/pr_xid_continue.h: Likewise.
42011         * lib/unictype/pr_xid_start.h: Likewise.
42012         * lib/unictype/pr_zero_width.h: Likewise.
42013         * lib/unictype/scripts.h: Likewise.
42014         * lib/unictype/scripts_byname.gperf: Likewise.
42015         * lib/unictype/sy_c_ident.h: Likewise.
42016         * lib/unictype/sy_c_whitespace.h: Likewise.
42017         * lib/unictype/sy_java_ident.h: Likewise.
42018         * lib/unictype/sy_java_whitespace.h: Likewise.
42019
42020         * lib/unictype/Makefile: New file.
42021         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
42022         glibc.
42023         * lib/unictype/3level.h: New file, copied from glibc.
42024         * lib/unictype/3levelbit.h: New file.
42025
42026 2007-11-11  Bruno Haible  <bruno@clisp.org>
42027
42028         * modules/gperf: New file.
42029         * modules/iconv_open (Depends-on): Add it.
42030         (Makefile.am): Remove the GPERF definition.
42031
42032 2007-11-11  Bruno Haible  <bruno@clisp.org>
42033
42034         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
42035         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
42036
42037 2007-11-11  Bruno Haible  <bruno@clisp.org>
42038
42039         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
42040         (usage): Remove function.
42041
42042 2007-11-11  Bruno Haible  <bruno@clisp.org>
42043
42044         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
42045         gl_FUNC_CEILF_LIBS.
42046         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
42047         gl_FUNC_CEIL_LIBS.
42048         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
42049         gl_FUNC_CEILL_LIBS.
42050         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
42051         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
42052         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
42053
42054 2007-11-11  Bruno Haible  <bruno@clisp.org>
42055
42056         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
42057         roundf were declared but do not exist on functions.
42058         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
42059         roundl were declared but do not exist on functions.
42060         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
42061         HAVE_FLOORL_AND_CEILL, respectively.
42062         Needed for Sun C on Solaris 10.
42063
42064 2007-11-11  Bruno Haible  <bruno@clisp.org>
42065
42066         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
42067         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
42068         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
42069         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
42070         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
42071         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
42072         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
42073         HAVE_DECL_ROUNDF.
42074         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
42075         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
42076         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
42077         of HAVE_DECL_ROUND*.
42078         * modules/math (Makefile.am): Update.
42079
42080 2007-11-10  Bruno Haible  <bruno@clisp.org>
42081
42082         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
42083         ptrdiff_t as m4/intl.m4.
42084
42085 2007-11-10  Jim Meyering  <meyering@redhat.com>
42086
42087         Avoid link failure for the argmatch test.
42088         * tests/test-argmatch.c (usage): Define function to avoid a link
42089         failure: argmatch_die requires a usage function.
42090
42091 2007-11-09  Bruno Haible  <bruno@clisp.org>
42092
42093         * doc/functions/snprintf.texi: Mention BeOS deficiency.
42094         * doc/functions/vsnprintf.texi: Likewise.
42095         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
42096         with a size argument < 2.
42097
42098 2007-11-09  Bruno Haible  <bruno@clisp.org>
42099
42100         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
42101         buffer. Fixes an inefficiency introduced on 2007-11-03.
42102
42103 2007-11-09  Bruno Haible  <bruno@clisp.org>
42104
42105         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
42106         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
42107
42108 2007-11-08  Jim Meyering  <meyering@redhat.com>
42109
42110         Change cache variable name prefix "jm_" to "gl_" everywhere.
42111         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
42112         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
42113         * m4/uptime.m4: s/gl_/jm_/
42114
42115 2007-11-07  Bruno Haible  <bruno@clisp.org>
42116
42117         Update to GNU gettext 0.17.
42118         * m4/intl.m4: Update to GNU gettext 0.17.
42119         * m4/po.m4: Likewise.
42120         * modules/gettext (Files): Remove m4/ulonglong.m4.
42121         (configure.ac): Require gettext infrastructure from version 0.17.
42122
42123 2007-11-06  Bruno Haible  <bruno@clisp.org>
42124
42125         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
42126         symbolic values are not defined in a public header.
42127         * lib/freadable.c (freadable) [QNX]: Likewise.
42128         * lib/freadahead.c (freadahead) [QNX]: Likewise.
42129         * lib/freading.c (freading) [QNX]: Likewise.
42130         * lib/fseterr.c (fseterr) [QNX]: Likewise.
42131         * lib/fwritable.c (fwritable) [QNX]: Likewise.
42132         * lib/fwriting.c (fwriting) [QNX]: Likewise.
42133         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
42134         Reported by Alain Magloire.
42135
42136         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
42137
42138 2007-11-05  Bruno Haible  <bruno@clisp.org>
42139
42140         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
42141         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
42142         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
42143         Reported by Eric Blake.
42144
42145 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42146             Bruno Haible  <bruno@clisp.org>
42147
42148         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
42149         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
42150         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
42151         (malloc): Undefine also before including <stdlib.h>.
42152         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
42153         Needed on OSF/1 4.0.
42154
42155 2007-11-05  Jim Meyering  <meyering@redhat.com>
42156
42157         git-version-gen: sync from coreutils.
42158         * build-aux/git-version-gen: Add comments.
42159         Change the first '-' to '.' in the snapshot version string,
42160         e.g., 6.9-377-08144 -> 6.9.377-08144
42161         Remove first parameter.
42162         Don't declare a version "-dirty" merely because a time
42163         stamp has changed.
42164
42165 2007-11-04  Bruno Haible  <bruno@clisp.org>
42166
42167         * lib/lock.h: Protect all macro definitions containing an 'if'
42168         statement through a "do { ... } while (0)".
42169         * lib/tls.h: Likewise.
42170
42171 2007-11-04  Bruno Haible  <bruno@clisp.org>
42172
42173         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
42174
42175 2007-11-04  Bruno Haible  <bruno@clisp.org>
42176
42177         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
42178         * modules/fprintf-posix (Depends-on): Add nocrash.
42179         * modules/snprintf-posix (Depends-on): Likewise.
42180         * modules/sprintf-posix (Depends-on): Likewise.
42181         * modules/vasnprintf-posix (Depends-on): Likewise.
42182         * modules/vasprintf-posix (Depends-on): Likewise.
42183         * modules/vfprintf-posix (Depends-on): Likewise.
42184         * modules/vsnprintf-posix (Depends-on): Likewise.
42185         * modules/vsprintf-posix (Depends-on): Likewise.
42186         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
42187         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42188         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42189         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42190         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42191         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42192         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42193
42194 2007-11-04  Bruno Haible  <bruno@clisp.org>
42195
42196         * modules/nocrash: New file.
42197         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
42198         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
42199
42200 2007-11-04  Bruno Haible  <bruno@clisp.org>
42201
42202         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
42203         precision handling.
42204         * tests/test-vasprintf-posix.c (test_function): Likewise.
42205         * tests/test-snprintf-posix.h (test_function): Likewise.
42206         * tests/test-sprintf-posix.h (test_function): Likewise.
42207
42208         Fix *printf behaviour for large precisions on mingw and BeOS.
42209         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
42210         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
42211         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
42212         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
42213         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42214         gl_PRINTF_PRECISION and test its result. Invoke
42215         gl_PREREQ_VASNPRINTF_PRECISION.
42216         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42217         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42218         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42219         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42220         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42221         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42222         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42223         * doc/functions/fprintf.texi: Update.
42224         * doc/functions/printf.texi: Update.
42225         * doc/functions/snprintf.texi: Update.
42226         * doc/functions/sprintf.texi: Update.
42227         * doc/functions/vfprintf.texi: Update.
42228         * doc/functions/vprintf.texi: Update.
42229         * doc/functions/vsnprintf.texi: Update.
42230         * doc/functions/vsprintf.texi: Update.
42231
42232 2007-11-04  Bruno Haible  <bruno@clisp.org>
42233
42234         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
42235
42236 2007-11-04  Bruno Haible  <bruno@clisp.org>
42237
42238         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
42239         Reported by Sylvain Beucler <beuc@gnu.org>.
42240
42241 2007-11-03  Bruno Haible  <bruno@clisp.org>
42242
42243         * tests/test-fprintf-posix2.sh: New file.
42244         * tests/test-fprintf-posix2.c: New file.
42245         * modules/fprintf-posix-tests (Files): Add them.
42246         (TESTS): Add test-fprintf-posix2.sh.
42247         (configure.ac): Check for getrlimit and setrlimit.
42248         (check_PROGRAMS): Add test-fprintf-posix2.
42249
42250         * tests/test-printf-posix2.sh: New file.
42251         * tests/test-printf-posix2.c: New file.
42252         * modules/printf-posix-tests (Files): Add them.
42253         (TESTS): Add test-printf-posix2.sh.
42254         (configure.ac): Check for getrlimit and setrlimit.
42255         (check_PROGRAMS): Add test-printf-posix2.
42256
42257         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
42258         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
42259         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
42260         (decode_double): New function, copied from decode_long_double.
42261         (scale10_round_decimal_decoded): New function, extracted from
42262         scale10_round_decimal_long_double.
42263         (scale10_round_decimal_long_double): Use it.
42264         (scale10_round_decimal_double): New function.
42265         (floorlog10): New function.
42266         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
42267         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
42268         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
42269         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42270         gl_PRINTF_ENOMEM and test its result. Invoke
42271         gl_PREREQ_VASNPRINTF_ENOMEM.
42272         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42273         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42274         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42275         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42276         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42277         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42278         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42279         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
42280         * modules/snprintf-posix (Depends-on): Likewise.
42281         * modules/sprintf-posix (Depends-on): Likewise.
42282         * modules/vasnprintf-posix (Depends-on): Likewise.
42283         * modules/vasprintf-posix (Depends-on): Likewise.
42284         * modules/vfprintf-posix (Depends-on): Likewise.
42285         * modules/vsnprintf-posix (Depends-on): Likewise.
42286         * modules/vsprintf-posix (Depends-on): Likewise.
42287         * doc/functions/fprintf.texi: Update.
42288         * doc/functions/printf.texi: Update.
42289         * doc/functions/snprintf.texi: Update.
42290         * doc/functions/sprintf.texi: Update.
42291         * doc/functions/vfprintf.texi: Update.
42292         * doc/functions/vprintf.texi: Update.
42293         * doc/functions/vsnprintf.texi: Update.
42294         * doc/functions/vsprintf.texi: Update.
42295
42296 2007-11-03  Bruno Haible  <bruno@clisp.org>
42297
42298         * modules/frexp-nolibm-tests: New file.
42299
42300         * modules/frexp-nolibm: New file.
42301         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
42302
42303 2007-11-03  Bruno Haible  <bruno@clisp.org>
42304
42305         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
42306         value is C99 compliant.
42307         Needed for OSF/1 5.1.
42308
42309 2007-11-03  Bruno Haible  <bruno@clisp.org>
42310
42311         Fix out-of-memory handling of vasnprintf.
42312         * lib/printf-parse.c: Include <errno.h>.
42313         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
42314         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
42315         is already set.
42316
42317 2007-11-02  Eric Blake  <ebb9@byu.net>
42318
42319         Fix tests on cygwin.
42320         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
42321
42322 2007-11-01  Bruno Haible  <bruno@clisp.org>
42323
42324         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
42325         warning.
42326         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
42327         needed for POSIX compatibility.
42328
42329 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
42330
42331         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
42332         for compatibility with GNU.
42333
42334 2007-11-01  Bruno Haible  <bruno@clisp.org>
42335
42336         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
42337         (putenv): Renamed from rpl_putenv. Change argument type from
42338         'const char *' to 'char *'.
42339         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
42340         of defining putenv in config.h, just set REPLACE_PUTENV.
42341         * modules/putenv (Depends-on): Add stdlib.
42342         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
42343         (Include): Use <stdlib.h>.
42344         * lib/stdlib.in.h (putenv): New declaration.
42345         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
42346         REPLACE_PUTENV.
42347         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
42348         REPLACE_PUTENV.
42349         Needed for MacOS X 10.5.0.
42350         Reported by Peter O'Gorman <peter@pogma.com>.
42351
42352 2007-11-01  Jim Meyering  <meyering@redhat.com>
42353
42354         Treat an empty date string exactly like "0".
42355         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
42356         if the remaining date string (to be parsed) is empty, use "0".
42357         Reported by Mischa Molhoek and discussed in this thread:
42358         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
42359
42360 2007-10-31  Bruno Haible  <bruno@clisp.org>
42361
42362         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
42363         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
42364         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
42365         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
42366         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
42367         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
42368
42369 2007-10-31  Bruno Haible  <bruno@clisp.org>
42370
42371         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
42372         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
42373         (AC_TYPE_LONG_LONG_INT): Use it.
42374         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
42375         it as well.
42376         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
42377         to m4/longlong.m4.
42378         * modules/stdint (Files): Remove m4/ulonglong.m4.
42379         * modules/strtoull (Files): Use m4/longlong.m4 instead of
42380         m4/ulonglong.m4.
42381         * modules/strtoumax (Files): Likewise.
42382
42383 2007-10-30  Bruno Haible  <bruno@clisp.org>
42384
42385         * modules/xvasprintf-posix: New file.
42386         Suggested by Eric Blake.
42387
42388 2007-10-30  Bruno Haible  <bruno@clisp.org>
42389
42390         * modules/xprintf-posix-tests: New file.
42391         * tests/test-xprintf-posix.sh: New file.
42392         * tests/test-xprintf-posix.c: New file.
42393         * tests/test-xfprintf-posix.c: New file.
42394
42395         * modules/xprintf-posix: New file.
42396
42397 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42398
42399         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
42400         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
42401         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
42402
42403 2007-10-29  Bruno Haible  <bruno@clisp.org>
42404
42405         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
42406         contain the special marker '_cv_'.
42407         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
42408         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
42409         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
42410         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
42411         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
42412         Reported by Ralf Wildenhues.
42413
42414 2007-10-29  Bruno Haible  <bruno@clisp.org>
42415
42416         * gnulib-tool (func_import): When --lgpl is not specified, set
42417         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
42418         GPLv3.
42419         Reported by Simon Josefsson.
42420
42421 2007-10-28  Bruno Haible  <bruno@clisp.org>
42422
42423         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
42424         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
42425         HAVE_DECL_ISFINITE.
42426         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
42427         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
42428         HAVE_DECL_ISFINITE.
42429
42430 2007-10-28  Bruno Haible  <bruno@clisp.org>
42431
42432         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
42433         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
42434
42435 2007-10-28  Bruno Haible  <bruno@clisp.org>
42436
42437         Fix link errors with Sun C 5.0 on Solaris 10.
42438         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
42439         function is declared but not present in the compiler's libm.
42440         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
42441         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
42442         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
42443         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
42444         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
42445         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
42446         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
42447         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
42448         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
42449         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
42450         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
42451         HAVE_DECL_FLOORL.
42452
42453 2007-10-28  Bruno Haible  <bruno@clisp.org>
42454
42455         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
42456         gl_FUNC_FLOORL. Cache the result.
42457         (gl_FUNC_FLOORL): Use it.
42458         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
42459         gl_FUNC_CEILL. Cache the result.
42460         (gl_FUNC_CEILL): Use it.
42461
42462         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
42463         gl_FUNC_FLOOR. Cache the result.
42464         (gl_FUNC_FLOOR): Use it.
42465         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
42466         gl_FUNC_CEIL. Cache the result.
42467         (gl_FUNC_CEIL): Use it.
42468
42469         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
42470         gl_FUNC_FLOORF. Cache the result.
42471         (gl_FUNC_FLOORF): Use it.
42472         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
42473         gl_FUNC_CEILF. Cache the result.
42474         (gl_FUNC_CEILF): Use it.
42475
42476 2007-10-28  Bruno Haible  <bruno@clisp.org>
42477
42478         * gnulib-tool: Allow specifying the LGPL version number through
42479         --lgpl=2 or --lgpl=3.
42480         (func_usage): Document --lgpl with argument.
42481         Handle --lgpl=... arguments.
42482         (func_import): Recognize also gl_LGPL calls with an argument. When
42483         --lgpl=2 is used and the module's license is just LGPL, report an
42484         error. Set sed_transform_lib_file according to the lgpl variable. In
42485         the generated files, use --lgpl or gl_LGPL invocations with argument,
42486         if necessary.
42487         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
42488         an LGPv2+ license.
42489         * doc/gnulib-tool.texi (Modified imports): Update explanation of
42490         gl_LGPL macro.
42491
42492 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42493             Bruno Haible  <bruno@clisp.org>
42494
42495         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
42496         (u16_uctomb_aux): Likewise.
42497         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
42498         !HAVE_INLINE.
42499         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
42500
42501 2007-10-28  Bruno Haible  <bruno@clisp.org>
42502
42503         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
42504         Invoke AM_GETTEXT_OPTION if it exists.
42505         * modules/vasprintf: Likewise.
42506         * modules/verror: Likewise.
42507         * modules/xprintf: Likewise.
42508         * modules/xvasprintf: Likewise.
42509
42510 2007-10-27  Ben Pfaff  <blp@gnu.org>
42511
42512         * lib/math.in.h: Define isfinite macro and prototypes for
42513         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
42514         implementations.
42515         * m4/math_h.m4: New substitutions for isfinite module.
42516         * lib/isfinite.c: New file.
42517         * m4/isfinite.m4: New file.
42518         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
42519         * modules/isfinite: New file.
42520         * modules/isfinite-tests: New file.
42521         * tests/tests-isfinite.c: New file.
42522         * doc/functions/isfinite.texi: Mention isfinite module.
42523         * MODULES.html.sh: Mention new module.
42524
42525 2007-10-27  Ben Pfaff  <blp@gnu.org>
42526
42527         Ralf Wildenhues reported that Tru64 4.0D declares the round
42528         functions but does not have definitions.
42529         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
42530         cannot be found in any library, set the output variable to
42531         "missing" instead of "".
42532         * m4/round.m4: Also use our substitute if we cannot find round in
42533         any library, even if it is declared.
42534         * m4/roundf.m4: Likewise for roundf.
42535         * m4/roundl.m4: Likewise for roundl.
42536         * lib/math.in.h: Undefine roundf, round, roundl before defining
42537         their replacements, to allow for hypothetical systems where these
42538         may be defined as macros but not available in libraries.
42539
42540 2007-10-27  Bruno Haible  <bruno@clisp.org>
42541
42542         * doc/gnulib.texi: Invoke @firstparagraphindent.
42543         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
42544         changes in gnulib.
42545         (Source changes): New section.
42546
42547 2007-10-26  Bruno Haible  <bruno@clisp.org>
42548
42549         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
42550         borrowed from autoconf.
42551
42552 2007-10-26  Bruno Haible  <bruno@clisp.org>
42553
42554         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
42555         strerror returned the empty string. Needed on HP-UX 11.00.
42556
42557 2007-10-24  Micah Cowan  <micah@cowan.name>
42558
42559         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
42560         * build-aux/bootstrap: Remove support for now-unnecessary option,
42561         --cvs-user, and envvars CVS_USER, CVS_RSH.
42562
42563 2007-10-24  Jim Meyering  <meyering@redhat.com>
42564
42565         Avoid diagnostics from sha1sum when there is no cached checksum.
42566         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
42567         if the po.s1 file hasn't been created yet.
42568
42569         * build-aux/bootstrap: Sync from coreutils:
42570         2007-10-24  Jim Meyering  <meyering@redhat.com>
42571         Get gnulib from the git repository, not from an obsolete cvs one.
42572         * build-aux/bootstrap: Suggestion from Micah Cowan.
42573         2007-10-04  Jim Meyering  <jim@meyering.net>
42574         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
42575         (update_po_files): Work also when there are no .po files in po/.
42576
42577 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
42578
42579         * README: Append ".git" to git and cg examples.
42580         Problem reported by Benoit Sigoure.
42581
42582 2007-10-23  Micah Cowan  <micah@cowan.name>
42583
42584         * users.txt: Add wget.
42585
42586 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42587
42588         Fix linking of some unistdio tests on FreeBSD.
42589         * modules/unistdio/u16-vsnprintf-tests
42590         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
42591         * modules/unistdio/u16-vsprintf-tests
42592         (test_u16_vsnprintf1_LDADD): Likewise.
42593         * modules/unistdio/u32-vsnprintf-tests
42594         (test_u32_vsnprintf1_LDADD): Likewise.
42595         * modules/unistdio/u32-vsprintf-tests
42596         (test_u32_vsprintf1_LDADD): Likewise.
42597         * modules/unistdio/u8-vsnprintf-tests
42598         (test_u8_vsnprintf1_LDADD): Likewise.
42599         * modules/unistdio/u8-vsprintf-tests
42600         (test_u8_vsprintf1_LDADD): Likewise.
42601         * modules/unistdio/ulc-vsnprintf-tests
42602         (test_ulc_vsnprintf1_LDADD): Likewise.
42603         * modules/unistdio/ulc-vsprintf-tests
42604         (test_ulc_vsprintf1_LDADD): Likewise.
42605
42606         Fix linking of some uniconv tests on FreeBSD.
42607         * modules/uniconv/u16-conv-from-enc-tests
42608         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
42609         * modules/uniconv/u16-conv-to-enc-tests
42610         (test_u16_conv_to_enc_LDADD): Likewise.
42611         * modules/uniconv/u16-strconv-from-enc-tests
42612         (test_u16_strconv_from_enc_LDADD): Likewise.
42613         * modules/uniconv/u16-strconv-to-enc-tests
42614         (test_u16_strconv_to_enc_LDADD): Likewise.
42615         * modules/uniconv/u32-conv-from-enc-tests
42616         (test_u32_conv_from_enc_LDADD): Likewise.
42617         * modules/uniconv/u32-conv-to-enc-tests
42618         (test_u32_conv_to_enc_LDADD): Likewise.
42619         * modules/uniconv/u32-strconv-from-enc-tests
42620         (test_u32_strconv_from_enc_LDADD): Likewise.
42621         * modules/uniconv/u32-strconv-to-enc-tests
42622         (test_u32_strconv_to_enc_LDADD): Likewise.
42623         * modules/uniconv/u8-conv-from-enc-tests
42624         (test_u8_conv_from_enc_LDADD): Likewise.
42625         * modules/uniconv/u8-conv-to-enc-tests
42626         (test_u8_conv_to_enc_LDADD): Likewise.
42627         * modules/uniconv/u8-strconv-from-enc-tests
42628         (test_u8_strconv_from_enc_LDADD): Likewise.
42629         * modules/uniconv/u8-strconv-to-enc-tests
42630         (test_u8_strconv_to_enc_LDADD): Likewise.
42631
42632 2007-10-22  Bruno Haible  <bruno@clisp.org>
42633
42634         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
42635         size.
42636
42637 2007-10-22  Eric Blake  <ebb9@byu.net>
42638
42639         Tweak x*printf documentation.
42640         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
42641         variable name and comments.
42642         Suggested by Bruno Haible.
42643
42644 2007-10-22  Bruno Haible  <bruno@clisp.org>
42645
42646         * lib/acl.c (copy_acl): Fix file name in comment.
42647
42648 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
42649
42650         Fix Tru64 problem with stdbool.h.
42651         * lib/stdbool.in.h (false, true):
42652         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
42653         Don't declare as an enum in this situation; it runs afoul of Tru64.
42654         Problem reported by Steven M. Schweda in
42655         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
42656
42657 2007-10-22  Eric Blake  <ebb9@byu.net>
42658
42659         Also wrap vf?printf.
42660         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
42661         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
42662         (xvprintf, xvfprintf): New functions.
42663
42664 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42665
42666         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
42667         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
42668
42669         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
42670         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
42671
42672 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
42673
42674         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
42675         by Bruno Haible.
42676
42677 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42678
42679         * lib/getloadavg.c
42680         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
42681         Undef `sys' after including sys/table.h, for Tru64 4.0D.
42682
42683         * tests/test-i-ring.c: Work for C89.
42684
42685 2007-10-22  Bruno Haible  <bruno@clisp.org>
42686
42687         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
42688         -1u, in preprocessor expression, so that we don't test for the bug
42689         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
42690         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
42691
42692 2007-10-22  Eric Blake  <ebb9@byu.net>
42693
42694         * tests/test-yesno.sh: Silence stderr during test.
42695
42696 2007-10-22  Simon Josefsson  <simon@josefsson.org>
42697
42698         * modules/crypto/gc-camellia: New file.
42699
42700         * m4/gc-camellia.m4: New file.
42701
42702         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
42703
42704         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
42705
42706 2007-10-22  Simon Josefsson  <simon@josefsson.org>
42707
42708         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
42709         --help to stdout.  Reported by sms@antinode.org (Steven
42710         M. Schweda).
42711
42712 2007-10-22  Simon Josefsson  <simon@josefsson.org>
42713
42714         * users.txt: Fix link to libksba.
42715
42716 2007-10-21  Ben Pfaff  <blp@gnu.org>
42717
42718         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
42719         round.c roundf implementation that depends on floorf and ceilf to
42720         be tested unconditionally.
42721
42722 2007-10-21  Ben Pfaff  <blp@gnu.org>
42723
42724         * m4/check-libm-func.m4: Removed.
42725         * m4/check-math-lib.m4: New file.
42726         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
42727         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
42728         definition and lack of AC_LIBOBJ([roundf]).
42729         * m4/roundl.m4: Ditto, and similarly for roundl.
42730         * modules/round: Reference new m4 file.
42731         * modules/roundf: Ditto.
42732         * modules/roundl: Ditto.
42733         * tests/test-round2.c (main): Use ROUND instead of round.
42734         Bug report from Bruno Haible.
42735
42736 2007-10-21  Bruno Haible  <bruno@clisp.org>
42737
42738         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
42739         context.
42740
42741 2007-10-21  Bruno Haible  <bruno@clisp.org>
42742
42743         * tests/test-wcwidth.c (main): Allow negative result for some control
42744         characters.
42745
42746         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
42747         Needed on OSF/1 5.1.
42748
42749 2007-10-21  Bruno Haible  <bruno@clisp.org>
42750
42751         * tests/test-floorf1.c: Include isnanf.h.
42752         (main): Use isnanf() instead of isnan().
42753         * tests/test-ceilf1.c: Include isnanf.h.
42754         (main): Use isnanf() instead of isnan().
42755         * tests/test-truncf1.c: Include isnanf.h.
42756         (main): Use isnanf() instead of isnan().
42757         * tests/test-roundf1.c: Include isnanf.h.
42758         (main): Use isnanf() instead of isnan().
42759
42760 2007-10-21  Eric Blake  <ebb9@byu.net>
42761
42762         * users.txt: Update URL for m4.
42763
42764 2007-10-21  Bruno Haible  <bruno@clisp.org>
42765
42766         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
42767
42768 2007-10-21  Bruno Haible  <bruno@clisp.org>
42769
42770         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
42771         Git's management files if the CVS files are not present.
42772
42773 2007-10-20  Bruno Haible  <bruno@clisp.org>
42774
42775         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
42776         gcc-3.4.x.
42777
42778 2007-10-20  Ben Pfaff  <blp@gnu.org>
42779
42780         * lib/math.in.h: Declare round, roundf, roundl if we are providing
42781         implementations.
42782         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
42783         * lib/round.c: New file.
42784         * lib/roundf.c: New file.
42785         * lib/roundl.c: New file.
42786         * m4/round.m4: New file.
42787         * m4/roundf.m4: New file.
42788         * m4/roundl.m4: New file.
42789         * m4/check-libm-func-m4: New file.
42790         * modules/math: Replace round, roundf, roundl related @VARS@ in
42791         math.in.h.
42792         * modules/round: New file.
42793         * modules/round-tests: New file.
42794         * modules/roundf: New file.
42795         * modules/roundf-tests: New file.
42796         * modules/roundl: New file.
42797         * modules/roundl-tests: New file.
42798         * tests/test-round1.c: New file.
42799         * tests/test-round2.c: New file.
42800         * tests/test-roundf1.c: New file.
42801         * tests/test-roundf2.c: New file.
42802         * tests/test-roundl.c: New file.
42803         * doc/functions/round.texi: Mention round module.
42804         * doc/functions/roundf.texi: Mention roundf module.
42805         * doc/functions/roundl.texi: Mention roundl module.
42806         * MODULES.html.sh: Mention new modules.
42807         Thanks to Bruno Haible for suggestions.
42808
42809 2007-10-20  Jim Meyering  <meyering@redhat.com>
42810
42811         * lib/xprintf.c: Include <config.h> unconditionally.
42812
42813         Change xprintf's license to GPL.
42814         * modules/xprintf (License): s/LGPL/GPL/, since this module
42815         depends on modules (exit and exitfail) which are GPL.
42816         Suggestion from Bruno Haible.
42817
42818         xprintf fixes.
42819         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
42820         Use a clearer diagnostic.
42821         Patch from Bruno Haible.
42822
42823 2007-10-20  Bruno Haible  <bruno@clisp.org>
42824
42825         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
42826         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
42827         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42828
42829 2007-10-20  Bruno Haible  <bruno@clisp.org>
42830
42831         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
42832         precision in the comparison result > x - 1 or similar.
42833         * tests/test-ceilf2.c (correct_result_p): Likewise.
42834         * tests/test-truncf2.c (correct_result_p): Likewise.
42835         * tests/test-trunc2.c (correct_result_p): Likewise.
42836         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42837
42838 2007-10-20  Bruno Haible  <bruno@clisp.org>
42839
42840         * modules/ceil: New file.
42841         * m4/ceil.m4: New file.
42842         * doc/functions/ceil.texi: Mention the 'ceil' module.
42843
42844 2007-10-20  Bruno Haible  <bruno@clisp.org>
42845
42846         * modules/floor: New file.
42847         * m4/floor.m4: New file.
42848         * doc/functions/floor.texi: Mention the 'floor' module.
42849
42850 2007-10-20  Bruno Haible  <bruno@clisp.org>
42851
42852         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
42853         of %a.
42854         * modules/floorf-tests (Depends-on): Likewise.
42855         * modules/truncf-tests (Depends-on): Likewise.
42856         * modules/trunc-tests (Depends-on): Likewise.
42857         Reported by Ben Pfaff.
42858
42859 2007-10-19  Jim Meyering  <meyering@redhat.com>
42860
42861         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
42862         Don't bother testing specific errno values.  Just test ferror.
42863
42864         New module: xprintf
42865         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
42866
42867 2007-10-19  Bruno Haible  <bruno@clisp.org>
42868
42869         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
42870         syntax.
42871         * modules/javaexec (Makefile.am): Likewise.
42872         * modules/relocatable-prog (Makefile.am): Likewise.
42873         Suggested by Jim Meyering.
42874
42875 2007-10-18  Bruno Haible  <bruno@clisp.org>
42876
42877         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
42878         Reported by Jim Meyering.
42879
42880 2007-10-18  Eric Blake  <ebb9@byu.net>
42881
42882         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
42883
42884 2007-10-18  Bruno Haible  <bruno@clisp.org>
42885
42886         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
42887         the format string into writable memory. Needed in Fortify conditions.
42888
42889 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
42890             Bruno Haible  <bruno@clisp.org>
42891
42892         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
42893         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
42894         * modules/trim (Depends-on): Add mbchar.
42895         (configure.ac): Add gl_FUNC_MBRTOWC.
42896         (Makefile.am): Augment lib_SOURCES.
42897
42898 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
42899
42900         Modify glob.c to use fstatat and dirfd, to simplify it.
42901         Suggested by Eric Blake.
42902         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
42903         Don't include <stdbool.h>; not used.
42904         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
42905         (link_exists_p): Simplify implementation, since we can now assume
42906         dirfd and fstatat.
42907         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
42908
42909 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42910
42911         * gnulib-tool (func_get_dependencies): Fix sed script to
42912         match only tests.
42913
42914 2007-10-17  Bruno Haible  <bruno@clisp.org>
42915
42916         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
42917         allow locale names without encoding suffix.
42918         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
42919         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
42920
42921 2007-10-16  Bruno Haible  <bruno@clisp.org>
42922
42923         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
42924         * lib/getgroups.c (getgroups): Likewise.
42925         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
42926
42927 2007-10-16  Bruno Haible  <bruno@clisp.org>
42928
42929         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
42930         * modules/malloc-posix (License): Likewise.
42931         * modules/realloc-posix (License): Likewise.
42932         * modules/calloc-posix (License): Likewise.
42933         * modules/intprops (License): Change from GPL to LGPL, with
42934         Paul Eggert's approval.
42935
42936 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
42937
42938         Merge glibc changes into lib/glob.c.
42939
42940         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
42941         2007-10-15 04:59:03 UTC.  Here are the changes:
42942
42943         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
42944
42945         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
42946
42947         * lib/glob.c: Add some branch prediction throughout.
42948
42949         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
42950
42951         [BZ #5103]
42952         * lib/glob.c (glob): Recognize patterns starting \/.
42953
42954         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
42955
42956         [BZ #3996]
42957         * lib/glob.c (attribute_hidden): Define if not defined.
42958         (glob): Unescape dirname, filename or username when needed and not
42959         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
42960         is NULL.  Handle unescaped [ in pattern without closing ].
42961         Don't pass GLOB_CHECK down to recursive glob for directories.
42962         (__glob_pattern_type): New function.
42963         (__glob_pattern_p): Implement using __glob_pattern_type.
42964         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
42965         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
42966         Remove unreachable code.
42967
42968         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
42969
42970         * lib/glob.c (glob_in_dir): Add some comments and asserts to
42971         explain why there are no leaks.
42972
42973         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
42974
42975         [BZ #3253]
42976         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
42977         time, rather allocate increasingly bigger arrays of pointers, if
42978         possible with alloca, if too large with malloc.
42979
42980 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
42981
42982         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
42983         Problem reported by H.Merijn Brand in
42984         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
42985         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
42986         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
42987
42988 2007-10-15  Bruno Haible  <bruno@clisp.org>
42989
42990         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
42991         with explicit rpl_ prefix.
42992         * lib/fopen.c (fopen): Likewise.
42993         * lib/freopen.c (freopen): Likewise.
42994         * lib/iconv.c (iconv): Likewise.
42995         * lib/iconv_close.c (iconv_close): Likewise.
42996
42997 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42998
42999         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
43000
43001 2007-10-15  Bruno Haible  <bruno@clisp.org>
43002
43003         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
43004         <stddef.h> instead of <stdlib.h> since we only need NULL.
43005         Reported by Ben Pfaff <blp@cs.stanford.edu>.
43006
43007 2007-10-15  Bruno Haible  <bruno@clisp.org>
43008
43009         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
43010         Replace paragraph talking about LIBOBJS.
43011         Reported by Colin Watson <cjwatson@debian.org>.
43012
43013 2007-10-15  Bruno Haible  <bruno@clisp.org>
43014
43015         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
43016         <stdlib.h> before using NULL.
43017
43018 2007-10-15  Simon Josefsson  <simon@josefsson.org>
43019
43020         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
43021         Reported by Albert Chin <china@thewrittenword.com>.
43022
43023 2007-10-14  Bruno Haible  <bruno@clisp.org>
43024
43025         * modules/iconv_open-utf-tests: New file.
43026         * tests/test-iconv-utf.c: New file.
43027
43028         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
43029         * modules/iconv_open-utf: New file.
43030         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
43031         (iconv, iconv_close): New declarations.
43032         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
43033         be defined.
43034         (iconv_open): Add special handling of conversion between UTF-8 and
43035         UTF-{16,32}{BE,LE}.
43036         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
43037         * lib/iconv_close.c: New file.
43038         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
43039         gl_FUNC_ICONV_OPEN.
43040         (gl_FUNC_ICONV_OPEN): Use it.
43041         (gl_FUNC_ICONV_OPEN_UTF): New macro.
43042         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
43043         and REPLACE_ICONV_UTF.
43044         * modules/iconv_open (Depends-on): Add c-strcase.
43045         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
43046         ICONV_CONST.
43047         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
43048
43049 2007-10-13  Albert Chin  <china@thewrittenword.com>
43050             Bruno Haible  <bruno@clisp.org>
43051
43052         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
43053         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
43054
43055 2007-10-13  Bruno Haible  <bruno@clisp.org>
43056
43057         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
43058         defined, use the ISO C99 inline semantics.
43059         * lib/argp.h (ARGP_EI): Likewise.
43060
43061 2007-10-13  Bruno Haible  <bruno@clisp.org>
43062
43063         Handle 'inline' change in gcc 4.3.0.
43064         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
43065         argp_fmtstream_write, argp_fmtstream_set_lmargin,
43066         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
43067         argp_fmtstream_point): Disable 'extern' declaration if the function
43068         definition is going to be provided inline.
43069         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
43070         semantics, not the ISO C99 inline semantics.
43071         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
43072         'extern' declaration if the function definition is going to be provided
43073         inline.
43074         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
43075         the GNU C inline semantics, not the ISO C99 inline semantics. With
43076         GCC 4.2, avoid a warning.
43077
43078 2007-10-13  Bruno Haible  <bruno@clisp.org>
43079
43080         * lib/freading.h (freading): Enable the use of __freading for
43081         glibc >= 2.7.
43082         * lib/freading.c (freading): Likewise.
43083
43084 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
43085
43086         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
43087         "warning: C99 inline functions are not supported; using GNU89".
43088
43089 2007-10-12  Bruno Haible  <bruno@clisp.org>
43090
43091         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
43092         of 2.
43093         * tests/test-ceilf2.c: New file.
43094         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
43095
43096         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
43097         * modules/ceilf-tests: Update.
43098
43099 2007-10-12  Bruno Haible  <bruno@clisp.org>
43100
43101         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
43102         of 2.
43103         * tests/test-floorf2.c: New file.
43104         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
43105
43106         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
43107         * modules/floorf-tests: Update.
43108
43109 2007-10-12  Bruno Haible  <bruno@clisp.org>
43110
43111         * tests/test-trunc2.c: New file.
43112         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
43113
43114         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
43115         * modules/trunc-tests: Update.
43116
43117 2007-10-12  Bruno Haible  <bruno@clisp.org>
43118
43119         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
43120         of 2.
43121         * tests/test-truncf2.c: New file.
43122         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
43123
43124         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
43125         * modules/truncf-tests: Update.
43126
43127 2007-10-11  Eric Blake  <ebb9@byu.net>
43128
43129         Don't claim strerror is broken on Interix.
43130         * doc/functions/strerror.texi (strerror): Known broken systems are
43131         now Solaris 8, and not Interix.
43132         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
43133         Interix on cross-compile.
43134         Reported by Martin Koeppe in
43135         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
43136
43137 2007-10-11  Bruno Haible  <bruno@clisp.org>
43138
43139         * modules/i-ring-tests: New file.
43140         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
43141         instead of assert.
43142
43143 2007-10-11  Bruno Haible  <bruno@clisp.org>
43144
43145         * modules/filenamecat-tests: New file.
43146         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
43147         * lib/filenamecat.c: Remove test code.
43148
43149 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
43150
43151         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
43152
43153         * lib/strerror.c: Include <string.h> always, to test interface,
43154         and to remove the need for the dummy.
43155         Include intprops.h to compute width instead of doing it ourselves
43156         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
43157         (strerror): Define it to return NULL if there's no system strerror.
43158         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
43159         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
43160         ancient pre-strerror Unix systems well any more.  Saying "unknown
43161         system error" is enough.
43162         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
43163         simpler strerror.c implementation.
43164         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
43165         Simplify the tests to reflect the simpler strerror implementation.
43166         * modules/strerror (Depends-on): Add intprops.
43167
43168 2007-10-09  Eric Blake  <ebb9@byu.net>
43169
43170         Silence test-fpending.
43171         * modules/fpending-tests (Files): Add wrapper script.
43172         * tests/test-fpending.sh: New file.
43173
43174 2007-10-09  Bruno Haible  <bruno@clisp.org>
43175
43176         * MODULES.html.sh (func_module): Don't create a hyperlink for
43177         function names like 'printf_frexp'.
43178         (Misc): Add crc, memxor.
43179         (Characteristics of floating types): New section.
43180         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
43181         isnanf-nolibm, signbit, trunc, truncf, truncl.
43182         (Enhancements for ISO C 99 functions): New subsection Input/output.
43183         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
43184         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
43185         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
43186         (Compatibility checks for POSIX:2001 functions): Add clock-time.
43187         (Enhancements for POSIX:2001 functions): Add chdir-long.
43188         (File system functions): Add areadlink, chdir-safer, read-file.
43189         Remove cycle-check.
43190         (File system as inode set): New section.
43191         (Date and time): Add gethrxtime.
43192         (Multithreading): Add openmp.
43193         (Internationalization functions): Add localename.
43194         (Unicode string functions): Add unistr/u*-mbsnlen.
43195         (Support for maintaining and releasing projects): Add git-version-gen.
43196         (Lone files): Remove directories.
43197
43198 2007-10-08  Ben Pfaff  <blp@gnu.org>
43199
43200         * lib/xmalloca.h: Fix typo in comment.
43201
43202 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
43203
43204         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
43205         when avoiding problems with integer overflow.  Use a portable test
43206         instead.
43207
43208 2007-10-08  Simon Josefsson  <simon@josefsson.org>
43209
43210         * modules/dummy (License): Change to LGPLv2+.
43211         * modules/float (License): Likewise
43212         * modules/realloc (License): Likewise
43213         * modules/stdlib (License): Likewise
43214
43215 2007-10-07  Bruno Haible  <bruno@clisp.org>
43216
43217         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
43218         * floor.c (TWO_MANT_DIG): Likewise.
43219         * ceil.c (TWO_MANT_DIG): Likewise.
43220         Reported by Ben Pfaff.
43221
43222 2007-10-07  Bruno Haible  <bruno@clisp.org>
43223
43224         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
43225         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
43226         * lib/frexp.c (FUNC): Likewise.
43227         * lib/printf-frexp.h (printf_frexp): Likewise.
43228         * lib/printf-frexpl.h (printf_frexpl): Likewise.
43229         * lib/printf-frexp.c (FUNC): Likewise.
43230         Suggested by Jim Meyering.
43231
43232 2007-10-07  Jim Meyering  <meyering@redhat.com>
43233
43234         Make xnanosleep's integer overflow test more robust.
43235         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
43236         so that gcc-4.3.0 doesn't optimize away this test for overflow.
43237
43238 2007-10-07  Bruno Haible  <bruno@clisp.org>
43239
43240         * NEWS: Mention the license change.
43241
43242         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
43243         abbreviations in the modules files.
43244
43245         Change copyright notice from GPLv2+ to GPLv3+.
43246         * README: Change copyright notice.
43247         * MODULES.html.sh: Likewise.
43248         * build-aux/bootstrap.conf: Likewise.
43249         * build-aux/config.libpath: Likewise.
43250         * build-aux/csharpcomp.sh.in: Likewise.
43251         * build-aux/csharpexec.sh.in: Likewise.
43252         * build-aux/install-reloc: Likewise.
43253         * build-aux/javacomp.sh.in: Likewise.
43254         * build-aux/javaexec.sh.in: Likewise.
43255         * build-aux/ldd.sh.in: Likewise.
43256         * build-aux/reloc-ldflags: Likewise.
43257         * build-aux/relocatable.sh.in: Likewise.
43258         * build-aux/x-to-1.in: Likewise.
43259         * check-module: Likewise.
43260         * config/srclistvars.sh: Likewise.
43261         * gnulib-tool: Likewise.
43262         * lib/acl-internal.h: Likewise.
43263         * lib/acl.c: Likewise.
43264         * lib/acl.h: Likewise.
43265         * lib/acl_entries.c: Likewise.
43266         * lib/areadlink-with-size.c: Likewise.
43267         * lib/areadlink.c: Likewise.
43268         * lib/areadlink.h: Likewise.
43269         * lib/argmatch.c: Likewise.
43270         * lib/argmatch.h: Likewise.
43271         * lib/argp-ba.c: Likewise.
43272         * lib/argp-eexst.c: Likewise.
43273         * lib/argp-fmtstream.c: Likewise.
43274         * lib/argp-fmtstream.h: Likewise.
43275         * lib/argp-fs-xinl.c: Likewise.
43276         * lib/argp-help.c: Likewise.
43277         * lib/argp-namefrob.h: Likewise.
43278         * lib/argp-parse.c: Likewise.
43279         * lib/argp-pin.c: Likewise.
43280         * lib/argp-pv.c: Likewise.
43281         * lib/argp-pvh.c: Likewise.
43282         * lib/argp-xinl.c: Likewise.
43283         * lib/argp.h: Likewise.
43284         * lib/at-func.c: Likewise.
43285         * lib/atanl.c: Likewise.
43286         * lib/backupfile.c: Likewise.
43287         * lib/backupfile.h: Likewise.
43288         * lib/basename.c: Likewise.
43289         * lib/binary-io.h: Likewise.
43290         * lib/byteswap.in.h: Likewise.
43291         * lib/c-stack.c: Likewise.
43292         * lib/c-stack.h: Likewise.
43293         * lib/c-strcasestr.c: Likewise.
43294         * lib/c-strcasestr.h: Likewise.
43295         * lib/c-strstr.c: Likewise.
43296         * lib/c-strstr.h: Likewise.
43297         * lib/c-strtod.c: Likewise.
43298         * lib/calloc.c: Likewise.
43299         * lib/canon-host.c: Likewise.
43300         * lib/canon-host.h: Likewise.
43301         * lib/canonicalize-lgpl.c: Likewise.
43302         * lib/canonicalize.c: Likewise.
43303         * lib/canonicalize.h: Likewise.
43304         * lib/ceil.c: Likewise.
43305         * lib/ceilf.c: Likewise.
43306         * lib/ceill.c: Likewise.
43307         * lib/chdir-long.c: Likewise.
43308         * lib/chdir-long.h: Likewise.
43309         * lib/chdir-safer.c: Likewise.
43310         * lib/chdir-safer.h: Likewise.
43311         * lib/chown.c: Likewise.
43312         * lib/classpath.c: Likewise.
43313         * lib/classpath.h: Likewise.
43314         * lib/clean-temp.c: Likewise.
43315         * lib/clean-temp.h: Likewise.
43316         * lib/cloexec.c: Likewise.
43317         * lib/close-stream.c: Likewise.
43318         * lib/closein.c: Likewise.
43319         * lib/closein.h: Likewise.
43320         * lib/closeout.c: Likewise.
43321         * lib/closeout.h: Likewise.
43322         * lib/concat-filename.c: Likewise.
43323         * lib/copy-file.c: Likewise.
43324         * lib/copy-file.h: Likewise.
43325         * lib/count-one-bits.h: Likewise.
43326         * lib/crc.c: Likewise.
43327         * lib/crc.h: Likewise.
43328         * lib/creat-safer.c: Likewise.
43329         * lib/csharpcomp.c: Likewise.
43330         * lib/csharpcomp.h: Likewise.
43331         * lib/csharpexec.c: Likewise.
43332         * lib/csharpexec.h: Likewise.
43333         * lib/cycle-check.c: Likewise.
43334         * lib/cycle-check.h: Likewise.
43335         * lib/diacrit.c: Likewise.
43336         * lib/diacrit.h: Likewise.
43337         * lib/diffseq.h: Likewise.
43338         * lib/dirchownmod.c: Likewise.
43339         * lib/dirent.in.h: Likewise.
43340         * lib/dirfd.c: Likewise.
43341         * lib/dirfd.h: Likewise.
43342         * lib/dirname.c: Likewise.
43343         * lib/dirname.h: Likewise.
43344         * lib/dummy.c: Likewise.
43345         * lib/dup-safer.c: Likewise.
43346         * lib/dup2.c: Likewise.
43347         * lib/eealloc.h: Likewise.
43348         * lib/error.c: Likewise.
43349         * lib/error.h: Likewise.
43350         * lib/euidaccess.c: Likewise.
43351         * lib/exclude.c: Likewise.
43352         * lib/exclude.h: Likewise.
43353         * lib/execute.c: Likewise.
43354         * lib/execute.h: Likewise.
43355         * lib/exitfail.c: Likewise.
43356         * lib/exitfail.h: Likewise.
43357         * lib/expl.c: Likewise.
43358         * lib/fatal-signal.c: Likewise.
43359         * lib/fatal-signal.h: Likewise.
43360         * lib/fbufmode.c: Likewise.
43361         * lib/fbufmode.h: Likewise.
43362         * lib/fchdir.c: Likewise.
43363         * lib/fchmodat.c: Likewise.
43364         * lib/fchownat.c: Likewise.
43365         * lib/fcntl--.h: Likewise.
43366         * lib/fcntl-safer.h: Likewise.
43367         * lib/fcntl.in.h: Likewise.
43368         * lib/fd-safer.c: Likewise.
43369         * lib/fflush.c: Likewise.
43370         * lib/file-has-acl.c: Likewise.
43371         * lib/file-set.c: Likewise.
43372         * lib/file-type.c: Likewise.
43373         * lib/file-type.h: Likewise.
43374         * lib/fileblocks.c: Likewise.
43375         * lib/filemode.c: Likewise.
43376         * lib/filemode.h: Likewise.
43377         * lib/filename.h: Likewise.
43378         * lib/filenamecat.c: Likewise.
43379         * lib/filenamecat.h: Likewise.
43380         * lib/findprog.c: Likewise.
43381         * lib/findprog.h: Likewise.
43382         * lib/float.in.h: Likewise.
43383         * lib/floor.c: Likewise.
43384         * lib/floorf.c: Likewise.
43385         * lib/floorl.c: Likewise.
43386         * lib/fopen-safer.c: Likewise.
43387         * lib/fopen.c: Likewise.
43388         * lib/fpending.c: Likewise.
43389         * lib/fpending.h: Likewise.
43390         * lib/fprintf.c: Likewise.
43391         * lib/fprintftime.h: Likewise.
43392         * lib/fpucw.h: Likewise.
43393         * lib/fpurge.c: Likewise.
43394         * lib/fpurge.h: Likewise.
43395         * lib/freadable.c: Likewise.
43396         * lib/freadable.h: Likewise.
43397         * lib/freadahead.c: Likewise.
43398         * lib/freadahead.h: Likewise.
43399         * lib/freading.c: Likewise.
43400         * lib/freading.h: Likewise.
43401         * lib/free.c: Likewise.
43402         * lib/freopen.c: Likewise.
43403         * lib/frexp.c: Likewise.
43404         * lib/frexpl.c: Likewise.
43405         * lib/fseek.c: Likewise.
43406         * lib/fseterr.c: Likewise.
43407         * lib/fseterr.h: Likewise.
43408         * lib/fstatat.c: Likewise.
43409         * lib/fstrcmp.c: Likewise.
43410         * lib/fstrcmp.h: Likewise.
43411         * lib/fsusage.c: Likewise.
43412         * lib/fsusage.h: Likewise.
43413         * lib/ftell.c: Likewise.
43414         * lib/ftello.c: Likewise.
43415         * lib/fts-cycle.c: Likewise.
43416         * lib/fts.c: Likewise.
43417         * lib/fts_.h: Likewise.
43418         * lib/full-read.c: Likewise.
43419         * lib/full-read.h: Likewise.
43420         * lib/full-write.c: Likewise.
43421         * lib/full-write.h: Likewise.
43422         * lib/fwritable.c: Likewise.
43423         * lib/fwritable.h: Likewise.
43424         * lib/fwriteerror.c: Likewise.
43425         * lib/fwriteerror.h: Likewise.
43426         * lib/fwriting.c: Likewise.
43427         * lib/fwriting.h: Likewise.
43428         * lib/gcd.c: Likewise.
43429         * lib/gcd.h: Likewise.
43430         * lib/getcwd.c: Likewise.
43431         * lib/getdate.h: Likewise.
43432         * lib/getdate.y: Likewise.
43433         * lib/getdomainname.c: Likewise.
43434         * lib/getdomainname.h: Likewise.
43435         * lib/getgroups.c: Likewise.
43436         * lib/gethostname.c: Likewise.
43437         * lib/gethrxtime.c: Likewise.
43438         * lib/gethrxtime.h: Likewise.
43439         * lib/getloadavg.c: Likewise.
43440         * lib/getndelim2.c: Likewise.
43441         * lib/getndelim2.h: Likewise.
43442         * lib/getnline.c: Likewise.
43443         * lib/getnline.h: Likewise.
43444         * lib/getopt.c: Likewise.
43445         * lib/getopt.in.h: Likewise.
43446         * lib/getopt1.c: Likewise.
43447         * lib/getopt_int.h: Likewise.
43448         * lib/getpagesize.h: Likewise.
43449         * lib/getsubopt.c: Likewise.
43450         * lib/gettime.c: Likewise.
43451         * lib/getugroups.c: Likewise.
43452         * lib/getugroups.h: Likewise.
43453         * lib/getusershell.c: Likewise.
43454         * lib/gl_anyavltree_list1.h: Likewise.
43455         * lib/gl_anyavltree_list2.h: Likewise.
43456         * lib/gl_anyhash_list1.h: Likewise.
43457         * lib/gl_anyhash_list2.h: Likewise.
43458         * lib/gl_anylinked_list1.h: Likewise.
43459         * lib/gl_anylinked_list2.h: Likewise.
43460         * lib/gl_anyrbtree_list1.h: Likewise.
43461         * lib/gl_anyrbtree_list2.h: Likewise.
43462         * lib/gl_anytree_list1.h: Likewise.
43463         * lib/gl_anytree_list2.h: Likewise.
43464         * lib/gl_anytree_oset.h: Likewise.
43465         * lib/gl_anytreehash_list1.h: Likewise.
43466         * lib/gl_anytreehash_list2.h: Likewise.
43467         * lib/gl_array_list.c: Likewise.
43468         * lib/gl_array_list.h: Likewise.
43469         * lib/gl_array_oset.c: Likewise.
43470         * lib/gl_array_oset.h: Likewise.
43471         * lib/gl_avltree_list.c: Likewise.
43472         * lib/gl_avltree_list.h: Likewise.
43473         * lib/gl_avltree_oset.c: Likewise.
43474         * lib/gl_avltree_oset.h: Likewise.
43475         * lib/gl_avltreehash_list.c: Likewise.
43476         * lib/gl_avltreehash_list.h: Likewise.
43477         * lib/gl_carray_list.c: Likewise.
43478         * lib/gl_carray_list.h: Likewise.
43479         * lib/gl_linked_list.c: Likewise.
43480         * lib/gl_linked_list.h: Likewise.
43481         * lib/gl_linkedhash_list.c: Likewise.
43482         * lib/gl_linkedhash_list.h: Likewise.
43483         * lib/gl_list.c: Likewise.
43484         * lib/gl_list.h: Likewise.
43485         * lib/gl_oset.c: Likewise.
43486         * lib/gl_oset.h: Likewise.
43487         * lib/gl_rbtree_list.c: Likewise.
43488         * lib/gl_rbtree_list.h: Likewise.
43489         * lib/gl_rbtree_oset.c: Likewise.
43490         * lib/gl_rbtree_oset.h: Likewise.
43491         * lib/gl_rbtreehash_list.c: Likewise.
43492         * lib/gl_rbtreehash_list.h: Likewise.
43493         * lib/gl_sublist.c: Likewise.
43494         * lib/gl_sublist.h: Likewise.
43495         * lib/group-member.c: Likewise.
43496         * lib/group-member.h: Likewise.
43497         * lib/hard-locale.c: Likewise.
43498         * lib/hard-locale.h: Likewise.
43499         * lib/hash-pjw.c: Likewise.
43500         * lib/hash-pjw.h: Likewise.
43501         * lib/hash-triple.c: Likewise.
43502         * lib/hash.c: Likewise.
43503         * lib/hash.h: Likewise.
43504         * lib/human.c: Likewise.
43505         * lib/human.h: Likewise.
43506         * lib/i-ring.c: Likewise.
43507         * lib/i-ring.h: Likewise.
43508         * lib/idcache.c: Likewise.
43509         * lib/imaxabs.c: Likewise.
43510         * lib/imaxdiv.c: Likewise.
43511         * lib/inet_pton.c: Likewise.
43512         * lib/inet_pton.h: Likewise.
43513         * lib/intprops.h: Likewise.
43514         * lib/inttostr.c: Likewise.
43515         * lib/inttostr.h: Likewise.
43516         * lib/inttypes.in.h: Likewise.
43517         * lib/isapipe.c: Likewise.
43518         * lib/isdir.c: Likewise.
43519         * lib/isnan.c: Likewise.
43520         * lib/isnan.h: Likewise.
43521         * lib/isnanf.c: Likewise.
43522         * lib/isnanf.h: Likewise.
43523         * lib/isnanl-nolibm.h: Likewise.
43524         * lib/isnanl.c: Likewise.
43525         * lib/isnanl.h: Likewise.
43526         * lib/javacomp.c: Likewise.
43527         * lib/javacomp.h: Likewise.
43528         * lib/javaexec.c: Likewise.
43529         * lib/javaexec.h: Likewise.
43530         * lib/javaversion.c: Likewise.
43531         * lib/javaversion.h: Likewise.
43532         * lib/javaversion.java: Likewise.
43533         * lib/lbrkprop.h: Likewise.
43534         * lib/lchmod.h: Likewise.
43535         * lib/lchown.c: Likewise.
43536         * lib/ldexpl.c: Likewise.
43537         * lib/linebreak.c: Likewise.
43538         * lib/linebreak.h: Likewise.
43539         * lib/linebuffer.c: Likewise.
43540         * lib/linebuffer.h: Likewise.
43541         * lib/locale.in.h: Likewise.
43542         * lib/logl.c: Likewise.
43543         * lib/long-options.c: Likewise.
43544         * lib/long-options.h: Likewise.
43545         * lib/lstat.c: Likewise.
43546         * lib/lstat.h: Likewise.
43547         * lib/math.in.h: Likewise.
43548         * lib/mbchar.c: Likewise.
43549         * lib/mbchar.h: Likewise.
43550         * lib/mbfile.h: Likewise.
43551         * lib/mbiter.h: Likewise.
43552         * lib/mbscasecmp.c: Likewise.
43553         * lib/mbscasestr.c: Likewise.
43554         * lib/mbschr.c: Likewise.
43555         * lib/mbscspn.c: Likewise.
43556         * lib/mbslen.c: Likewise.
43557         * lib/mbsncasecmp.c: Likewise.
43558         * lib/mbsnlen.c: Likewise.
43559         * lib/mbspbrk.c: Likewise.
43560         * lib/mbspcasecmp.c: Likewise.
43561         * lib/mbsrchr.c: Likewise.
43562         * lib/mbssep.c: Likewise.
43563         * lib/mbsspn.c: Likewise.
43564         * lib/mbsstr.c: Likewise.
43565         * lib/mbstok_r.c: Likewise.
43566         * lib/mbswidth.c: Likewise.
43567         * lib/mbswidth.h: Likewise.
43568         * lib/mbuiter.h: Likewise.
43569         * lib/memcasecmp.c: Likewise.
43570         * lib/memcasecmp.h: Likewise.
43571         * lib/memchr.c: Likewise.
43572         * lib/memcmp.c: Likewise.
43573         * lib/memcoll.c: Likewise.
43574         * lib/memcoll.h: Likewise.
43575         * lib/memcpy.c: Likewise.
43576         * lib/memrchr.c: Likewise.
43577         * lib/mkancesdirs.c: Likewise.
43578         * lib/mkdir-p.c: Likewise.
43579         * lib/mkdir-p.h: Likewise.
43580         * lib/mkdir.c: Likewise.
43581         * lib/mkdirat.c: Likewise.
43582         * lib/mkdtemp.c: Likewise.
43583         * lib/mkstemp-safer.c: Likewise.
43584         * lib/mkstemp.c: Likewise.
43585         * lib/modechange.c: Likewise.
43586         * lib/modechange.h: Likewise.
43587         * lib/mountlist.c: Likewise.
43588         * lib/mountlist.h: Likewise.
43589         * lib/mpsort.c: Likewise.
43590         * lib/nanosleep.c: Likewise.
43591         * lib/obstack.c: Likewise.
43592         * lib/obstack.h: Likewise.
43593         * lib/open-safer.c: Likewise.
43594         * lib/open.c: Likewise.
43595         * lib/openat-die.c: Likewise.
43596         * lib/openat-priv.h: Likewise.
43597         * lib/openat-proc.c: Likewise.
43598         * lib/openat.c: Likewise.
43599         * lib/openat.h: Likewise.
43600         * lib/pagealign_alloc.c: Likewise.
43601         * lib/pagealign_alloc.h: Likewise.
43602         * lib/physmem.c: Likewise.
43603         * lib/physmem.h: Likewise.
43604         * lib/pipe-safer.c: Likewise.
43605         * lib/pipe.c: Likewise.
43606         * lib/pipe.h: Likewise.
43607         * lib/posixtm.c: Likewise.
43608         * lib/posixtm.h: Likewise.
43609         * lib/posixver.c: Likewise.
43610         * lib/printf-frexp.c: Likewise.
43611         * lib/printf-frexp.h: Likewise.
43612         * lib/printf-frexpl.c: Likewise.
43613         * lib/printf-frexpl.h: Likewise.
43614         * lib/printf.c: Likewise.
43615         * lib/progname.c: Likewise.
43616         * lib/progname.h: Likewise.
43617         * lib/progreloc.c: Likewise.
43618         * lib/putenv.c: Likewise.
43619         * lib/quote.c: Likewise.
43620         * lib/quote.h: Likewise.
43621         * lib/quotearg.c: Likewise.
43622         * lib/quotearg.h: Likewise.
43623         * lib/raise.c: Likewise.
43624         * lib/readline.c: Likewise.
43625         * lib/readline.h: Likewise.
43626         * lib/readlink.c: Likewise.
43627         * lib/readtokens.c: Likewise.
43628         * lib/readtokens.h: Likewise.
43629         * lib/readtokens0.c: Likewise.
43630         * lib/readtokens0.h: Likewise.
43631         * lib/readutmp.c: Likewise.
43632         * lib/readutmp.h: Likewise.
43633         * lib/realloc.c: Likewise.
43634         * lib/relocwrapper.c: Likewise.
43635         * lib/rename-dest-slash.c: Likewise.
43636         * lib/rename.c: Likewise.
43637         * lib/rmdir.c: Likewise.
43638         * lib/rpmatch.c: Likewise.
43639         * lib/safe-read.c: Likewise.
43640         * lib/safe-read.h: Likewise.
43641         * lib/safe-write.c: Likewise.
43642         * lib/safe-write.h: Likewise.
43643         * lib/same-inode.h: Likewise.
43644         * lib/same.c: Likewise.
43645         * lib/same.h: Likewise.
43646         * lib/save-cwd.c: Likewise.
43647         * lib/save-cwd.h: Likewise.
43648         * lib/savedir.c: Likewise.
43649         * lib/savedir.h: Likewise.
43650         * lib/savewd.c: Likewise.
43651         * lib/savewd.h: Likewise.
43652         * lib/search.in.h: Likewise.
43653         * lib/setenv.c: Likewise.
43654         * lib/setenv.h: Likewise.
43655         * lib/settime.c: Likewise.
43656         * lib/sh-quote.c: Likewise.
43657         * lib/sh-quote.h: Likewise.
43658         * lib/sig2str.c: Likewise.
43659         * lib/sig2str.h: Likewise.
43660         * lib/signal.in.h: Likewise.
43661         * lib/signbitd.c: Likewise.
43662         * lib/signbitf.c: Likewise.
43663         * lib/signbitl.c: Likewise.
43664         * lib/sigprocmask.c: Likewise.
43665         * lib/sincosl.c: Likewise.
43666         * lib/sleep.c: Likewise.
43667         * lib/sprintf.c: Likewise.
43668         * lib/sqrtl.c: Likewise.
43669         * lib/stat-time.h: Likewise.
43670         * lib/stdio--.h: Likewise.
43671         * lib/stdio-safer.h: Likewise.
43672         * lib/stdlib--.h: Likewise.
43673         * lib/stdlib-safer.h: Likewise.
43674         * lib/stdlib.in.h: Likewise.
43675         * lib/stpcpy.c: Likewise.
43676         * lib/stpncpy.c: Likewise.
43677         * lib/strchrnul.c: Likewise.
43678         * lib/strcspn.c: Likewise.
43679         * lib/strerror.c: Likewise.
43680         * lib/strftime.c: Likewise.
43681         * lib/strftime.h: Likewise.
43682         * lib/striconveh.c: Likewise.
43683         * lib/striconveh.h: Likewise.
43684         * lib/striconveha.c: Likewise.
43685         * lib/striconveha.h: Likewise.
43686         * lib/stripslash.c: Likewise.
43687         * lib/strnlen1.c: Likewise.
43688         * lib/strnlen1.h: Likewise.
43689         * lib/strtod.c: Likewise.
43690         * lib/strtoimax.c: Likewise.
43691         * lib/strtok_r.c: Likewise.
43692         * lib/strtol.c: Likewise.
43693         * lib/strtoll.c: Likewise.
43694         * lib/strtoul.c: Likewise.
43695         * lib/strtoull.c: Likewise.
43696         * lib/sysexits.in.h: Likewise.
43697         * lib/tempname.c: Likewise.
43698         * lib/tempname.h: Likewise.
43699         * lib/timespec.h: Likewise.
43700         * lib/tls.c: Likewise.
43701         * lib/tls.h: Likewise.
43702         * lib/tmpdir.c: Likewise.
43703         * lib/tmpdir.h: Likewise.
43704         * lib/tmpfile-safer.c: Likewise.
43705         * lib/tmpfile.c: Likewise.
43706         * lib/trigl.c: Likewise.
43707         * lib/trigl.h: Likewise.
43708         * lib/trim.c: Likewise.
43709         * lib/trim.h: Likewise.
43710         * lib/trunc.c: Likewise.
43711         * lib/truncf.c: Likewise.
43712         * lib/truncl.c: Likewise.
43713         * lib/tsearch.c: Likewise.
43714         * lib/unicodeio.c: Likewise.
43715         * lib/unicodeio.h: Likewise.
43716         * lib/unistd--.h: Likewise.
43717         * lib/unistd-safer.h: Likewise.
43718         * lib/unistdio/ulc-fprintf.c: Likewise.
43719         * lib/unistdio/ulc-vfprintf.c: Likewise.
43720         * lib/unlinkdir.c: Likewise.
43721         * lib/unlinkdir.h: Likewise.
43722         * lib/unlocked-io.h: Likewise.
43723         * lib/unsetenv.c: Likewise.
43724         * lib/userspec.c: Likewise.
43725         * lib/utime.c: Likewise.
43726         * lib/utimecmp.c: Likewise.
43727         * lib/utimecmp.h: Likewise.
43728         * lib/utimens.c: Likewise.
43729         * lib/verify.h: Likewise.
43730         * lib/verror.c: Likewise.
43731         * lib/verror.h: Likewise.
43732         * lib/version-etc-fsf.c: Likewise.
43733         * lib/version-etc.c: Likewise.
43734         * lib/version-etc.h: Likewise.
43735         * lib/vfprintf.c: Likewise.
43736         * lib/vprintf.c: Likewise.
43737         * lib/vsprintf.c: Likewise.
43738         * lib/w32spawn.h: Likewise.
43739         * lib/wait-process.c: Likewise.
43740         * lib/wait-process.h: Likewise.
43741         * lib/wcwidth.c: Likewise.
43742         * lib/write-any-file.c: Likewise.
43743         * lib/xalloc-die.c: Likewise.
43744         * lib/xalloc.h: Likewise.
43745         * lib/xasprintf.c: Likewise.
43746         * lib/xgetcwd.c: Likewise.
43747         * lib/xgetcwd.h: Likewise.
43748         * lib/xgetdomainname.c: Likewise.
43749         * lib/xgetdomainname.h: Likewise.
43750         * lib/xgethostname.c: Likewise.
43751         * lib/xmalloc.c: Likewise.
43752         * lib/xmalloca.c: Likewise.
43753         * lib/xmalloca.h: Likewise.
43754         * lib/xmemcoll.c: Likewise.
43755         * lib/xnanosleep.c: Likewise.
43756         * lib/xreadlink.c: Likewise.
43757         * lib/xreadlink.h: Likewise.
43758         * lib/xsetenv.c: Likewise.
43759         * lib/xsetenv.h: Likewise.
43760         * lib/xstriconv.c: Likewise.
43761         * lib/xstriconv.h: Likewise.
43762         * lib/xstrndup.c: Likewise.
43763         * lib/xstrndup.h: Likewise.
43764         * lib/xstrtod.c: Likewise.
43765         * lib/xstrtod.h: Likewise.
43766         * lib/xstrtol-error.c: Likewise.
43767         * lib/xstrtol.c: Likewise.
43768         * lib/xstrtol.h: Likewise.
43769         * lib/xtime.h: Likewise.
43770         * lib/xvasprintf.c: Likewise.
43771         * lib/xvasprintf.h: Likewise.
43772         * lib/yesno.c: Likewise.
43773         * lib/yesno.h: Likewise.
43774         * posix-modules: Likewise.
43775         * tests/test-alloca-opt.c: Likewise.
43776         * tests/test-arcfour.c: Likewise.
43777         * tests/test-arctwo.c: Likewise.
43778         * tests/test-argmatch.c: Likewise.
43779         * tests/test-argp-2.sh: Likewise.
43780         * tests/test-argp.c: Likewise.
43781         * tests/test-arpa_inet.c: Likewise.
43782         * tests/test-array_list.c: Likewise.
43783         * tests/test-array_oset.c: Likewise.
43784         * tests/test-atexit.c: Likewise.
43785         * tests/test-avltree_list.c: Likewise.
43786         * tests/test-avltree_oset.c: Likewise.
43787         * tests/test-avltreehash_list.c: Likewise.
43788         * tests/test-base64.c: Likewise.
43789         * tests/test-binary-io.c: Likewise.
43790         * tests/test-byteswap.c: Likewise.
43791         * tests/test-c-ctype.c: Likewise.
43792         * tests/test-c-strcasecmp.c: Likewise.
43793         * tests/test-c-strcasestr.c: Likewise.
43794         * tests/test-c-strncasecmp.c: Likewise.
43795         * tests/test-c-strstr.c: Likewise.
43796         * tests/test-canonicalize-lgpl.c: Likewise.
43797         * tests/test-canonicalize.c: Likewise.
43798         * tests/test-carray_list.c: Likewise.
43799         * tests/test-ceilf.c: Likewise.
43800         * tests/test-ceill.c: Likewise.
43801         * tests/test-count-one-bits.c: Likewise.
43802         * tests/test-crc.c: Likewise.
43803         * tests/test-dirname.c: Likewise.
43804         * tests/test-fbufmode.c: Likewise.
43805         * tests/test-fcntl.c: Likewise.
43806         * tests/test-fflush.c: Likewise.
43807         * tests/test-floorf.c: Likewise.
43808         * tests/test-floorl.c: Likewise.
43809         * tests/test-fopen.c: Likewise.
43810         * tests/test-fprintf-posix.c: Likewise.
43811         * tests/test-fprintf-posix.h: Likewise.
43812         * tests/test-fpurge.c: Likewise.
43813         * tests/test-freadable.c: Likewise.
43814         * tests/test-freadahead.c: Likewise.
43815         * tests/test-freading.c: Likewise.
43816         * tests/test-freopen.c: Likewise.
43817         * tests/test-frexp.c: Likewise.
43818         * tests/test-frexpl.c: Likewise.
43819         * tests/test-fseek.c: Likewise.
43820         * tests/test-fseeko.c: Likewise.
43821         * tests/test-fseterr.c: Likewise.
43822         * tests/test-fstrcmp.c: Likewise.
43823         * tests/test-ftell.c: Likewise.
43824         * tests/test-ftello.c: Likewise.
43825         * tests/test-fwritable.c: Likewise.
43826         * tests/test-fwriting.c: Likewise.
43827         * tests/test-getaddrinfo.c: Likewise.
43828         * tests/test-getpass.c: Likewise.
43829         * tests/test-gettimeofday.c: Likewise.
43830         * tests/test-hmac-md5.c: Likewise.
43831         * tests/test-hmac-sha1.c: Likewise.
43832         * tests/test-iconv.c: Likewise.
43833         * tests/test-iconvme.c: Likewise.
43834         * tests/test-inttypes.c: Likewise.
43835         * tests/test-isnan.c: Likewise.
43836         * tests/test-isnanf.c: Likewise.
43837         * tests/test-isnanl-nolibm.c: Likewise.
43838         * tests/test-isnanl.c: Likewise.
43839         * tests/test-isnanl.h: Likewise.
43840         * tests/test-ldexpl.c: Likewise.
43841         * tests/test-linked_list.c: Likewise.
43842         * tests/test-linkedhash_list.c: Likewise.
43843         * tests/test-locale.c: Likewise.
43844         * tests/test-localename.c: Likewise.
43845         * tests/test-lock.c: Likewise.
43846         * tests/test-lseek.c: Likewise.
43847         * tests/test-malloca.c: Likewise.
43848         * tests/test-math.c: Likewise.
43849         * tests/test-mbscasecmp.c: Likewise.
43850         * tests/test-mbscasestr1.c: Likewise.
43851         * tests/test-mbscasestr2.c: Likewise.
43852         * tests/test-mbscasestr3.c: Likewise.
43853         * tests/test-mbscasestr4.c: Likewise.
43854         * tests/test-mbschr.c: Likewise.
43855         * tests/test-mbscspn.c: Likewise.
43856         * tests/test-mbsncasecmp.c: Likewise.
43857         * tests/test-mbspbrk.c: Likewise.
43858         * tests/test-mbspcasecmp.c: Likewise.
43859         * tests/test-mbsrchr.c: Likewise.
43860         * tests/test-mbsspn.c: Likewise.
43861         * tests/test-mbsstr1.c: Likewise.
43862         * tests/test-mbsstr2.c: Likewise.
43863         * tests/test-mbsstr3.c: Likewise.
43864         * tests/test-md5.c: Likewise.
43865         * tests/test-memmem.c: Likewise.
43866         * tests/test-netinet_in.c: Likewise.
43867         * tests/test-open.c: Likewise.
43868         * tests/test-printf-frexp.c: Likewise.
43869         * tests/test-printf-frexpl.c: Likewise.
43870         * tests/test-printf-posix.c: Likewise.
43871         * tests/test-printf-posix.h: Likewise.
43872         * tests/test-rbtree_list.c: Likewise.
43873         * tests/test-rbtree_oset.c: Likewise.
43874         * tests/test-rbtreehash_list.c: Likewise.
43875         * tests/test-read-file.c: Likewise.
43876         * tests/test-rijndael.c: Likewise.
43877         * tests/test-search.c: Likewise.
43878         * tests/test-signbit.c: Likewise.
43879         * tests/test-sleep.c: Likewise.
43880         * tests/test-snprintf-posix.c: Likewise.
43881         * tests/test-snprintf-posix.h: Likewise.
43882         * tests/test-snprintf.c: Likewise.
43883         * tests/test-sprintf-posix.c: Likewise.
43884         * tests/test-sprintf-posix.h: Likewise.
43885         * tests/test-stat-time.c: Likewise.
43886         * tests/test-stdbool.c: Likewise.
43887         * tests/test-stdint.c: Likewise.
43888         * tests/test-stdio.c: Likewise.
43889         * tests/test-stdlib.c: Likewise.
43890         * tests/test-stpncpy.c: Likewise.
43891         * tests/test-strcasestr.c: Likewise.
43892         * tests/test-striconv.c: Likewise.
43893         * tests/test-striconveh.c: Likewise.
43894         * tests/test-striconveha.c: Likewise.
43895         * tests/test-string.c: Likewise.
43896         * tests/test-sys_select.c: Likewise.
43897         * tests/test-sys_socket.c: Likewise.
43898         * tests/test-sys_stat.c: Likewise.
43899         * tests/test-sys_time.c: Likewise.
43900         * tests/test-sysexits.c: Likewise.
43901         * tests/test-time.c: Likewise.
43902         * tests/test-tls.c: Likewise.
43903         * tests/test-trunc.c: Likewise.
43904         * tests/test-truncf.c: Likewise.
43905         * tests/test-truncl.c: Likewise.
43906         * tests/test-unistd.c: Likewise.
43907         * tests/test-vasnprintf-posix.c: Likewise.
43908         * tests/test-vasnprintf-posix2.c: Likewise.
43909         * tests/test-vasnprintf.c: Likewise.
43910         * tests/test-vasprintf-posix.c: Likewise.
43911         * tests/test-vasprintf.c: Likewise.
43912         * tests/test-verify.c: Likewise.
43913         * tests/test-vfprintf-posix.c: Likewise.
43914         * tests/test-vprintf-posix.c: Likewise.
43915         * tests/test-vsnprintf-posix.c: Likewise.
43916         * tests/test-vsnprintf.c: Likewise.
43917         * tests/test-vsprintf-posix.c: Likewise.
43918         * tests/test-wchar.c: Likewise.
43919         * tests/test-wctype.c: Likewise.
43920         * tests/test-wcwidth.c: Likewise.
43921         * tests/test-xstrtol.c: Likewise.
43922         * tests/test-xvasprintf.c: Likewise.
43923         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
43924         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
43925         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
43926         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
43927         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
43928         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
43929         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
43930         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
43931         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
43932         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
43933         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
43934         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
43935         * tests/uniname/test-uninames.c: Likewise.
43936         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
43937         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
43938         * tests/unistdio/test-u16-printf1.h: Likewise.
43939         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
43940         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
43941         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
43942         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
43943         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
43944         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
43945         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
43946         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
43947         * tests/unistdio/test-u32-printf1.h: Likewise.
43948         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
43949         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
43950         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
43951         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
43952         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
43953         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
43954         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
43955         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
43956         * tests/unistdio/test-u8-printf1.h: Likewise.
43957         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
43958         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
43959         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
43960         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
43961         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
43962         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
43963         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
43964         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
43965         * tests/unistdio/test-ulc-printf1.h: Likewise.
43966         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
43967         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
43968         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
43969         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
43970         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
43971         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
43972         * tests/uniwidth/test-u16-strwidth.c: Likewise.
43973         * tests/uniwidth/test-u16-width.c: Likewise.
43974         * tests/uniwidth/test-u32-strwidth.c: Likewise.
43975         * tests/uniwidth/test-u32-width.c: Likewise.
43976         * tests/uniwidth/test-u8-strwidth.c: Likewise.
43977         * tests/uniwidth/test-u8-width.c: Likewise.
43978         * tests/uniwidth/test-uc_width.c: Likewise.
43979         * config/srclist-update: Likewise.
43980         (fixlicense): Update to GPLv3+.
43981
43982         Change copyright notice from LGPLv2.1+ to LGPLv3+.
43983         * tests/test-tsearch.c: Change copyright notice.
43984
43985         Change copyright notice from LGPLv2.0+ to LGPLv3+.
43986         * lib/c-strcaseeq.h: Change copyright notice.
43987         * lib/streq.h: Likewise.
43988         * lib/uniconv.h: Likewise.
43989         * lib/uniconv/u-conv-from-enc.h: Likewise.
43990         * lib/uniconv/u-conv-to-enc.h: Likewise.
43991         * lib/uniconv/u-strconv-from-enc.h: Likewise.
43992         * lib/uniconv/u-strconv-to-enc.h: Likewise.
43993         * lib/uniconv/u16-conv-from-enc.c: Likewise.
43994         * lib/uniconv/u16-conv-to-enc.c: Likewise.
43995         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
43996         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
43997         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
43998         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
43999         * lib/uniconv/u32-conv-from-enc.c: Likewise.
44000         * lib/uniconv/u32-conv-to-enc.c: Likewise.
44001         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
44002         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
44003         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
44004         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
44005         * lib/uniconv/u8-conv-from-enc.c: Likewise.
44006         * lib/uniconv/u8-conv-to-enc.c: Likewise.
44007         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
44008         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
44009         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
44010         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
44011         * lib/uniname.h: Likewise.
44012         * lib/uniname/uniname.c: Likewise.
44013         * lib/unistdio.h: Likewise.
44014         * lib/unistdio/u-asnprintf.h: Likewise.
44015         * lib/unistdio/u-asprintf.h: Likewise.
44016         * lib/unistdio/u-printf-args.c: Likewise.
44017         * lib/unistdio/u-printf-args.h: Likewise.
44018         * lib/unistdio/u-printf-parse.h: Likewise.
44019         * lib/unistdio/u-snprintf.h: Likewise.
44020         * lib/unistdio/u-sprintf.h: Likewise.
44021         * lib/unistdio/u-vasprintf.h: Likewise.
44022         * lib/unistdio/u-vsnprintf.h: Likewise.
44023         * lib/unistdio/u-vsprintf.h: Likewise.
44024         * lib/unistdio/u16-asnprintf.c: Likewise.
44025         * lib/unistdio/u16-asprintf.c: Likewise.
44026         * lib/unistdio/u16-printf-parse.c: Likewise.
44027         * lib/unistdio/u16-snprintf.c: Likewise.
44028         * lib/unistdio/u16-sprintf.c: Likewise.
44029         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
44030         * lib/unistdio/u16-u16-asprintf.c: Likewise.
44031         * lib/unistdio/u16-u16-snprintf.c: Likewise.
44032         * lib/unistdio/u16-u16-sprintf.c: Likewise.
44033         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
44034         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
44035         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
44036         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
44037         * lib/unistdio/u16-vasnprintf.c: Likewise.
44038         * lib/unistdio/u16-vasprintf.c: Likewise.
44039         * lib/unistdio/u16-vsnprintf.c: Likewise.
44040         * lib/unistdio/u16-vsprintf.c: Likewise.
44041         * lib/unistdio/u32-asnprintf.c: Likewise.
44042         * lib/unistdio/u32-asprintf.c: Likewise.
44043         * lib/unistdio/u32-printf-parse.c: Likewise.
44044         * lib/unistdio/u32-snprintf.c: Likewise.
44045         * lib/unistdio/u32-sprintf.c: Likewise.
44046         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
44047         * lib/unistdio/u32-u32-asprintf.c: Likewise.
44048         * lib/unistdio/u32-u32-snprintf.c: Likewise.
44049         * lib/unistdio/u32-u32-sprintf.c: Likewise.
44050         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
44051         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
44052         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
44053         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
44054         * lib/unistdio/u32-vasnprintf.c: Likewise.
44055         * lib/unistdio/u32-vasprintf.c: Likewise.
44056         * lib/unistdio/u32-vsnprintf.c: Likewise.
44057         * lib/unistdio/u32-vsprintf.c: Likewise.
44058         * lib/unistdio/u8-asnprintf.c: Likewise.
44059         * lib/unistdio/u8-asprintf.c: Likewise.
44060         * lib/unistdio/u8-printf-parse.c: Likewise.
44061         * lib/unistdio/u8-snprintf.c: Likewise.
44062         * lib/unistdio/u8-sprintf.c: Likewise.
44063         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
44064         * lib/unistdio/u8-u8-asprintf.c: Likewise.
44065         * lib/unistdio/u8-u8-snprintf.c: Likewise.
44066         * lib/unistdio/u8-u8-sprintf.c: Likewise.
44067         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
44068         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
44069         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
44070         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
44071         * lib/unistdio/u8-vasnprintf.c: Likewise.
44072         * lib/unistdio/u8-vasprintf.c: Likewise.
44073         * lib/unistdio/u8-vsnprintf.c: Likewise.
44074         * lib/unistdio/u8-vsprintf.c: Likewise.
44075         * lib/unistdio/ulc-asnprintf.c: Likewise.
44076         * lib/unistdio/ulc-asprintf.c: Likewise.
44077         * lib/unistdio/ulc-printf-parse.c: Likewise.
44078         * lib/unistdio/ulc-snprintf.c: Likewise.
44079         * lib/unistdio/ulc-sprintf.c: Likewise.
44080         * lib/unistdio/ulc-vasnprintf.c: Likewise.
44081         * lib/unistdio/ulc-vasprintf.c: Likewise.
44082         * lib/unistdio/ulc-vsnprintf.c: Likewise.
44083         * lib/unistdio/ulc-vsprintf.c: Likewise.
44084         * lib/unistr.h: Likewise.
44085         * lib/unistr/u-cpy-alloc.h: Likewise.
44086         * lib/unistr/u-cpy.h: Likewise.
44087         * lib/unistr/u-endswith.h: Likewise.
44088         * lib/unistr/u-move.h: Likewise.
44089         * lib/unistr/u-set.h: Likewise.
44090         * lib/unistr/u-startswith.h: Likewise.
44091         * lib/unistr/u-stpcpy.h: Likewise.
44092         * lib/unistr/u-stpncpy.h: Likewise.
44093         * lib/unistr/u-strcat.h: Likewise.
44094         * lib/unistr/u-strcpy.h: Likewise.
44095         * lib/unistr/u-strcspn.h: Likewise.
44096         * lib/unistr/u-strdup.h: Likewise.
44097         * lib/unistr/u-strlen.h: Likewise.
44098         * lib/unistr/u-strncat.h: Likewise.
44099         * lib/unistr/u-strncpy.h: Likewise.
44100         * lib/unistr/u-strnlen.h: Likewise.
44101         * lib/unistr/u-strpbrk.h: Likewise.
44102         * lib/unistr/u-strspn.h: Likewise.
44103         * lib/unistr/u-strstr.h: Likewise.
44104         * lib/unistr/u-strtok.h: Likewise.
44105         * lib/unistr/u16-check.c: Likewise.
44106         * lib/unistr/u16-chr.c: Likewise.
44107         * lib/unistr/u16-cmp.c: Likewise.
44108         * lib/unistr/u16-cpy-alloc.c: Likewise.
44109         * lib/unistr/u16-cpy.c: Likewise.
44110         * lib/unistr/u16-endswith.c: Likewise.
44111         * lib/unistr/u16-mblen.c: Likewise.
44112         * lib/unistr/u16-mbsnlen.c: Likewise.
44113         * lib/unistr/u16-mbtouc-aux.c: Likewise.
44114         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
44115         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
44116         * lib/unistr/u16-mbtouc.c: Likewise.
44117         * lib/unistr/u16-mbtoucr.c: Likewise.
44118         * lib/unistr/u16-move.c: Likewise.
44119         * lib/unistr/u16-next.c: Likewise.
44120         * lib/unistr/u16-prev.c: Likewise.
44121         * lib/unistr/u16-set.c: Likewise.
44122         * lib/unistr/u16-startswith.c: Likewise.
44123         * lib/unistr/u16-stpcpy.c: Likewise.
44124         * lib/unistr/u16-stpncpy.c: Likewise.
44125         * lib/unistr/u16-strcat.c: Likewise.
44126         * lib/unistr/u16-strchr.c: Likewise.
44127         * lib/unistr/u16-strcmp.c: Likewise.
44128         * lib/unistr/u16-strcpy.c: Likewise.
44129         * lib/unistr/u16-strcspn.c: Likewise.
44130         * lib/unistr/u16-strdup.c: Likewise.
44131         * lib/unistr/u16-strlen.c: Likewise.
44132         * lib/unistr/u16-strmblen.c: Likewise.
44133         * lib/unistr/u16-strmbtouc.c: Likewise.
44134         * lib/unistr/u16-strncat.c: Likewise.
44135         * lib/unistr/u16-strncmp.c: Likewise.
44136         * lib/unistr/u16-strncpy.c: Likewise.
44137         * lib/unistr/u16-strnlen.c: Likewise.
44138         * lib/unistr/u16-strpbrk.c: Likewise.
44139         * lib/unistr/u16-strrchr.c: Likewise.
44140         * lib/unistr/u16-strspn.c: Likewise.
44141         * lib/unistr/u16-strstr.c: Likewise.
44142         * lib/unistr/u16-strtok.c: Likewise.
44143         * lib/unistr/u16-to-u32.c: Likewise.
44144         * lib/unistr/u16-to-u8.c: Likewise.
44145         * lib/unistr/u16-uctomb-aux.c: Likewise.
44146         * lib/unistr/u16-uctomb.c: Likewise.
44147         * lib/unistr/u32-check.c: Likewise.
44148         * lib/unistr/u32-chr.c: Likewise.
44149         * lib/unistr/u32-cmp.c: Likewise.
44150         * lib/unistr/u32-cpy-alloc.c: Likewise.
44151         * lib/unistr/u32-cpy.c: Likewise.
44152         * lib/unistr/u32-endswith.c: Likewise.
44153         * lib/unistr/u32-mblen.c: Likewise.
44154         * lib/unistr/u32-mbsnlen.c: Likewise.
44155         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
44156         * lib/unistr/u32-mbtouc.c: Likewise.
44157         * lib/unistr/u32-mbtoucr.c: Likewise.
44158         * lib/unistr/u32-move.c: Likewise.
44159         * lib/unistr/u32-next.c: Likewise.
44160         * lib/unistr/u32-prev.c: Likewise.
44161         * lib/unistr/u32-set.c: Likewise.
44162         * lib/unistr/u32-startswith.c: Likewise.
44163         * lib/unistr/u32-stpcpy.c: Likewise.
44164         * lib/unistr/u32-stpncpy.c: Likewise.
44165         * lib/unistr/u32-strcat.c: Likewise.
44166         * lib/unistr/u32-strchr.c: Likewise.
44167         * lib/unistr/u32-strcmp.c: Likewise.
44168         * lib/unistr/u32-strcpy.c: Likewise.
44169         * lib/unistr/u32-strcspn.c: Likewise.
44170         * lib/unistr/u32-strdup.c: Likewise.
44171         * lib/unistr/u32-strlen.c: Likewise.
44172         * lib/unistr/u32-strmblen.c: Likewise.
44173         * lib/unistr/u32-strmbtouc.c: Likewise.
44174         * lib/unistr/u32-strncat.c: Likewise.
44175         * lib/unistr/u32-strncmp.c: Likewise.
44176         * lib/unistr/u32-strncpy.c: Likewise.
44177         * lib/unistr/u32-strnlen.c: Likewise.
44178         * lib/unistr/u32-strpbrk.c: Likewise.
44179         * lib/unistr/u32-strrchr.c: Likewise.
44180         * lib/unistr/u32-strspn.c: Likewise.
44181         * lib/unistr/u32-strstr.c: Likewise.
44182         * lib/unistr/u32-strtok.c: Likewise.
44183         * lib/unistr/u32-to-u16.c: Likewise.
44184         * lib/unistr/u32-to-u8.c: Likewise.
44185         * lib/unistr/u32-uctomb.c: Likewise.
44186         * lib/unistr/u8-check.c: Likewise.
44187         * lib/unistr/u8-chr.c: Likewise.
44188         * lib/unistr/u8-cmp.c: Likewise.
44189         * lib/unistr/u8-cpy-alloc.c: Likewise.
44190         * lib/unistr/u8-cpy.c: Likewise.
44191         * lib/unistr/u8-endswith.c: Likewise.
44192         * lib/unistr/u8-mblen.c: Likewise.
44193         * lib/unistr/u8-mbsnlen.c: Likewise.
44194         * lib/unistr/u8-mbtouc-aux.c: Likewise.
44195         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
44196         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
44197         * lib/unistr/u8-mbtouc.c: Likewise.
44198         * lib/unistr/u8-mbtoucr.c: Likewise.
44199         * lib/unistr/u8-move.c: Likewise.
44200         * lib/unistr/u8-next.c: Likewise.
44201         * lib/unistr/u8-prev.c: Likewise.
44202         * lib/unistr/u8-set.c: Likewise.
44203         * lib/unistr/u8-startswith.c: Likewise.
44204         * lib/unistr/u8-stpcpy.c: Likewise.
44205         * lib/unistr/u8-stpncpy.c: Likewise.
44206         * lib/unistr/u8-strcat.c: Likewise.
44207         * lib/unistr/u8-strchr.c: Likewise.
44208         * lib/unistr/u8-strcmp.c: Likewise.
44209         * lib/unistr/u8-strcpy.c: Likewise.
44210         * lib/unistr/u8-strcspn.c: Likewise.
44211         * lib/unistr/u8-strdup.c: Likewise.
44212         * lib/unistr/u8-strlen.c: Likewise.
44213         * lib/unistr/u8-strmblen.c: Likewise.
44214         * lib/unistr/u8-strmbtouc.c: Likewise.
44215         * lib/unistr/u8-strncat.c: Likewise.
44216         * lib/unistr/u8-strncmp.c: Likewise.
44217         * lib/unistr/u8-strncpy.c: Likewise.
44218         * lib/unistr/u8-strnlen.c: Likewise.
44219         * lib/unistr/u8-strpbrk.c: Likewise.
44220         * lib/unistr/u8-strrchr.c: Likewise.
44221         * lib/unistr/u8-strspn.c: Likewise.
44222         * lib/unistr/u8-strstr.c: Likewise.
44223         * lib/unistr/u8-strtok.c: Likewise.
44224         * lib/unistr/u8-to-u16.c: Likewise.
44225         * lib/unistr/u8-to-u32.c: Likewise.
44226         * lib/unistr/u8-uctomb-aux.c: Likewise.
44227         * lib/unistr/u8-uctomb.c: Likewise.
44228         * lib/unitypes.h: Likewise.
44229         * lib/uniwidth.h: Likewise.
44230         * lib/uniwidth/cjk.h: Likewise.
44231         * lib/uniwidth/u16-strwidth.c: Likewise.
44232         * lib/uniwidth/u16-width.c: Likewise.
44233         * lib/uniwidth/u32-strwidth.c: Likewise.
44234         * lib/uniwidth/u32-width.c: Likewise.
44235         * lib/uniwidth/u8-strwidth.c: Likewise.
44236         * lib/uniwidth/u8-width.c: Likewise.
44237         * lib/uniwidth/width.c: Likewise.
44238
44239 2007-10-07  Bruno Haible  <bruno@clisp.org>
44240
44241         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
44242         The file is still under LGPL (see modules/inttypes).
44243
44244 2007-10-06  Bruno Haible  <bruno@clisp.org>
44245
44246         * modules/trunc (Dependencies): Add 'extensions'.
44247         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
44248         Reported by Ben Pfaff <blp@gnu.org>.
44249
44250 2007-10-06  Bruno Haible  <bruno@clisp.org>
44251
44252         * modules/freopen-tests: New file.
44253         * tests/test-freopen.c: New file.
44254
44255         * modules/fopen-tests: New file.
44256         * tests/test-fopen.c: New file.
44257
44258         * modules/fopen: New file.
44259         * lib/fopen.c: New file.
44260         * m4/fopen.m4: New file.
44261         * modules/freopen: New file.
44262         * lib/freopen.c: New file.
44263         * m4/freopen.m4: New file.
44264         * lib/stdio.in.h (fopen, freopen): New declarations.
44265         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
44266         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
44267         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
44268         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
44269         * doc/functions/fopen.texi: Mention the 'fopen' module.
44270         * doc/functions/freopen.texi: Mention the 'freopen' module.
44271
44272 2007-10-06  Bruno Haible  <bruno@clisp.org>
44273
44274         * modules/open-tests: New file.
44275         * tests/test-open.c: New file.
44276
44277         * modules/open: New file.
44278         * lib/open.c: New file.
44279         * m4/open.m4: New file.
44280         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
44281         lib/open.c does.
44282         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
44283         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
44284         macros.
44285         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
44286         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
44287         REPLACE_OPEN.
44288         * doc/functions/open.texi: Mention the 'open' module.
44289
44290 2007-10-04  Bruno Haible  <bruno@clisp.org>
44291
44292         * modules/ceill-tests: New file.
44293         * tests/test-ceill.c: New file.
44294
44295         * modules/ceill: New file.
44296         * lib/ceill.c: Replace entire file.
44297         * m4/ceill.m4: New file.
44298         * lib/math.in.h (ceill): Replace declaration.
44299         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
44300         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
44301         * doc/functions/ceill.texi: Mention the 'ceill' module.
44302         * modules/mathl (Files): Remove lib/ceill.c.
44303         (Depends-on): Add ceill.
44304
44305 2007-10-04  Bruno Haible  <bruno@clisp.org>
44306
44307         * modules/ceilf-tests: New file.
44308         * tests/test-ceilf.c: New file.
44309
44310         * modules/ceilf: New file.
44311         * lib/ceil.c: New file.
44312         * lib/ceilf.c: New file.
44313         * m4/ceilf.m4: New file.
44314         * lib/math.in.h (ceilf): New declaration.
44315         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
44316         HAVE_DECL_CEILF.
44317         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
44318         HAVE_DECL_CEILF.
44319         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
44320
44321 2007-10-04  Bruno Haible  <bruno@clisp.org>
44322
44323         * modules/floorl-tests: New file.
44324         * tests/test-floorl.c: New file.
44325
44326         * modules/floorl: New file.
44327         * lib/floorl.c: Replace entire file.
44328         * m4/floorl.m4: New file.
44329         * lib/math.in.h (floorl): Replace declaration.
44330         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
44331         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
44332         * doc/functions/floorl.texi: Mention the 'floorl' module.
44333         * modules/mathl (Files): Remove lib/floorl.c.
44334         (Depends-on): Add floorl.
44335
44336 2007-10-04  Bruno Haible  <bruno@clisp.org>
44337
44338         * modules/floorf-tests: New file.
44339         * tests/test-floorf.c: New file.
44340
44341         * modules/floorf: New file.
44342         * lib/floor.c: New file.
44343         * lib/floorf.c: New file.
44344         * m4/floorf.m4: New file.
44345         * lib/math.in.h (floorf): New declaration.
44346         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
44347         HAVE_DECL_FLOORF.
44348         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
44349         HAVE_DECL_FLOORF.
44350         * doc/functions/floorf.texi: Mention the 'floorf' module.
44351
44352 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
44353             Bruno Haible  <bruno@clisp.org>
44354
44355         Advertise for the Git server instead of the CVS server.
44356         * doc/gnulib-intro.texi (Steady Development): Mention the Git
44357         repository instead of the CVS one.
44358         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
44359         about all VCS systems generically.
44360         * doc/gnulib.texi (Introduction): Capitalize `Git'.
44361
44362 2007-10-04  Bruno Haible  <bruno@clisp.org>
44363
44364         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
44365         means.
44366         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
44367
44368 2007-10-04  Bruno Haible  <bruno@clisp.org>
44369
44370         * modules/truncl-tests: New file.
44371         * tests/test-truncl.c: New file.
44372
44373         * modules/truncl: New file.
44374         * lib/truncl.c: New file.
44375         * m4/truncl.m4: New file.
44376         * lib/math.in.h (truncl): New declaration.
44377         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
44378         HAVE_DECL_TRUNCL.
44379         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
44380         HAVE_DECL_TRUNCL.
44381         * doc/functions/truncl.texi: Mention the 'truncl' module.
44382
44383 2007-10-04  Bruno Haible  <bruno@clisp.org>
44384
44385         * modules/truncf-tests: New file.
44386         * tests/test-truncf.c: New file.
44387
44388         * modules/truncf: New file.
44389         * lib/trunc.c: Make paramerizable through USE_* macros.
44390         * lib/truncf.c: New file.
44391         * m4/truncf.m4: New file.
44392         * lib/math.in.h (truncf): New declaration.
44393         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
44394         HAVE_DECL_TRUNCF.
44395         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
44396         HAVE_DECL_TRUNCF.
44397         * doc/functions/truncf.texi: Mention the 'truncf' module.
44398
44399 2007-10-03  Bruno Haible  <bruno@clisp.org>
44400
44401         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
44402         augmentation also for tests modules.
44403         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
44404         * modules/atexit-tests (Makefile.am): Likewise.
44405         * modules/binary-io-tests (Makefile.am): Likewise.
44406         * modules/c-strcase-tests (Makefile.am): Likewise.
44407         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
44408         * modules/canonicalize-tests (Makefile.am): Likewise.
44409         * modules/closein-tests (Makefile.am): Likewise.
44410         * modules/fprintf-posix-tests (Makefile.am): Likewise.
44411         * modules/freadahead-tests (Makefile.am): Likewise.
44412         * modules/fseek-tests (Makefile.am): Likewise.
44413         * modules/fseeko-tests (Makefile.am): Likewise.
44414         * modules/ftell-tests (Makefile.am): Likewise.
44415         * modules/ftello-tests (Makefile.am): Likewise.
44416         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
44417         * modules/isnanl-tests (Makefile.am): Likewise.
44418         * modules/lseek-tests (Makefile.am): Likewise.
44419         * modules/mbscasecmp-tests (Makefile.am): Likewise.
44420         * modules/mbscasestr-tests (Makefile.am): Likewise.
44421         * modules/mbschr-tests (Makefile.am): Likewise.
44422         * modules/mbscspn-tests (Makefile.am): Likewise.
44423         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
44424         * modules/mbspbrk-tests (Makefile.am): Likewise.
44425         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
44426         * modules/mbsrchr-tests (Makefile.am): Likewise.
44427         * modules/mbsspn-tests (Makefile.am): Likewise.
44428         * modules/mbsstr-tests (Makefile.am): Likewise.
44429         * modules/printf-posix-tests (Makefile.am): Likewise.
44430         * modules/snprintf-posix-tests (Makefile.am): Likewise.
44431         * modules/sprintf-posix-tests (Makefile.am): Likewise.
44432         * modules/tsearch-tests (Makefile.am): Likewise.
44433         * modules/uniname/uniname-tests (Makefile.am): Likewise.
44434         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
44435         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
44436         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
44437         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
44438         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
44439         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
44440         * modules/vprintf-posix-tests (Makefile.am): Likewise.
44441         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
44442         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
44443         * modules/xstrtoimax-tests (Makefile.am): Likewise.
44444         * modules/xstrtol-tests (Makefile.am): Likewise.
44445         * modules/xstrtoumax-tests (Makefile.am): Likewise.
44446         * modules/yesno-tests (Makefile.am): Likewise.
44447
44448 2007-10-03  Bruno Haible  <bruno@clisp.org>
44449
44450         * modules/trunc-tests: New file.
44451         * tests/test-trunc.c: New file.
44452
44453         * modules/trunc: New file.
44454         * lib/trunc.c: New file.
44455         * m4/trunc.m4: New file.
44456         * lib/math.in.h (trunc): New declaration.
44457         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
44458         HAVE_DECL_TRUNC.
44459         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
44460         HAVE_DECL_TRUNC.
44461         * doc/functions/trunc.texi: Mention the 'trunc' module.
44462
44463 2007-10-03  Bruno Haible  <bruno@clisp.org>
44464
44465         * tests/test-fpending.c: New file, mostly copied
44466         from coreutils/lib/t-fpending.c.
44467         * modules/fpending-tests: New file.
44468
44469 2007-10-03  Bruno Haible  <bruno@clisp.org>
44470
44471         Port the stdio extensions to QNX (untested).
44472         * lib/fseterr.c (fseterr): Add support for QNX.
44473         * lib/fbufmode.c (fbufmode): Likewise.
44474         * lib/freadable.c (freadable): Likewise.
44475         * lib/fwritable.c (fwritable): Likewise.
44476         * lib/freading.c (freading): Likewise.
44477         * lib/fwriting.c (fwriting): Likewise.
44478         * lib/freadahead.c (freadahed): Likewise.
44479         * lib/fpurge.c (fpurge): Likewise.
44480         * lib/fseeko.c (rpl_fseeko): Likewise.
44481
44482 2007-10-03  Bruno Haible  <bruno@clisp.org>
44483             Jim Meyering  <jim@meyering.net>
44484             Eric Blake  <ebb9@byu.net>
44485
44486         * doc/relocatable.texi: Use @command instead of @program.
44487
44488 2007-10-02  Jim Meyering  <jim@meyering.net>
44489
44490         Perform one more "_.h" -> ".in.h" substitution.
44491         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
44492         instead of unistd_.h here, too.
44493
44494 2007-10-01  Bruno Haible  <bruno@clisp.org>
44495
44496         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
44497         Needed for the alloca-opt module.
44498
44499 2007-09-30  Bruno Haible  <bruno@clisp.org>
44500
44501         * lib/alloca.in.h: Renamed from lib/alloca_.h.
44502         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
44503         alloca_.h.
44504         * lib/argz.in.h: Renamed from lib/argz_.h.
44505         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
44506         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
44507         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
44508         byteswap_.h.
44509         * lib/dirent.in.h: Renamed from lib/dirent_.h.
44510         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
44511         dirent_.h.
44512         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
44513         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
44514         fcntl_.h.
44515         * lib/float.in.h: Renamed from lib/float_.h.
44516         * modules/float (Files, Makefile.am): Use float.in.h instead of
44517         float_.h.
44518         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
44519         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
44520         fnmatch_.h.
44521         * lib/getopt.in.h: Renamed from lib/getopt_.h.
44522         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
44523         getopt_.h.
44524         * lib/glob.in.h: Renamed from lib/glob_.h.
44525         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
44526         * lib/iconv.in.h: Renamed from lib/iconv_.h.
44527         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
44528         iconv_.h.
44529         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
44530         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
44531         inttypes_.h.
44532         * lib/locale.in.h: Renamed from lib/locale_.h.
44533         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
44534         locale_.h.
44535         * lib/math.in.h: Renamed from lib/math_.h.
44536         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
44537         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
44538         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
44539         of netinet_in_.h. Add dependency.
44540         * lib/poll.in.h: Renamed from lib/poll_.h.
44541         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
44542         * lib/search.in.h: Renamed from lib/search_.h.
44543         * modules/search (Files, Makefile.am): Use search.in.h instead of
44544         search_.h.
44545         * lib/signal.in.h: Renamed from lib/signal_.h.
44546         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
44547         _signal.h.
44548         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
44549         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
44550         stdbool_.h.
44551         * lib/stdint.in.h: Renamed from lib/stdint_.h.
44552         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
44553         stdint_.h.
44554         * lib/stdio.in.h: Renamed from lib/stdio_.h.
44555         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
44556         stdio_.h.
44557         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
44558         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
44559         stdlib_.h.
44560         * lib/string.in.h: Renamed from lib/string_.h.
44561         * modules/string (Files, Makefile.am): Use string.in.h instead of
44562         string_.h.
44563         * doc/gnulib-tool.texi (Initial import): Update.
44564         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
44565         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
44566         of sys_select_.h. Add dependency.
44567         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
44568         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
44569         of sys_socket_.h.
44570         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
44571         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
44572         sys_stat_.h.
44573         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
44574         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
44575         sys_time_.h.
44576         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
44577         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
44578         sysexits_.h.
44579         * lib/time.in.h: Renamed from lib/time_.h.
44580         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
44581         * lib/unistd.in.h: Renamed from lib/unistd_.h.
44582         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
44583         unistd_.h.
44584         * lib/wchar.in.h: Renamed from lib/wchar_.h.
44585         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
44586         wchar_.h.
44587         * lib/wctype.in.h: Renamed from lib/wctype_.h.
44588         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
44589         wctype_.h.
44590         * build-aux/bootstrap (slurp): Update.
44591         * lib/.cppi-disable: Update.
44592
44593 2007-09-30  Bruno Haible  <bruno@clisp.org>
44594
44595         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
44596         Needed on BeOS.
44597
44598 2007-09-30  Bruno Haible  <bruno@clisp.org>
44599
44600         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
44601
44602 2007-09-29  Bruno Haible  <bruno@clisp.org>
44603
44604         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
44605
44606 2007-09-29  Bruno Haible  <bruno@clisp.org>
44607
44608         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
44609         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
44610         * build-aux/install-reloc: Compile also areadlink.c.
44611         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
44612
44613 2007-09-29  Bruno Haible  <bruno@clisp.org>
44614
44615         * gnulib-tool (func_emit_initmacro_done): Indentation.
44616
44617 2007-09-29  Bruno Haible  <bruno@clisp.org>
44618
44619         * README: Add CVS checkout update instructions.
44620         Info from Bob Proulx <bob@proulx.com>.
44621
44622 2007-09-28  Eric Blake  <ebb9@byu.net>
44623
44624         Provide move-if-change.
44625         * build-aux/move-if-change: New file, based on best practice
44626         rather than any canonical upstream location.
44627
44628 2007-09-28  Jim Meyering  <jim@meyering.net>
44629
44630         Fix canonicalize loop-detection corner case.
44631         Do not attempt to stat the symlink values stored via seen_triple.
44632         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
44633         on linux-2.6.18, (but not 2.6.22).
44634         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
44635         triple_compare.  The former compares dev,ino,filename, while the latter
44636         would actually stat dirname(filename) when dev and ino were equal.
44637         * lib/hash-triple.c: Install <string.h>.
44638         (STREQ): Define.
44639         (triple_compare_ino_str): New function.
44640         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
44641
44642 2007-09-28  Eric Blake  <ebb9@byu.net>
44643
44644         Enforce that AC_REPLACE_FUNCS files exist.
44645         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
44646         override check for typos.
44647
44648         Fix test-closein on Solaris 10.
44649         * tests/test-closein.c (main): Don't assume stdin can be inherited
44650         closed on all systems.
44651         * tests/test-closein.sh: Likewise.
44652         Reported by Piotr Tarnowski.
44653
44654 2007-09-28  Jim Meyering  <jim@meyering.net>
44655
44656         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
44657
44658 2007-09-27  Jim Meyering  <jim@meyering.net>
44659
44660         canonicalize: Avoid a false-positive cycle failure.
44661         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
44662         Sort.  Remove cycle-check.
44663         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
44664         not cycle-check.h.
44665         (seen_triple): New function.
44666         (canonicalize_filename_mode): Use it instead of cycle-check.
44667         * tests/test-canonicalize.c: Add a test for this bug.
44668         * tests/test-canonicalize.sh: Set up and run the test.
44669
44670         New module, file-set, from coreutils.
44671         * modules/file-set: Define it.
44672         * lib/file-set.c, lib/file-set.h: Implement.
44673
44674         New module, hash-triple, from coreutils.
44675         * modules/hash-triple: Define it.
44676         * lib/hash-triple.c, lib/hash-triple.h: Implement.
44677
44678 2007-09-25  Eric Blake  <ebb9@byu.net>
44679
44680         Fix strerror on Interix.
44681         * lib/string_.h (strerror): Declare replacement.
44682         * doc/functions/strerror.texi (strerror): Document the Interix
44683         shortcoming.
44684         * modules/string (Makefile.am): Support new hooks.
44685         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
44686         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
44687         gl_FUNC_STRERROR_SEPARATE.
44688         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
44689         * lib/strerror.c (rpl_strerror): Provide replacement.
44690         * modules/strerror (Depends-on): Add string.
44691         (configure.ac): Detect use of module.
44692         * tests/test-strerror.c: New file.
44693         * modules/strerror-tests: New test module.
44694         * modules/argp (Depends-on): Add strerror.
44695         * modules/error (Depends-on): Likewise.
44696         Reported by Martin Koeppe.
44697
44698 2007-09-24  Bruno Haible  <bruno@clisp.org>
44699
44700         * README: Update git instructions.
44701
44702 2007-09-24  Eric Blake  <ebb9@byu.net>
44703
44704         Revert fpending breakage from 2007-09-08.
44705         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
44706         __fpending.c.
44707
44708 2007-09-24  Jim Meyering  <jim@meyering.net>
44709
44710         filenamecat.c: Add a test.
44711         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
44712         showing how the function works when DIR is the empty string.
44713
44714 2007-09-21  Simon Josefsson  <simon@josefsson.org>
44715
44716         * tests/test-canonicalize.sh: Turn on executable bit.
44717
44718 2007-09-19  Eric Blake  <ebb9@byu.net>
44719
44720         * README: Update CVS instructions.
44721
44722 2007-09-18  Bruno Haible  <bruno@clisp.org>
44723
44724         * modules/areadlink: New file.
44725         * lib/areadlink.h (areadlink): New declaration.
44726         * lib/areadlink.c: New file, based on lib/xreadlink.c.
44727
44728 2007-09-17  Jim Meyering  <jim@meyering.net>
44729
44730         * lib/savewd.c (ESTALE) [!defined]: Define.
44731         Reported to be required on Interix by Martin Koeppe.
44732
44733 2007-09-17  Bruno Haible  <bruno@clisp.org>
44734
44735         * gnulib-tool (func_version): Use $version.
44736
44737 2007-09-16  Bruno Haible  <bruno@clisp.org>
44738
44739         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
44740         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
44741         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
44742         Reported by Greg Schafer <gschafer@zip.com.au>.
44743
44744 2007-09-15  Bruno Haible  <bruno@clisp.org>
44745
44746         * gnulib-tool (sed): Try a little harder to make bash understand the
44747         alias.
44748         Reported by Bruce Korb <bruce.korb@gmail.com>.
44749
44750 2007-09-13  Eric Blake  <ebb9@byu.net>
44751
44752         * ChangeLog: Remove conflict markers.
44753
44754 2007-09-13  Simon Josefsson  <simon@josefsson.org>
44755
44756         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
44757         Reported by Bruno Haible <bruno@clisp.org>.
44758
44759 2007-09-12  Bruno Haible  <bruno@clisp.org>
44760
44761         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
44762         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
44763         is not defined.
44764
44765 2007-09-12  Eric Blake  <ebb9@byu.net>
44766
44767         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
44768         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
44769         Autoconf definition.
44770         * modules/euidaccess (Depends-on): Add extensions, for
44771         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
44772         * modules/fnmatch (Depends-on): Likewise.
44773         * modules/getaddrinfo (Depends-on): Likewise.
44774         * modules/getdelim (Depends-on): Likewise.
44775         * modules/getline (Depends-on): Likewise.
44776         * modules/getsubopt (Depends-on): Likewise.
44777         * modules/gettext (Depends-on): Likewise.
44778         * modules/group-member (Depends-on): Likewise.
44779         * modules/mbchar (Depends-on): Likewise.
44780         * modules/memmem (Depends-on): Likewise.
44781         * modules/mempcpy (Depends-on): Likewise.
44782         * modules/memrchr (Depends-on): Likewise.
44783         * modules/pagealign_alloc (Depends-on): Likewise.
44784         * modules/readutmp (Depends-on): Likewise.
44785         * modules/stpcpy (Depends-on): Likewise.
44786         * modules/stpncpy (Depends-on): Likewise.
44787         * modules/strchrnul (Depends-on): Likewise.
44788         * modules/strndup (Depends-on): Likewise.
44789         * modules/strsep (Depends-on): Likewise.
44790         * modules/strverscmp (Depends-on): Likewise.
44791         * modules/vasprintf (Depends-on): Likewise.
44792         * modules/wcwidth (Depends-on): Likewise.
44793         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
44794         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
44795         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
44796         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
44797         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
44798         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
44799         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
44800         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
44801         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
44802         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
44803         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
44804         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
44805         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
44806         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
44807         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
44808         * m4/readutmp.m4 (gl_READUTMP): Likewise.
44809         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
44810         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
44811         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
44812         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
44813         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
44814         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
44815         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
44816         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
44817         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
44818         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
44819         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
44820         so that lock.m4 can be used in gettext without extensions module.
44821
44822 2007-09-11  Bruno Haible  <bruno@clisp.org>
44823
44824         * m4/isc-posix.m4: Remove file.
44825         Suggested by Eric Blake.
44826
44827 2007-09-11  Eric Blake  <ebb9@byu.net>
44828
44829         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
44830
44831 2007-09-10  Bruno Haible  <bruno@clisp.org>
44832
44833         * posix-modules: Fix typo in error message.
44834         Reported by Matt <mkraai@beckman.com>.
44835
44836 2007-09-09  Bruno Haible  <bruno@clisp.org>
44837
44838         * doc/functions/getdelim.texi: Update list of platforms lacking the
44839         function.
44840         * doc/functions/getline.texi: Likewise.
44841
44842 2007-09-09  Jim Meyering  <jim@meyering.net>
44843
44844         * lib/hash.c (hash_initialize): Detect calloc failure.
44845         Reported by Bruno Haible.
44846
44847 2007-09-09  Bruno Haible  <bruno@clisp.org>
44848
44849         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
44850         malloc or realloc fails.
44851
44852 2007-09-09  Bruno Haible  <bruno@clisp.org>
44853
44854         * modules/getcwd (Depends-on): Add malloc-posix.
44855         * modules/glob (Depends-on): Likewise.
44856         * modules/putenv (Depends-on): Likewise.
44857         * modules/strdup (Depends-on): Likewise.
44858         * modules/getdelim (Depends-on): Add realloc-posix.
44859         * modules/read-file (Depends-on): Likewise.
44860
44861 2007-09-09  Bruno Haible  <bruno@clisp.org>
44862
44863         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
44864         (gl_FUNC_MALLOC_POSIX): Require it.
44865         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
44866         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
44867         * modules/realloc (Files): Add m4/malloc.m4.
44868         * modules/calloc (Files): Likewise.
44869
44870 2007-09-09  Bruno Haible  <bruno@clisp.org>
44871
44872         * modules/malloc-posix: New file.
44873         * modules/malloc (Depends-on): Add malloc-posix.
44874         * lib/malloc.c: Include errno.h.
44875         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
44876         and a POSIX-compatible malloc into a single function. Set ENOMEM
44877         when returning NULL.
44878         * m4/malloc.m4: New file.
44879         * doc/functions/malloc.texi: Mention the malloc-posix module.
44880         * lib/stdlib_.h (malloc): New declaration.
44881         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
44882         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
44883         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
44884         and HAVE_MALLOC_POSIX.
44885
44886 2007-09-09  Bruno Haible  <bruno@clisp.org>
44887
44888         * modules/realloc-posix: New file.
44889         * modules/realloc (Depends-on): Add realloc-posix.
44890         * lib/realloc.c: Include errno.h.
44891         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
44892         and a POSIX-compatible realloc into a single function. Set ENOMEM
44893         when returning NULL.
44894         * m4/realloc.m4: New file.
44895         * doc/functions/realloc.texi: Mention the realloc-posix module.
44896         * lib/stdlib_.h (realloc): New declaration.
44897         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
44898         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
44899         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
44900         and HAVE_REALLOC_POSIX.
44901
44902 2007-09-09  Bruno Haible  <bruno@clisp.org>
44903
44904         * modules/calloc-posix: New file.
44905         * modules/calloc (Depends-on): Add calloc-posix.
44906         * lib/calloc.c: Include errno.h.
44907         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
44908         and a POSIX-compatible calloc into a single function. Set ENOMEM
44909         when returning NULL.
44910         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
44911         * doc/functions/calloc.texi: Mention the calloc-posix module.
44912         * lib/stdlib_.h (calloc): New declaration.
44913         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
44914         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
44915         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
44916         and HAVE_CALLOC_POSIX.
44917
44918 2007-09-09  Bruno Haible  <bruno@clisp.org>
44919
44920         Allow for modules to show an arbitrary notice.
44921         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
44922         * gnulib-tool: New option --extract-notice.
44923         (func_usage): Document it.
44924         (sed_extract_prog): Update.
44925         (func_get_notice): New function.
44926         (func_modules_notice): New function.
44927         (func_import, func_create_testdir): Invoke it.
44928         Suggested by Jim Meyering.
44929
44930 2007-09-09  Bruno Haible  <bruno@clisp.org>
44931
44932         * gnulib-tool: New options --verbose, --quiet.
44933         (func_usage): Document them.
44934         (verbose): New variable.
44935         (func_execute_command): New function.
44936         (func_import): Don't show the module list and the file list if
44937         $verbose < 0.
44938         (func_create_testdir): Likewise. Use func_execute_command.
44939         (func_create_megatestdir): Use func_execute_command.
44940
44941 2007-09-08  Bruno Haible  <bruno@clisp.org>
44942
44943         * gnulib-tool (func_import): Prefer rsync over wget when available,
44944         for fetching the PO files.
44945
44946 2007-09-08  Bruno Haible  <bruno@clisp.org>
44947
44948         * posix-modules: New file. Portions copied from gnulib-tool.
44949         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
44950
44951 2007-09-08  Jim Meyering  <jim@meyering.net>
44952
44953         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
44954         * lib/fpending.h: Rename from __fpending.h.
44955         * lib/fpending.c: Rename from __fpending.c.
44956         Include "fpending.h", not "__fpending.h".
44957         * lib/__fpending.h, lib/__fpending.c: Remove files.
44958         * modules/fpending (Files): Reflect new file names.
44959         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
44960
44961 2007-09-08  Bruno Haible  <bruno@clisp.org>
44962
44963         * m4/inttypes-h.m4: Remove stub file.
44964
44965 2007-09-07  Simon Josefsson  <simon@josefsson.org>
44966
44967         * doc/headers/stdint.texi: Discuss #include_next issue.
44968
44969 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
44970
44971         * build-aux/bootstrap: Remove obsolete comment about wget --help.
44972
44973 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44974
44975         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
44976         in variable name.
44977
44978 2007-09-03  Jim Meyering  <jim@meyering.net>
44979
44980         New module: git-version-gen.
44981         * modules/git-version-gen: New file.
44982
44983         Import changes from coreutils for bootstrap script.
44984
44985         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
44986
44987         bootstrap: uses rsync to download the .po files
44988         * build-aux/bootstrap (po_download_command_format): New global.
44989         (download_po_files): Use rsync.
44990         (update_po_files): Don't remove .po files after download,
44991         so future rsync runs can take advantage of the copies.
44992
44993         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
44994
44995         Solve the unnecessary-.po-file-regeneration problem once and for all.
44996         * build-aux/bootstrap (download_po_files): New function, renamed from
44997         get_translations.  Now, downloads, but doesn't update LINGUAS.
44998         (update_po_files): New function.
44999
45000         bootstrap: Ignore more.
45001         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
45002         uniwidth to e.g., lib/.gitignore.
45003         (slurp): Handle the sys_stat_.h -> sys mapping, too.
45004
45005         * build-aux/bootstrap: New setting: vc_ignore.
45006         (insert_sorted_if_absent): Create $file if absent.
45007         Adapt to new, possibly empty, list: $vc_ignore.
45008
45009         bootstrap: generate more ignorable names
45010         * build-aux/bootstrap (slurp): When generating ignorable names,
45011         also map .sin to .sed, .gperf to .c, and .y to .c.
45012
45013 2007-09-03  Jim Meyering  <jim@meyering.net>
45014
45015         * build-aux/git-version-gen: New file, from coreutils.  For details, see
45016         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
45017
45018 2007-09-02  Bruno Haible  <bruno@clisp.org>
45019
45020         Fix mis-recognition of 'mcs' on QNX 6.
45021         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
45022         output contains the string "Mono".
45023         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
45024         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
45025
45026 2007-09-01  Bruno Haible  <bruno@clisp.org>
45027
45028         Fix collision between uniwidth/* and linebreak modules.
45029         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
45030         u32_width): Remove declarations.
45031         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
45032         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
45033         streq3, streq2, streq1, streq0): Remove functions.
45034         (STREQ): Remove macro.
45035         (is_cjk_encoding): Remove function.
45036         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
45037         (uc_width, u8_width, u16_width, u32_width): Remove functions.
45038         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
45039         * NEWS: Document the change.
45040
45041 2007-09-01  Bruno Haible  <bruno@clisp.org>
45042
45043         * lib/streq.h: Add double-inclusion guard.
45044
45045 2007-09-01  Karl Berry  <karl@gnu.org>
45046
45047         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
45048
45049 2007-08-28  Jim Meyering  <jim@meyering.net>
45050
45051         Rename mreadlink_with_size to areadlink_with_size.
45052         * NEWS: Document the change.
45053         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
45054         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
45055         * lib/mreadlink.h: Rename this to...
45056         * lib/areadlink.h: ...this.
45057         * modules/mreadlink-with-size: Rename this to...
45058         * modules/areadlink-with-size: ...this.
45059         * lib/canonicalize.c: Reflect the renaming.
45060         * modules/canonicalize: Likewise.
45061
45062 2007-08-26  Bruno Haible  <bruno@clisp.org>
45063
45064         * gnulib-tool (func_import): When deciding which files to remove,
45065         consider also dangling symbolic links.
45066         Reported by Eric Blake.
45067
45068 2007-08-26  Bruno Haible  <bruno@clisp.org>
45069
45070         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
45071
45072 2007-08-23  Simon Josefsson  <simon@josefsson.org>
45073
45074         * lib/readline.c: Don't include getline.h, the prototype is now
45075         found in stdio.h.
45076
45077 2007-08-23  Jim Meyering  <jim@meyering.net>
45078
45079         Getdelim touchup.
45080         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
45081         around the funlockfile call, since funlockfile never sets errno.
45082         Don't set errno upon failed realloc.
45083
45084 2007-08-22  Eric Blake  <ebb9@byu.net>
45085
45086         Getline touchups.
45087         * lib/getdelim.c (getdelim): Revert regression that required *n to
45088         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
45089         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
45090         getdelim, rather than whether implementation is missing.
45091         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
45092         * lib/stdio_.h (getline): Also declare if replacement is
45093         required.
45094         * doc/functions/getdelim.texi: New file.
45095         * doc/functions/getline.texi: Likewise.
45096         * doc/gnulib.texi (Function Substitutes): Add new files.
45097         Reported by Bruno Haible.
45098
45099 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
45100
45101         * users.txt: Add Guile.
45102
45103 2007-08-22  Eric Blake  <ebb9@byu.net>
45104
45105         * tests/test-getdelim.c (main): Use remove, not unlink.
45106         * tests/test-getline.c (main): Likewise.
45107
45108         Move getline and getdelim into stdio.h, per POSIX 200x.
45109         * modules/getline (Files): Remove getline.h.
45110         (Depends-on): Add stdio.
45111         (configure.ac): Add module indicator.
45112         * modules/getdelim (Files): Remove getdelim.h.
45113         (Depends-on): Add stdio.
45114         (configure.ac): Add module indicator.
45115         * modules/stdio (Makefile.am): Work with new indicators.
45116         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
45117         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
45118         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45119         * lib/getdelim.h: Delete.
45120         * lib/getline.h: Delete.
45121         * lib/stdio_.h (getdelim, getline): Declare.
45122         * modules/getdelim-tests: New module.
45123         * modules/getline-tests: Likewise.
45124         * tests/test-getdelim.c: New file.
45125         * tests/test-getline.c: Likewise.
45126         * NEWS: Document the change.
45127         * lib/getline.c: Update choice of header.
45128         * lib/csharpcomp.c: Likewise.
45129         * lib/getpass.c: Likewise.
45130         * lib/javacomp.c: Likewise.
45131         * lib/javaversion.c: Likewise.
45132         * lib/yesno.c: Likewise.
45133         * lib/getdelim.c: Likewise.
45134         (getdelim): Set errno on failure, and avoid memory leak.
45135
45136 2007-08-19  Bruno Haible  <bruno@clisp.org>
45137
45138         * modules/closein (Depends-on): Add freadahead.
45139         * lib/closein.c: Include freadahead.h.
45140         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
45141         is zero.
45142
45143 2007-08-19  Bruno Haible  <bruno@clisp.org>
45144
45145         * modules/freadahead-tests: New file.
45146         * tests/test-freadahead.sh: New file.
45147         * tests/test-freadahead.c: New file.
45148
45149         * modules/freadahead: New file.
45150         * lib/freadahead.h: New file.
45151         * lib/freadahead.c: New file.
45152         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
45153         fbufmode, fpurge, freadable, fwritable.
45154
45155 2007-08-19  Eric Blake  <ebb9@byu.net>
45156
45157         Test yesno in combination with closein.
45158         * lib/yesno.c (yesno): Document use of stdin.
45159         * modules/yesno-tests (Files): New module.
45160         * tests/test-yesno.c (main): New file.
45161         * tests/test-yesno.sh: Likewise.
45162
45163 2007-08-19  Bruno Haible  <bruno@clisp.org>
45164
45165         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
45166         * lib/fseeko.c (rpl_fseeko): Likewise.
45167         * lib/fseterr.c (fseterr): Likewise.
45168
45169 2007-08-19  Bruno Haible  <bruno@clisp.org>
45170
45171         * tests/test-lseek.c (main): Disable a test for BeOS.
45172         * doc/functions/lseek.texi: Document the BeOS bug.
45173
45174 2007-08-19  Bruno Haible  <bruno@clisp.org>
45175             Eric Blake  <ebb9@byu.net>
45176
45177         * lib/lseek.c: Include <sys/stat.h>.
45178         (rpl_lseek): Add workaround code also for Unix platforms.
45179         Needed for BeOS.
45180         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
45181         * doc/functions/lseek.texi: Document BeOS definiency.
45182
45183 2007-08-18  Bruno Haible  <bruno@clisp.org>
45184
45185         * modules/fstrcmp-tests: New file.
45186         * tests/test-fstrcmp.c: New file.
45187
45188 2007-08-18  Bruno Haible  <bruno@clisp.org>
45189
45190         * modules/fstrcmp: New file, from GNU gettext with modifications.
45191         * lib/fstrcmp.h: New file, from GNU gettext.
45192         * lib/fstrcmp.c: New file, from GNU gettext.
45193         * MODULES.html.sh (String handling): Add fstrcmp.
45194
45195 2007-08-18  Bruno Haible  <bruno@clisp.org>
45196
45197         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
45198         'bool'.
45199         (diag, compareseq): Remove const from the ctxt argument.
45200         (USE_HEURISTIC): Undefine at the end.
45201
45202 2007-08-18  Jim Meyering  <jim@meyering.net>
45203
45204         New file: lib/idcache.h
45205         * NEWS: Mention the addition.
45206         * modules/idcache (Files): Add lib/idcache.h
45207         * lib/idcache.c: Include "idcache.h".
45208         Don't include <sys/types.h>.
45209         Add a FIXME comment.
45210         Move file-scoped "static" declarations to the top.
45211         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
45212
45213 2007-08-17  Bruno Haible  <bruno@clisp.org>
45214         and Paul Eggert  <eggert@cs.ucla.edu>
45215
45216         * MODULES.html.sh: Add diffseq.
45217         * modules/diffseq: New file.
45218         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
45219         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
45220
45221 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45222
45223         Import changes from coreutils for bootstrap script.
45224
45225         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
45226
45227         * build-aux/bootstrap (slurp): Work even in environments where
45228         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
45229         current code does not slurp files whose names start with ".", and
45230         this looks like it might be a troublesome area.
45231
45232         2007-07-11  Jim Meyering  <jim@meyering.net>
45233
45234         If there's a GPL vN copyright comment, require that N == 3.
45235
45236         2007-07-08  Jim Meyering  <jim@meyering.net>
45237
45238         Run the coreutils-specific code only if tests/Makefile.am.in exists.
45239         * build-aux/bootstrap (mam_template): Move definition out of loop.
45240
45241         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
45242
45243         * build-aux/bootstrap (symlink_to_dir): Rename function from
45244         symlink_to_gnulib.  Add a directory parameter.  Update all
45245         callers.
45246         (cp_mark_as_generated): Also check for -- and link to -- files in
45247         gl/.
45248
45249         2007-07-08  Jim Meyering  <jim@meyering.net>
45250
45251         Adapt to deeper hierarchy in gnulib.
45252         * build-aux/bootstrap (symlink_to_dir): If the destination
45253         directory doesn't exist, create it. This is required at least for
45254         "lib/uniwidth/cjk.h".
45255
45256         2007-05-15  Jim Meyering  <jim@meyering.net>
45257
45258         * build-aux/bootstrap: Now that generated Makefile.am files
45259         are no longer under version control, they must be created at
45260         bootstrap time.
45261
45262 2007-08-14  Ben Pfaff  <blp@gnu.org>
45263
45264         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
45265
45266 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45267
45268         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
45269         given the changes below.
45270         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
45271         even on hosts that have padding bits beyond the supported 64.
45272
45273 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
45274
45275         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
45276         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
45277         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
45278         depends on it.
45279         (xstrtol_error): Remove.
45280         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
45281         but with a different signature.
45282         (ATTRIBUTE_NORETURN, __attribute__): New macros.
45283         * lib/xstrtol-error.c: Include exitfail.h.
45284         (xstrtol_fatal): New function, with a different signature from the
45285         old xstrtol_error, so that the caller need not worry about passing
45286         in an exit status, or about storage management of the option argument.
45287         (xstrtol_error): Now a static function.  Redo signature to
45288         implement xstrtol_fatal.  Output the correct number of hyphens in
45289         front of the option so that the caller need not worry about
45290         storage management.
45291         (N_): New macro.
45292         (_): Remove; not used now.
45293         * modules/xstrtol: Depend on getopt.
45294         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
45295         of old STRTOL_FATAL_ERROR macro.
45296         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
45297         of test program.
45298         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
45299         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
45300
45301 2007-08-08  Eric Blake  <ebb9@byu.net>
45302
45303         * lib/xstrtol-error.c: Add missing include.
45304
45305         Move xstrtol messages into gnulib domain, when --pobase is used.
45306         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
45307         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
45308         * modules/xstrtol (Files): Distribute new file.
45309         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
45310         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
45311         * tests/test-xstrtol.c: ...into new file.
45312         * tests/test-xstrtoul.c: Also test xstrtoul.
45313         * tests/test-xstrtoimax.c: Also test xstrtoimax.
45314         * tests/test-xstrtoumax.c: Also test xstrtoumax.
45315         * tests/test-xstrtol.sh: Drive the tests.
45316         * tests/test-xstrtoimax.sh: Likewise.
45317         * tests/test-xstrtoumax.sh: Likewise.
45318         * modules/xstrtol-tests: New module.
45319         * modules/xstrtoimax-tests: Likewise.
45320         * modules/xstrtoumax-tests: Likewise.
45321
45322 2007-08-08  Jim Meyering  <jim@meyering.net>
45323
45324         New function: mfile_name_concat.
45325         * lib/filenamecat.c (mfile_name_concat): New function, just like
45326         file_name_concat, but return NULL upon failure rather than exiting
45327         with a diagnostic.
45328         * lib/filenamecat.h: Declare it.
45329
45330 2007-08-07  Bruno Haible  <bruno@clisp.org>
45331
45332         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
45333         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
45334         warning from gcc.
45335         Reported by Eric Blake.
45336
45337 2007-08-07  Simon Josefsson  <simon@josefsson.org>
45338
45339         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
45340         * modules/crypto/arcfour (License): Likewise.
45341         * modules/crypto/des-tests (License): Likewise.
45342         * modules/crypto/gc-arctwo-tests (License): Likewise.
45343         * modules/crypto/gc-des-tests (License): Likewise.
45344         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
45345         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
45346         * modules/crypto/gc-md2-tests (License): Likewise.
45347         * modules/crypto/gc-md4-tests (License): Likewise.
45348         * modules/crypto/gc-md5-tests (License): Likewise.
45349         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
45350         * modules/crypto/gc-rijndael-tests (License): Likewise.
45351         * modules/crypto/gc-sha1-tests (License): Likewise.
45352         * modules/crypto/gc-tests (License): Likewise.
45353         * modules/crypto/hmac-md5 (License): Likewise.
45354         * modules/crypto/hmac-sha1 (License): Likewise.
45355         * modules/crypto/md2-tests (License): Likewise.
45356         * modules/crypto/md4-tests (License): Likewise.
45357         * modules/crypto/md5 (License): Likewise.
45358         * modules/crypto/rijndael (License): Likewise.
45359         * modules/crypto/sha1 (License): Likewise.
45360         * modules/memxor (License): Likewise.
45361
45362 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
45363         and Bruno Haible  <bruno@clisp.org>
45364
45365         * NEWS: Describe interface changes to human, xstrtol.
45366         * lib/human.h: Include <xstrtol.h>.
45367         (human_options): Return enum strtol_error, not int.  Remove
45368         bool arg; take int * instead.
45369         * lib/human.c: Don't include "gettext.h".
45370         (_): Remove; no longer used.
45371         Don't include <xstrtol.h>, since human.h does it.
45372         (human_options): Adjust to abovementioned interface changes.
45373         Do not report error to stderr; that's now the caller's
45374         responsibility.
45375         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
45376         interface change.
45377         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
45378         Str, Argument_type_string.  All uses changed.  Put " argument"
45379         in diagnostics to make them clearer.  Change wording of suffix
45380         message for clarity.
45381         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
45382         Argument_type_string.
45383         (STRTOL_FATAL_WARN): Remove; no longer used.
45384         * modules/human (Depends-on): Remove gettext-h.
45385
45386 2007-08-06  Simon Josefsson  <simon@josefsson.org>
45387
45388         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
45389
45390 2007-07-31  Bruno Haible  <bruno@clisp.org>
45391
45392         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
45393         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
45394         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
45395
45396 2007-07-31  Bruno Haible  <bruno@clisp.org>
45397
45398         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
45399         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
45400
45401 2007-07-30  Bruno Haible  <bruno@clisp.org>
45402
45403         * modules/base64 (License): Use the synonymous term "LGPLv2+".
45404         * modules/c-ctype (License): Likewise.
45405         * modules/c-strcase (License): Likewise.
45406         * modules/check-version (License): Likewise.
45407         * modules/iconv (License): Likewise.
45408         * modules/iconv_open (License): Likewise.
45409         * modules/read-file (License): Likewise.
45410         * modules/striconv (License): Likewise.
45411         * modules/strverscmp (License): Likewise.
45412         * modules/vasprintf (License): Likewise.
45413         * modules/crypto/des (License): Likewise.
45414         * modules/crypto/gc (License): Likewise.
45415         * modules/crypto/gc-arcfour (License): Likewise.
45416         * modules/crypto/gc-arctwo (License): Likewise.
45417         * modules/crypto/gc-des (License): Likewise.
45418         * modules/crypto/gc-hmac-md5 (License): Likewise.
45419         * modules/crypto/gc-hmac-sha1 (License): Likewise.
45420         * modules/crypto/gc-md2 (License): Likewise.
45421         * modules/crypto/gc-md4 (License): Likewise.
45422         * modules/crypto/gc-md5 (License): Likewise.
45423         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
45424         * modules/crypto/gc-random (License): Likewise.
45425         * modules/crypto/gc-rijndael (License): Likewise.
45426         * modules/crypto/gc-sha1 (License): Likewise.
45427         * modules/crypto/md2 (License): Likewise.
45428         * modules/crypto/md4 (License): Likewise.
45429
45430 2007-07-30  Jim Meyering  <jim@meyering.net>
45431
45432         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
45433         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
45434         it has valid stat data.  This bug would cause du not to count the
45435         sizes of inaccessible directories.
45436         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
45437         in <http://bugzilla.redhat.com/250077>.
45438
45439 2007-07-25  Peter O'Gorman  <peter@pogma.com>
45440             Bruno Haible  <bruno@clisp.org>
45441
45442         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
45443         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
45444         #include_next, gives a diagnostic about it, but reports no error in
45445         the exit code.
45446         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
45447
45448 2007-07-24  Ben Pfaff  <blp@gnu.org>
45449
45450         Improve name: "count-one-bits" is better than "popcount".
45451         * MODULES.html.sh: Update name.
45452         * lib/popcount.h: Renamed lib/count-one-bits.h.
45453         (popcount): Renamed count_one_bits.
45454         (popcountl): Renamed count_one_bits_l.
45455         (popcountll): Renamed count_one_bits_ll.
45456         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
45457         * modules/popcount: Renamed module/count-one-bits.
45458         * modules/popcount-tests: Renamed module/count-one-bits-tests.
45459         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
45460
45461 2007-07-23  Ben Pfaff  <blp@gnu.org>
45462
45463         * lib/popcount.h (popcount32): Reduce size of constants, to allow
45464         better code generation, and add U to large constants to avoid
45465         warnings, in non-GCC case.
45466         Suggested by Bruno Haible.
45467
45468 2007-07-23  Ben Pfaff  <blp@gnu.org>
45469
45470         * lib/popcount.h: Use verify_true instead of if...abort.
45471         * modules/popcount: Depend on verify module.
45472         Suggested by Jim Meyering.
45473
45474 2007-07-23  Bruno Haible  <bruno@clisp.org>
45475
45476         * gnulib-tool (func_import): Create a .cvsignore file also when the
45477         directory is not yet in CVS but the toplevel directory is. When
45478         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
45479         Reported by Karl Berry.
45480
45481 2007-07-22  Ben Pfaff  <blp@gnu.org>
45482
45483         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
45484         case.
45485         Suggested by Eric Blake.
45486
45487 2007-07-22  Ben Pfaff  <blp@gnu.org>
45488
45489         New module: popcount.
45490         * MODULES.html.sh: Add popcount.
45491         * modules/popcount: New file.
45492         * modules/popcount-tests: New file.
45493         * tests/test-popcount.c: New file.
45494         * lib/popcount.h: New file.
45495         * m4/popcount.m4: New file.
45496
45497 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
45498
45499         * build-aux/announce-gen: Update to GPLv3.
45500
45501         * build-aux/config.guess: Update from config.
45502
45503 2007-07-21  Bruno Haible  <bruno@clisp.org>
45504
45505         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
45506         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
45507
45508 2007-07-20  Jim Meyering  <jim@meyering.net>
45509
45510         * check-module: Diagnose a self-dependency.
45511
45512 2007-07-19  Bruno Haible  <bruno@clisp.org>
45513
45514         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
45515         empty.
45516         Reported by Eric Blake.
45517
45518 2007-07-18  Bruno Haible  <bruno@clisp.org>
45519
45520         * gnulib-tool: New options --po-base, --po-domain.
45521         (func_usage): Document them.
45522         (pobase, po_domain): New variables.
45523         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
45524         DEFAULT_TEXT_DOMAIN.
45525         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
45526         (func_import): Consider pobase and po_domain. Create a po/ directory.
45527         (func_create_testdir): Set pobase and po_domain to empty.
45528         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
45529         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
45530
45531 2007-07-18  Bruno Haible  <bruno@clisp.org>
45532
45533         * gnulib-tool (func_get_automake_snippet): Synthesize also an
45534         EXTRA_DIST augmentation for files in build-aux/.
45535
45536 2007-07-16  Bruno Haible  <bruno@clisp.org>
45537
45538         * modules/lseek (License): Use the synonymous term "LGPLv2+".
45539         * modules/getdelim (License): Likewise.
45540
45541 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45542
45543         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
45544         * modules/d-type (License): Likewise.
45545         * modules/extensions (License): Likewise.
45546         * modules/fnmatch (License): Likewise.
45547         * modules/fseeko (License): Likewise.
45548         * modules/getaddrinfo (License): Likewise.
45549         * modules/getline (License): Likewise.
45550         * modules/getlogin_r (License): Likewise.
45551         * modules/getpass (License): Likewise.
45552         * modules/gettimeofday (License): Likewise.
45553         * modules/glob (License): Likewise.
45554         * modules/inet_ntop (License): Likewise.
45555         * modules/malloc (License): Likewise.
45556         * modules/malloca (License): Likewise.
45557         * modules/memmem (License): Likewise.
45558         * modules/mempcpy (License): Likewise.
45559         * modules/memset (License): Likewise.
45560         * modules/minmax (License): Likewise.
45561         * modules/mktime (License): Likewise.
45562         * modules/netinet_in (License): Likewise.
45563         * modules/pathmax (License): Likewise.
45564         * modules/poll (License): Likewise.
45565         * modules/regex (License): Likewise.
45566         * modules/snprintf (License): Likewise.
45567         * modules/stdbool (License): Likewise.
45568         * modules/stdint (License): Likewise.
45569         * modules/stdio (License): Likewise.
45570         * modules/strcase (License): Likewise.
45571         * modules/strcasestr (License): Likewise.
45572         * modules/strdup (License): Likewise.
45573         * modules/string (License): Likewise.
45574         * modules/strndup (License): Likewise.
45575         * modules/strnlen (License): Likewise.
45576         * modules/strpbrk (License): Likewise.
45577         * modules/strptime (License): Likewise.
45578         * modules/strsep (License): Likewise.
45579         * modules/sys_select (License): Likewise.
45580         * modules/sys_socket (License): Likewise.
45581         * modules/sys_stat (License): Likewise.
45582         * modules/sys_time (License): Likewise.
45583         * modules/time (License): Likewise.
45584         * modules/time_r (License): Likewise.
45585         * modules/timegm (License): Likewise.
45586         * modules/unistd (License): Likewise.
45587         * modules/vsnprintf (License): Likewise.
45588         * modules/wctype (License): Likewise.
45589
45590 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45591
45592         * modules/argz (License): LGPLv2+.
45593
45594 2007-07-15  Karl Berry  <karl@gnu.org>
45595
45596         * doc/gnulib.texi: revise node structure per new fdl.texi.
45597
45598 2007-07-14  Bruno Haible  <bruno@clisp.org>
45599
45600         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
45601         the output file.
45602         * lib/uniname/uninames.h: Regenerated.
45603
45604 2007-07-14  Karl Berry  <karl@gnu.org>
45605
45606         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
45607         omitting sectioning and index commands.
45608
45609 2007-07-13  Bruno Haible  <bruno@clisp.org>
45610
45611         New gnulib-tool option --more-symlinks.
45612         * gnulib-tool (func_usage): Document --more-symlinks.
45613         (do_copyrights): New variable.
45614         Recognize option --more-symlinks.
45615         (func_import): Don't add a copyright notice transform to
45616         sed_transform_lib_file if do_copyrights is empty.
45617
45618 2007-07-13  Bruno Haible  <bruno@clisp.org>
45619
45620         * lib/vasnprintf.c (decimal_point_char): Define also if
45621         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
45622         && !NEED_PRINTF_DIRECTIVE_A.
45623         Reported by Clemens Koller <clemens.koller@anagramm.de> via
45624         Gary V. Vaughan <gary@gnu.org>.
45625
45626 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
45627
45628         * lib/inttypes_.h: Undo previous change, since it was fixed
45629         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
45630
45631 2007-07-13  Bruno Haible  <bruno@clisp.org>
45632
45633         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
45634         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
45635
45636 2007-07-13  Jim Meyering  <jim@meyering.net>
45637
45638         df: Don't fail for Tru64's "file-on-file mount".
45639         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
45640         so we fall through and use statfs instead.  Details here:
45641         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
45642         Reported by Albert Chin.
45643
45644 2007-07-13  Bruno Haible  <bruno@clisp.org>
45645
45646         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
45647         * modules/configmake (License): Likewise.
45648         * modules/gettext (License): Likewise.
45649         * modules/gettext-h (License): Likewise.
45650         * modules/include_next (License): Likewise.
45651         * modules/link-warning (License): Likewise.
45652         * modules/localcharset (License): Likewise.
45653         * modules/localename (License): Likewise.
45654         * modules/lock (License): Likewise.
45655         * modules/relocatable-lib-lgpl (License): Likewise.
45656         * modules/size_max (License): Likewise.
45657         * modules/vasnprintf (License): Likewise.
45658         * modules/wchar (License): Likewise.
45659         * modules/xsize (License): Likewise.
45660
45661 2007-07-13  Bruno Haible  <bruno@clisp.org>
45662
45663         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
45664         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
45665
45666 2007-07-12  Bruno Haible  <bruno@clisp.org>
45667
45668         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
45669         in the modules files.
45670
45671 2007-07-11  Karl Berry  <karl@gnu.org>
45672
45673         * MODULES.html.sh (func_module): use
45674          sed -e '\|^'"${includefile}"'$|d'
45675          instead of /.../d, to avoid errors on $includefile's containing /.
45676
45677 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
45678
45679         * gnulib-tool (func_import): Avoid duplication of --avoid
45680         statements
45681         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
45682         names to `_' in variable names.
45683
45684 2007-07-10  Eric Blake  <ebb9@byu.net>
45685
45686         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
45687         * NEWS: Document this change.
45688
45689 2007-07-08  Bruno Haible  <bruno@clisp.org>
45690
45691         Update to Unicode 5.0.
45692         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
45693         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
45694         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
45695         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
45696         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
45697         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
45698         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
45699         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
45700         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
45701         U+10A3F, U+1D242..U+1D244.
45702         (nonspacing_table_ind): Update.
45703         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
45704         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
45705
45706 2007-07-08  Bruno Haible  <bruno@clisp.org>
45707
45708         Update to Unicode 5.0.
45709         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
45710         code transform. Extend the name index field of unicode_name_to_code and
45711         unicode_code_to_name from 16 to 24 bits.
45712         * lib/uniname/uniname.c (unicode_character_name,
45713         unicode_name_character): Add the range 0x12xxx to the code transform.
45714         * lib/uniname/uninames.h: Regenerated.
45715         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
45716
45717 2007-07-07  Bruno Haible  <bruno@clisp.org>
45718
45719         * modules/wcwidth-tests: New file.
45720         * tests/test-wcwidth.c: New file.
45721
45722         Work around MacOS X wcwidth() bug.
45723         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
45724         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
45725         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
45726         original wcwidth in non-UTF-8 locales.
45727         * modules/wcwidth (Depends-on): Add localcharset, streq,
45728         uniwidth/width.
45729         * doc/functions/wcwidth.texi: Update.
45730
45731 2007-07-07  Bruno Haible  <bruno@clisp.org>
45732
45733         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
45734         (wcwidth): New declaration.
45735         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
45736         macros.
45737         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
45738         here. Prepare for creating <wchar.h> unconditionally.
45739         * modules/wchar (Depends-on): Add link-warning.
45740         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
45741         REPLACE_WCWIDTH, and GL_LINK_WARNING.
45742         * lib/wcwidth.h: Remove file.
45743         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
45744         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
45745         * modules/wcwidth (Files): Remove lib/wcwidth.h.
45746         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
45747         (Include): Replace wcwidth.h with <wchar.h>.
45748         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
45749         * lib/mbchar.h: Don't include wcwidth.h.
45750         * lib/mbswidth.c: Likewise.
45751         * NEWS: Mention the change.
45752
45753 2007-07-07  Bruno Haible  <bruno@clisp.org>
45754
45755         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
45756         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
45757         definition with an external declaration.
45758         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
45759         defined as a function. Remove AC_C_INLINE requirement.
45760         * modules/wcwidth (Files): Add lib/wcwidth.c.
45761         (Makefile.am): Remove redundant statement.
45762
45763 2007-07-07  Bruno Haible  <bruno@clisp.org>
45764
45765         * MODULES.html.sh (Unicode string functions): Add the new modules.
45766
45767         * tests/uniwidth/test-u32-strwidth.c: New file.
45768         * modules/uniwidth/u32-strwidth-tests: New file.
45769
45770         * lib/uniwidth/u32-strwidth.c: New file.
45771         * modules/uniwidth/u32-strwidth: New file.
45772
45773         * tests/uniwidth/test-u16-strwidth.c: New file.
45774         * modules/uniwidth/u16-strwidth-tests: New file.
45775
45776         * lib/uniwidth/u16-strwidth.c: New file.
45777         * modules/uniwidth/u16-strwidth: New file.
45778
45779         * tests/uniwidth/test-u8-strwidth.c: New file.
45780         * modules/uniwidth/u8-strwidth-tests: New file.
45781
45782         * lib/uniwidth/u8-strwidth.c: New file.
45783         * modules/uniwidth/u8-strwidth: New file.
45784
45785         * tests/uniwidth/test-u32-width.c: New file.
45786         * modules/uniwidth/u32-width-tests: New file.
45787
45788         * lib/uniwidth/u32-width.c: New file.
45789         * modules/uniwidth/u32-width: New file.
45790
45791         * tests/uniwidth/test-u16-width.c: New file.
45792         * modules/uniwidth/u16-width-tests: New file.
45793
45794         * lib/uniwidth/u16-width.c: New file.
45795         * modules/uniwidth/u16-width: New file.
45796
45797         * tests/uniwidth/test-u8-width.c: New file.
45798         * modules/uniwidth/u8-width-tests: New file.
45799
45800         * lib/uniwidth/u8-width.c: New file.
45801         * modules/uniwidth/u8-width: New file.
45802
45803         * tests/uniwidth/test-uc_width.c: New file.
45804         * modules/uniwidth/width-tests: New file.
45805
45806         * lib/uniwidth/width.c: New file, from GNU libiconv.
45807         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
45808         * modules/uniwidth/width: New file.
45809
45810         * lib/uniwidth.h: New file, from GNU libiconv.
45811         * modules/uniwidth/base: New file.
45812
45813 2007-07-07  Bruno Haible  <bruno@clisp.org>
45814
45815         * lib/uniname.h: New file, from GNU gettext.
45816         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
45817         * lib/uniname/uninames.h: New file, from GNU gettext.
45818         * lib/uniname/uniname.c: New file, from GNU gettext.
45819         * tests/uniname/test-uninames.sh: New file.
45820         * tests/uniname/test-uninames.c: New file, from GNU gettext.
45821         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
45822         * modules/uniname/base: New file.
45823         * modules/uniname/uniname: New file.
45824         * modules/uniname/uniname-tests: New file.
45825         * MODULES.html.sh (Unicode string functions): Add the new modules.
45826
45827 2007-07-06  Bruno Haible  <bruno@clisp.org>
45828
45829         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
45830
45831 2007-07-06  Bruno Haible  <bruno@clisp.org>
45832
45833         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
45834         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
45835         includes <cygwin/sys_time.h> which includes <sys/select.h> which
45836         include <sys/time.h>.
45837         Reported by Eric Blake.
45838
45839 2007-07-06  Eric Blake  <ebb9@byu.net>
45840
45841         Fix testing canonicalize on cygwin.
45842         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
45843         Revert patch from 2007-06-19.
45844         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
45845         canonicalize module is also in use.
45846         * tests/test-canonicalize.c: New file.
45847         * tests/test-canonicalize.sh: Likewise.
45848         * modules/canonicalize-tests: Likewise.
45849
45850 2007-07-06  Jim Meyering  <jim@meyering.net>
45851
45852         * lib/getugroups.c (getugroups): Detect getgrent failure.
45853         Adjust comment to reflect reality: this function may return -1.
45854
45855 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
45856
45857         * build-aux/bootstrap (TP_URL,get_translations): Update to use
45858         the new TP address.
45859         (usage): Fix typo
45860         (gnulib_mk): New variable.
45861
45862 2007-07-05  Jim Meyering  <jim@meyering.net>
45863
45864         Don't let endgrent clobber errno, no matter how improbable.
45865         * lib/getugroups.c (getugroups): Save and restore errno around
45866         endgrent call.
45867
45868         Close the group DB even when failing with 2^31 or more members.
45869         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
45870
45871 2007-07-04  Jim Meyering  <jim@meyering.net>
45872
45873         * lib/getugroups.h: New file.
45874         * lib/getugroups.c: Include "getugroups.h".
45875         Remove uses of "register" keyword.
45876         Move local variable, "cp", down into scope where used.
45877         Give "username" parameter the "const" attribute.
45878         * modules/getugroups (Files): Add lib/getugroups.h
45879
45880 2007-07-04  Karl Berry  <karl@gnu.org>
45881
45882         * MODULES.html.sh (func_all_modules): Complete rename of
45883         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
45884
45885 2007-07-02  Bruno Haible  <bruno@clisp.org>
45886
45887         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
45888         mode, when inttypes.h comes from gnulib.
45889         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
45890
45891 2007-07-02  Simon Josefsson  <simon@josefsson.org>
45892
45893         * NEWS: Mention lgpl module name change.
45894
45895         * modules/lgpl-2.1: Renamed from lgpl.
45896
45897         * NEWS: Mention gpl module name change.
45898
45899         * modules/gpl-3.0: New file, based on gpl-2.0.
45900
45901         * modules/gpl-2.0: Renamed from gpl.
45902
45903         * modules/gpl: Fix filename, doc/gpl.texi is now found at
45904         doc/gpl-2.0.texi.
45905
45906 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
45907
45908         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
45909         #define __STDC_LIMIT_MACROS temporarily while including
45910         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
45911         Problem reported by Joel E. Denny in
45912         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
45913
45914 2007-07-01  Bruno Haible  <bruno@clisp.org>
45915
45916         * lib/unistdio.h: New file.
45917         * lib/unistdio/u-asnprintf.h: New file.
45918         * lib/unistdio/u-asprintf.h: New file.
45919         * lib/unistdio/u-printf-args.c: New file.
45920         * lib/unistdio/u-printf-args.h: New file.
45921         * lib/unistdio/u-printf-parse.h: New file.
45922         * lib/unistdio/u-snprintf.h: New file.
45923         * lib/unistdio/u-sprintf.h: New file.
45924         * lib/unistdio/u-vasprintf.h: New file.
45925         * lib/unistdio/u-vsnprintf.h: New file.
45926         * lib/unistdio/u-vsprintf.h: New file.
45927         * lib/unistdio/ulc-asnprintf.c: New file.
45928         * lib/unistdio/ulc-asprintf.c: New file.
45929         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
45930         * lib/unistdio/ulc-printf-parse.c: New file.
45931         * lib/unistdio/ulc-snprintf.c: New file.
45932         * lib/unistdio/ulc-sprintf.c: New file.
45933         * lib/unistdio/ulc-vasnprintf.c: New file.
45934         * lib/unistdio/ulc-vasprintf.c: New file.
45935         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
45936         * lib/unistdio/ulc-vsnprintf.c: New file.
45937         * lib/unistdio/ulc-vsprintf.c: New file.
45938         * lib/unistdio/u8-asnprintf.c: New file.
45939         * lib/unistdio/u8-asprintf.c: New file.
45940         * lib/unistdio/u8-printf-parse.c: New file.
45941         * lib/unistdio/u8-snprintf.c: New file.
45942         * lib/unistdio/u8-sprintf.c: New file.
45943         * lib/unistdio/u8-vasnprintf.c: New file.
45944         * lib/unistdio/u8-vasprintf.c: New file.
45945         * lib/unistdio/u8-vsnprintf.c: New file.
45946         * lib/unistdio/u8-vsprintf.c: New file.
45947         * lib/unistdio/u8-u8-asnprintf.c: New file.
45948         * lib/unistdio/u8-u8-asprintf.c: New file.
45949         * lib/unistdio/u8-u8-snprintf.c: New file.
45950         * lib/unistdio/u8-u8-sprintf.c: New file.
45951         * lib/unistdio/u8-u8-vasnprintf.c: New file.
45952         * lib/unistdio/u8-u8-vasprintf.c: New file.
45953         * lib/unistdio/u8-u8-vsnprintf.c: New file.
45954         * lib/unistdio/u8-u8-vsprintf.c: New file.
45955         * lib/unistdio/u16-asnprintf.c: New file.
45956         * lib/unistdio/u16-asprintf.c: New file.
45957         * lib/unistdio/u16-printf-parse.c: New file.
45958         * lib/unistdio/u16-snprintf.c: New file.
45959         * lib/unistdio/u16-sprintf.c: New file.
45960         * lib/unistdio/u16-vasnprintf.c: New file.
45961         * lib/unistdio/u16-vasprintf.c: New file.
45962         * lib/unistdio/u16-vsnprintf.c: New file.
45963         * lib/unistdio/u16-vsprintf.c: New file.
45964         * lib/unistdio/u16-u16-asnprintf.c: New file.
45965         * lib/unistdio/u16-u16-asprintf.c: New file.
45966         * lib/unistdio/u16-u16-snprintf.c: New file.
45967         * lib/unistdio/u16-u16-sprintf.c: New file.
45968         * lib/unistdio/u16-u16-vasnprintf.c: New file.
45969         * lib/unistdio/u16-u16-vasprintf.c: New file.
45970         * lib/unistdio/u16-u16-vsnprintf.c: New file.
45971         * lib/unistdio/u16-u16-vsprintf.c: New file.
45972         * lib/unistdio/u32-asnprintf.c: New file.
45973         * lib/unistdio/u32-asprintf.c: New file.
45974         * lib/unistdio/u32-printf-parse.c: New file.
45975         * lib/unistdio/u32-snprintf.c: New file.
45976         * lib/unistdio/u32-sprintf.c: New file.
45977         * lib/unistdio/u32-vasnprintf.c: New file.
45978         * lib/unistdio/u32-vasprintf.c: New file.
45979         * lib/unistdio/u32-vsnprintf.c: New file.
45980         * lib/unistdio/u32-vsprintf.c: New file.
45981         * lib/unistdio/u32-u32-asnprintf.c: New file.
45982         * lib/unistdio/u32-u32-asprintf.c: New file.
45983         * lib/unistdio/u32-u32-snprintf.c: New file.
45984         * lib/unistdio/u32-u32-sprintf.c: New file.
45985         * lib/unistdio/u32-u32-vasnprintf.c: New file.
45986         * lib/unistdio/u32-u32-vasprintf.c: New file.
45987         * lib/unistdio/u32-u32-vsnprintf.c: New file.
45988         * lib/unistdio/u32-u32-vsprintf.c: New file.
45989         * tests/unistdio/test-ulc-asnprintf1.c: New file.
45990         * tests/unistdio/test-ulc-asnprintf1.h: New file.
45991         * tests/unistdio/test-ulc-printf1.h: New file.
45992         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
45993         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
45994         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
45995         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
45996         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
45997         * tests/unistdio/test-ulc-vasprintf1.c: New file.
45998         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
45999         * tests/unistdio/test-ulc-vsprintf1.c: New file.
46000         * tests/unistdio/test-u8-asnprintf1.c: New file.
46001         * tests/unistdio/test-u8-asnprintf1.h: New file.
46002         * tests/unistdio/test-u8-printf1.h: New file.
46003         * tests/unistdio/test-u8-vasnprintf1.c: New file.
46004         * tests/unistdio/test-u8-vasnprintf2.c: New file.
46005         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
46006         * tests/unistdio/test-u8-vasnprintf3.c: New file.
46007         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
46008         * tests/unistdio/test-u8-vasprintf1.c: New file.
46009         * tests/unistdio/test-u8-vsnprintf1.c: New file.
46010         * tests/unistdio/test-u8-vsprintf1.c: New file.
46011         * tests/unistdio/test-u16-asnprintf1.c: New file.
46012         * tests/unistdio/test-u16-asnprintf1.h: New file.
46013         * tests/unistdio/test-u16-printf1.h: New file.
46014         * tests/unistdio/test-u16-vasnprintf1.c: New file.
46015         * tests/unistdio/test-u16-vasnprintf2.c: New file.
46016         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
46017         * tests/unistdio/test-u16-vasnprintf3.c: New file.
46018         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
46019         * tests/unistdio/test-u16-vasprintf1.c: New file.
46020         * tests/unistdio/test-u16-vsnprintf1.c: New file.
46021         * tests/unistdio/test-u16-vsprintf1.c: New file.
46022         * tests/unistdio/test-u32-asnprintf1.c: New file.
46023         * tests/unistdio/test-u32-asnprintf1.h: New file.
46024         * tests/unistdio/test-u32-printf1.h: New file.
46025         * tests/unistdio/test-u32-vasnprintf1.c: New file.
46026         * tests/unistdio/test-u32-vasnprintf2.c: New file.
46027         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
46028         * tests/unistdio/test-u32-vasnprintf3.c: New file.
46029         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
46030         * tests/unistdio/test-u32-vasprintf1.c: New file.
46031         * tests/unistdio/test-u32-vsnprintf1.c: New file.
46032         * tests/unistdio/test-u32-vsprintf1.c: New file.
46033         * modules/unistdio/base: New file.
46034         * modules/unistdio/u-printf-args: New file.
46035         * modules/unistdio/ulc-asnprintf: New file.
46036         * modules/unistdio/ulc-asprintf: New file.
46037         * modules/unistdio/ulc-fprintf: New file.
46038         * modules/unistdio/ulc-printf-parse: New file.
46039         * modules/unistdio/ulc-snprintf: New file.
46040         * modules/unistdio/ulc-sprintf: New file.
46041         * modules/unistdio/ulc-vasnprintf: New file.
46042         * modules/unistdio/ulc-vasprintf: New file.
46043         * modules/unistdio/ulc-vfprintf: New file.
46044         * modules/unistdio/ulc-vsnprintf: New file.
46045         * modules/unistdio/ulc-vsprintf: New file.
46046         * modules/unistdio/u8-asnprintf: New file.
46047         * modules/unistdio/u8-asprintf: New file.
46048         * modules/unistdio/u8-printf-parse: New file.
46049         * modules/unistdio/u8-snprintf: New file.
46050         * modules/unistdio/u8-sprintf: New file.
46051         * modules/unistdio/u8-vasnprintf: New file.
46052         * modules/unistdio/u8-vasprintf: New file.
46053         * modules/unistdio/u8-vsnprintf: New file.
46054         * modules/unistdio/u8-vsprintf: New file.
46055         * modules/unistdio/u8-u8-asnprintf: New file.
46056         * modules/unistdio/u8-u8-asprintf: New file.
46057         * modules/unistdio/u8-u8-snprintf: New file.
46058         * modules/unistdio/u8-u8-sprintf: New file.
46059         * modules/unistdio/u8-u8-vasnprintf: New file.
46060         * modules/unistdio/u8-u8-vasprintf: New file.
46061         * modules/unistdio/u8-u8-vsnprintf: New file.
46062         * modules/unistdio/u8-u8-vsprintf: New file.
46063         * modules/unistdio/u16-asnprintf: New file.
46064         * modules/unistdio/u16-asprintf: New file.
46065         * modules/unistdio/u16-printf-parse: New file.
46066         * modules/unistdio/u16-snprintf: New file.
46067         * modules/unistdio/u16-sprintf: New file.
46068         * modules/unistdio/u16-vasnprintf: New file.
46069         * modules/unistdio/u16-vasprintf: New file.
46070         * modules/unistdio/u16-vsnprintf: New file.
46071         * modules/unistdio/u16-vsprintf: New file.
46072         * modules/unistdio/u16-u16-asnprintf: New file.
46073         * modules/unistdio/u16-u16-asprintf: New file.
46074         * modules/unistdio/u16-u16-snprintf: New file.
46075         * modules/unistdio/u16-u16-sprintf: New file.
46076         * modules/unistdio/u16-u16-vasnprintf: New file.
46077         * modules/unistdio/u16-u16-vasprintf: New file.
46078         * modules/unistdio/u16-u16-vsnprintf: New file.
46079         * modules/unistdio/u16-u16-vsprintf: New file.
46080         * modules/unistdio/u32-asnprintf: New file.
46081         * modules/unistdio/u32-asprintf: New file.
46082         * modules/unistdio/u32-printf-parse: New file.
46083         * modules/unistdio/u32-snprintf: New file.
46084         * modules/unistdio/u32-sprintf: New file.
46085         * modules/unistdio/u32-vasnprintf: New file.
46086         * modules/unistdio/u32-vasprintf: New file.
46087         * modules/unistdio/u32-vsnprintf: New file.
46088         * modules/unistdio/u32-vsprintf: New file.
46089         * modules/unistdio/u32-u32-asnprintf: New file.
46090         * modules/unistdio/u32-u32-asprintf: New file.
46091         * modules/unistdio/u32-u32-snprintf: New file.
46092         * modules/unistdio/u32-u32-sprintf: New file.
46093         * modules/unistdio/u32-u32-vasnprintf: New file.
46094         * modules/unistdio/u32-u32-vasprintf: New file.
46095         * modules/unistdio/u32-u32-vsnprintf: New file.
46096         * modules/unistdio/u32-u32-vsprintf: New file.
46097         * modules/unistdio/ulc-asnprintf-tests: New file.
46098         * modules/unistdio/ulc-vasnprintf-tests: New file.
46099         * modules/unistdio/ulc-vasprintf-tests: New file.
46100         * modules/unistdio/ulc-vsnprintf-tests: New file.
46101         * modules/unistdio/ulc-vsprintf-tests: New file.
46102         * modules/unistdio/u8-asnprintf-tests: New file.
46103         * modules/unistdio/u8-vasnprintf-tests: New file.
46104         * modules/unistdio/u8-vasprintf-tests: New file.
46105         * modules/unistdio/u8-vsnprintf-tests: New file.
46106         * modules/unistdio/u8-vsprintf-tests: New file.
46107         * modules/unistdio/u16-asnprintf-tests: New file.
46108         * modules/unistdio/u16-vasnprintf-tests: New file.
46109         * modules/unistdio/u16-vasprintf-tests: New file.
46110         * modules/unistdio/u16-vsnprintf-tests: New file.
46111         * modules/unistdio/u16-vsprintf-tests: New file.
46112         * modules/unistdio/u32-asnprintf-tests: New file.
46113         * modules/unistdio/u32-vasnprintf-tests: New file.
46114         * modules/unistdio/u32-vasprintf-tests: New file.
46115         * modules/unistdio/u32-vsnprintf-tests: New file.
46116         * modules/unistdio/u32-vsprintf-tests: New file.
46117         * MODULES.html.sh (Unicode string functions): Add the new modules.
46118
46119 2007-07-01  Bruno Haible  <bruno@clisp.org>
46120
46121         * lib/sprintf.c (sprintf): Limit the available length estimation,
46122         to avoid address wraparound.
46123         * lib/vsprintf.c (vsprintf): Likewise.
46124         * modules/sprintf-posix (Dependencies): Add stdint.
46125         * modules/vsprintf-posix (Dependencies): Likewise.
46126
46127 2007-07-01  Bruno Haible  <bruno@clisp.org>
46128
46129         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
46130         Windows PATH as well. Conservative double-quoting. Comments.
46131
46132 2007-07-01  Bruno Haible  <bruno@clisp.org>
46133             Eric Blake  <ebb9@byu.net>
46134             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46135
46136         * gnulib-tool (self_abspathname): Fix algorithm to cope with
46137         empty components in $PATH, denoting '.'.
46138
46139 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46140
46141         * gnulib-tool: Fix indentation.
46142         (func_create_megatestdir): Likewise.
46143         Report by Bruno Haible.
46144
46145 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46146
46147         Sync from Automake.
46148         * build-aux/gnupload: Fix shell portability issues with for loops.
46149         Report by Karl Berry.
46150
46151 2007-06-29  Simon Josefsson  <simon@josefsson.org>
46152
46153         * build-aux/maint.mk (POURL): Use translationproject.org.
46154
46155 2007-06-27  Simon Josefsson  <simon@josefsson.org>
46156             Bruno Haible  <bruno@clisp.org>
46157
46158         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
46159         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
46160         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
46161         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
46162         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
46163
46164 2007-06-27  Bruno Haible  <bruno@clisp.org>
46165
46166         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
46167         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
46168
46169 2007-06-26  Karl Berry  <karl@gnu.org>
46170
46171         * MODULES.html.sh: remove xreadlink-with-size.
46172
46173 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
46174
46175         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
46176         method that I hope also handles the double-include problem noted
46177         by Bruno Haible in
46178         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
46179
46180 2007-06-23  Bruno Haible  <bruno@clisp.org>
46181
46182         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46183         Don't let the 'mostlyclean' target fail if the last subdirectory could
46184         not be removed.
46185         Reported by Karl Berry.
46186
46187 2007-06-23  Bruno Haible  <bruno@clisp.org>
46188
46189         * gnulib-tool (echo): Add a speedier workaround for ksh.
46190         * tests/test-echo.sh: Likewise.
46191
46192 2007-06-23  Bruno Haible  <bruno@clisp.org>
46193
46194         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
46195         * tests/test-echo.sh: Likewise.
46196
46197 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46198
46199         * gnulib-tool (IFS): Initialize early, so we don't set it to
46200         empty later.
46201         (self_abspathname): Rewrite algorithm to set it, reindent.
46202         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
46203         (func_create_megatestdir): Merge some sed scripts.
46204
46205 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
46206
46207         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
46208         exposed by Sun Studio 11 cc on Solaris 8.
46209
46210 2007-06-22  Bruno Haible  <bruno@clisp.org>
46211
46212         * gnulib-tool (echo): Ensure the echo primitive does not interpret
46213         backslashes.
46214         * tests/test-echo.sh: New file.
46215
46216 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46217
46218         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
46219         simplify `sed_replace_build_aux' scripts, they are portable but
46220         echoing them with `echo' is not.
46221         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
46222
46223 2007-06-21  Karl Berry  <karl@gnu.org>
46224
46225         * config/srclist.txt: guess we can't handle the licenses via
46226         srclist at the moment.
46227
46228 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
46229
46230         * MODULES.html.sh: Add include_next.
46231         * modules/include_next: New file.
46232
46233 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
46234
46235         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
46236         INCLUDE_NEXT.
46237         (gl_CHECK_NEXT_HEADERS): New macro.
46238         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
46239         the obsolescent gl_ABSOLUTE_HEADER.
46240         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
46241         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
46242         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
46243         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
46244         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
46245         * m4/math_h.m4 (gl_MATH_H): Likewise.
46246         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
46247         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
46248         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
46249         * m4/stdint.m4 (gl_STDINT_H): Likewise.
46250         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
46251         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
46252         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
46253         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
46254         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
46255         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
46256         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
46257         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
46258         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
46259         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
46260         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
46261         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
46262         * m4/inttypes.m4 (gl_INTTYPES_H): Define
46263         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
46264         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
46265         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
46266         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
46267         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
46268         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
46269         * lib/float_.h: Likewise.
46270         * lib/inttypes_.h: Likewise.
46271         * lib/math_.h: Likewise.
46272         * lib/search_.h: Likewise.
46273         * lib/signal_.h: Likewise.
46274         * lib/stdint_.h: Likewise.
46275         * lib/stdio_.h: Likewise.
46276         * lib/stdlib_.h: Likewise.
46277         * lib/string_.h: Likewise.
46278         * lib/sys_stat_.h: Likewise.
46279         * lib/sys_time_.h: Likewise.
46280         * lib/time_.h: Likewise.
46281         * lib/unistd_.h: Likewise.
46282         * lib/wchar_.h: Likewise.
46283         * lib/wctype_.h: Likewise.
46284         * lib/dirent_.h: Likewise.
46285         * lib/iconv_.h: Likewise.
46286         * lib/locale_.h: Likewise.
46287         * lib/netinet_in_.h: Likewise.
46288         * lib/sys_select_.h: Likewise.
46289         * lib/sys_socket_.h: Likewise.
46290         * lib/sysexits_.h: Likewise.
46291         * modules/fcntl (Depends-on): Depend on include_next, not
46292         absolute_header.
46293         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
46294         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
46295         * modules/fchdir: Likewise.
46296         * modules/float: Likewise.
46297         * modules/iconv_open: Likewise.
46298         * modules/inttypes: Likewise.
46299         * modules/locale: Likewise.
46300         * modules/math: Likewise.
46301         * modules/netinet_in: Likewise.
46302         * modules/search: Likewise.
46303         * modules/signal: Likewise.
46304         * modules/stdint: Likewise.
46305         * modules/stdio: Likewise.
46306         * modules/stdlib: Likewise.
46307         * modules/string: Likewise.
46308         * modules/sys_select: Likewise.
46309         * modules/sys_socket: Likewise.
46310         * modules/sys_stat: Likewise.
46311         * modules/sys_time: Likewise.
46312         * modules/sysexits: Likewise.
46313         * modules/time: Likewise.
46314         * modules/unistd: Likewise.
46315         * modules/wchar: Likewise.
46316         * modules/wctype: Likewise.
46317         * modules/sys_stat: Change maintainer to "all".
46318         * modules/unistd: Likewise.
46319
46320 2007-06-20  Karl Berry  <karl@gnu.org>
46321
46322         * config/srclist.txt: track www changes in license files.
46323
46324 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
46325
46326         * build-aux/bootstrap: Remove stray dot.
46327         Make sure build_aux settings are honored when linking
46328         gnulib_extra_files.
46329
46330 2007-06-19  Eric Blake  <ebb9@byu.net>
46331
46332         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
46333         Allow compilation on cygwin.
46334
46335 2007-06-19  Jim Meyering  <jim@meyering.net>
46336
46337         xreadlink-with-size: Remove module.  No longer used.
46338         Ex-callers now use xreadlink or mreadlink-with-size.
46339         * modules/xreadlink-with-size: Remove module.
46340         * lib/xreadlink-with-size.c: Remove file.
46341         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
46342         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
46343         just before the function definition *is* accurate.
46344
46345         Eliminate one way canonicalize_filename_mode could exit.
46346         * lib/canonicalize.c (canonicalize_filename_mode):
46347         Use mreadlink_with_size, not xreadlink_with_size.
46348
46349 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
46350
46351         Detect porting problems to FreeBSD/arm, which has time_t wider than
46352         long int.  Original problem reported for GNU diff by Xin Li in
46353         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
46354         * modules/getdate (Depends-on): Add intprops, verify.
46355         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
46356         is an integer type no wider than long int.
46357
46358 2007-06-18  Jim Meyering  <jim@meyering.net>
46359
46360         New module: mreadlink-with-size.
46361         * MODULES.html.sh: Add mreadlink-with-size.
46362         * modules/mreadlink-with-size: New module
46363         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
46364         not xreadlink-with-size.
46365         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
46366
46367 2007-06-16  Bruno Haible  <bruno@clisp.org>
46368
46369         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
46370         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
46371         Reported by Gary V. Vaughan <gary@gnu.org>.
46372
46373 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
46374
46375         Revamp lchown so that it lives in unistd.h where it belongs.
46376         * lib/lchown.h: Remove.
46377         * lib/dirchownmod.c: Don't include lib/lchown.h.
46378         * lib/fchownat.c: Likewise.
46379         * lib/openat.c: Likewise.
46380         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
46381         does not follow symlinks.
46382         (EOPNOTSUPP): Define if not defined.
46383         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
46384         is defined to 0.
46385         (lchown): New decl.
46386         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
46387         Do not check for lchown decl.
46388         Set REPLACE_LCHOWN.
46389         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
46390         REPLACE_LCHOWN.
46391         * modules/chown: Make it clear it follows symlinks.
46392         * modules/lchown: Make it clear it doesn't follow symlinks.
46393         (Files): Remove lib/lchown.h
46394         (Depends-on): Add unistd.
46395         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
46396         (Include): Include <unistd.h>, not "lchown.h".
46397         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
46398         REPLACE_LCHOWN.
46399
46400 2007-06-15  Jim Meyering  <jim@meyering.net>
46401
46402         Change license (GPL to LGPL) of fsusage and dependents.
46403         * modules/fsusage (License): Change to LGPL.
46404         * modules/full-read (License): Likewise.
46405         * modules/full-write (License): Likewise.
46406         * modules/safe-read (License): Likewise.
46407         * modules/safe-write (License): Likewise.
46408
46409 2007-06-14  Ben Pfaff  <blp@gnu.org>
46410
46411         Missing part of allocsa -> malloca transition.
46412         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
46413         gl_MALLOCA.
46414
46415 2007-06-12  Bruno Haible  <bruno@clisp.org>
46416
46417         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
46418         to ia64, x86_64, i386.
46419         Reported by Eric Blake.
46420
46421 2007-06-12  Bruno Haible  <bruno@clisp.org>
46422
46423         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
46424         cross-compiling to x86_64.
46425
46426 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
46427
46428         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
46429         glitch reported by Ralf Wildenhues in
46430         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
46431
46432         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
46433         Vin Shelton.
46434
46435 2007-06-11  Bruno Haible  <bruno@clisp.org>
46436
46437         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
46438         replacement string.
46439         Reported by Eric Blake.
46440
46441 2007-06-10  Bruno Haible  <bruno@clisp.org>
46442
46443         Prepare vasnprintf code for use with Unicode strings.
46444         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
46445         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
46446         TYPE_U32_STRING.
46447         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
46448         a_u32_string variants.
46449         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
46450         * lib/printf-args.c: Don't include config.h and the specification
46451         header if PRINTF_FETCHARGS is already defined.
46452         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
46453         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
46454         TYPE_U16_STRING, TYPE_U32_STRING.
46455         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
46456         u16_directive, u16_directives, u32_directive, u32_directives): New
46457         types.
46458         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
46459         New declarations.
46460         * lib/printf-parse.c: Don't include config.h and the specification
46461         header if PRINTF_PARSE is already defined. Eliminate the set of
46462         parameters for WIDE_CHAR_VERSION; the user of this file must provide
46463         them now. Include c-ctype.h.
46464         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
46465         directive and CHAR_T_ONLY_ASCII.
46466         * lib/vasnprintf.c: Don't include config.h and the specification header
46467         if VASNPRINTF is already defined.
46468         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
46469         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
46470         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
46471         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
46472         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
46473         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
46474         code accordingly.
46475         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
46476         pad_ourselves also in this case, with the 'c' and 's' directives, and
46477         with a different notion of "width".
46478         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
46479
46480 2007-06-10  Bruno Haible  <bruno@clisp.org>
46481
46482         * modules/unistr/u32-mbsnlen: New file.
46483         * lib/unistr/u32-mbsnlen.c: New file.
46484
46485         * modules/unistr/u16-mbsnlen: New file.
46486         * lib/unistr/u16-mbsnlen.c: New file.
46487
46488         * modules/unistr/u8-mbsnlen: New file.
46489         * lib/unistr/u8-mbsnlen.c: New file.
46490
46491         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
46492         declarations.
46493
46494 2007-06-10  Bruno Haible  <bruno@clisp.org>
46495
46496         * lib/string_.h (mbsnlen): New declaration.
46497         * lib/mbsnlen.c: New file.
46498         * m4/mbsnlen.m4: New file.
46499         * modules/mbsnlen: New file.
46500         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
46501         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
46502         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
46503
46504 2007-06-10  Bruno Haible  <bruno@clisp.org>
46505
46506         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
46507
46508 2007-06-10  Bruno Haible  <bruno@clisp.org>
46509
46510         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
46511         * lib/mbuiter.h: Likewise.
46512
46513 2007-06-10  Bruno Haible  <bruno@clisp.org>
46514
46515         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
46516         declaration.
46517
46518 2007-06-10  Karl Berry  <karl@gnu.org>
46519
46520         * config/srclist.txt: remove gettext entries, Bruno prefers
46521         to update individually.
46522
46523 2007-06-10  Bruno Haible  <bruno@clisp.org>
46524
46525         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
46526         'maxlen'. Ensure only length + width bytes are allocated, not
46527         length + 1 + width.
46528
46529 2007-06-09  Bruno Haible  <bruno@clisp.org>
46530
46531         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
46532         (CHAR_T): Remove macro.
46533         (VASNPRINTF): Update.
46534
46535 2007-06-09  Bruno Haible  <bruno@clisp.org>
46536
46537         * MODULES.html.sh (Unicode string functions): Add the new modules.
46538
46539         * modules/uniconv/u32-conv-to-enc: New file.
46540         * lib/uniconv/u32-conv-to-enc.c: New file.
46541         * modules/uniconv/u32-conv-to-enc-tests: New file.
46542         * tests/uniconv/test-u32-conv-to-enc.c: New file.
46543
46544         * modules/uniconv/u16-conv-to-enc: New file.
46545         * lib/uniconv/u16-conv-to-enc.c: New file.
46546         * lib/uniconv/u-conv-to-enc.h: New file.
46547         * modules/uniconv/u16-conv-to-enc-tests: New file.
46548         * tests/uniconv/test-u16-conv-to-enc.c: New file.
46549
46550         * modules/uniconv/u8-conv-to-enc: New file.
46551         * lib/uniconv/u8-conv-to-enc.c: New file.
46552         * modules/uniconv/u8-conv-to-enc-tests: New file.
46553         * tests/uniconv/test-u8-conv-to-enc.c: New file.
46554
46555         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
46556         u32_conv_to_encoding): New declarations.
46557
46558 2007-06-09  Bruno Haible  <bruno@clisp.org>
46559
46560         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
46561
46562 2007-06-09  Bruno Haible  <bruno@clisp.org>
46563
46564         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
46565         * modules/malloca: Renamed from modules/allocsa, updated.
46566         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
46567         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
46568         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
46569         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
46570         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
46571         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
46572         * modules/xmalloca: Renamed from modules/xallocsa, updated.
46573         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
46574         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
46575         * modules/c-strcasestr (Depends-on): Update.
46576         * lib/c-strcasestr.c: Update.
46577         * modules/c-strstr (Depends-on): Update.
46578         * lib/c-strstr.c: Update.
46579         * modules/canonicalize-lgpl (Depends-on): Update.
46580         * lib/canonicalize-lgpl.c: Update.
46581         * modules/clean-temp (Depends-on): Update.
46582         * lib/clean-temp.c: Update.
46583         * modules/csharpcomp (Depends-on): Update.
46584         * lib/csharpcomp.c: Update.
46585         * modules/csharpexec (Depends-on): Update.
46586         * lib/csharpexec.c: Update.
46587         * modules/javacomp (Depends-on): Update.
46588         * lib/javacomp.c: Update.
46589         * modules/javaexec (Depends-on): Update.
46590         * lib/javaexec.c: Update.
46591         * modules/mbscasestr (Depends-on): Update.
46592         * lib/mbscasestr.c: Update.
46593         * modules/mbsstr (Depends-on): Update.
46594         * lib/mbsstr.c: Update.
46595         * modules/setenv (Depends-on): Update.
46596         * lib/setenv.c: Update.
46597         * modules/strcasestr (Depends-on): Update.
46598         * lib/strcasestr.c: Update.
46599         * modules/striconveha (Depends-on): Update.
46600         * lib/striconveha.c: Update.
46601         * modules/relocatable-prog-wrapper (Files): Update.
46602         * lib/relocwrapper.c: Update.
46603         * build-aux/install-reloc: Update.
46604         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
46605
46606 2007-06-08  Bruno Haible  <bruno@clisp.org>
46607
46608         Port to uClibc.
46609         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
46610         * lib/fpurge.c (fpurge): Likewise.
46611         * lib/freading.c (freading): Likewise.
46612         * lib/fseeko.c (rpl_fseeko): Likewise.
46613         * lib/fseterr.c (fseterr): Likewise.
46614         * lib/fwriting.c (fwriting): Likewise.
46615         * tests/test-fflush.c (main): Avoid a failure on uClibc.
46616
46617 2007-06-08  Bruno Haible  <bruno@clisp.org>
46618
46619         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
46620         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
46621         * modules/gettext (Files): Add m4/intlmacosx.m4.
46622
46623 2007-06-07  Bruno Haible  <bruno@clisp.org>
46624
46625         * modules/localename-tests: New file.
46626         * tests/test-localename.c: New file.
46627
46628         New module 'localename'.
46629         * lib/localename.h: New file.
46630         * lib/localename.c: New file, from GNU gettext.
46631         * m4/localename.m4: New file.
46632         * modules/localename: New file.
46633
46634 2007-06-07  Bruno Haible  <bruno@clisp.org>
46635
46636         Work around the lack of <wchar.h> on some builds of uClibc.
46637         * doc/headers/wchar.texi: Update.
46638         * lib/wchar_.h: Include <wchar.h> only if it exists.
46639         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
46640         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
46641         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
46642         doesn't exist.
46643         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
46644         * modules/mbfile (Depends-on): Add wchar.
46645         * modules/mbiter (Depends-on): Likewise.
46646         * modules/mbuiter (Depends-on): Likewise.
46647         Reported by Simon Josefsson.
46648
46649 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
46650
46651         Work around problem reported by Steven M. Schweda in
46652         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
46653         Tru64 5.1B with the Compaq compiler environment installed declares
46654         an 'isblank' function but does not define it in the C library.
46655         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
46656         * lib/regex_internal.h (isblank): Likewise.
46657         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
46658         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
46659
46660 2007-06-05  Bruno Haible  <bruno@clisp.org>
46661
46662         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
46663         ia64.
46664         * modules/printf-safe: New file.
46665         * modules/fprintf-posix (Depends-on): Add printf-safe.
46666         * modules/printf-posix (Depends-on): Likewise.
46667         * modules/snprintf-posix (Depends-on): Likewise.
46668         * modules/sprintf-posix (Depends-on): Likewise.
46669         * modules/vasnprintf-posix (Depends-on): Likewise.
46670         * modules/vasprintf-posix (Depends-on): Likewise.
46671         * modules/vfprintf-posix (Depends-on): Likewise.
46672         * modules/vprintf-posix (Depends-on): Likewise.
46673         * modules/vsnprintf-posix (Depends-on): Likewise.
46674         * modules/vsprintf-posix (Depends-on): Likewise.
46675         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
46676         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
46677         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
46678         "no" on i386, x86_64, ia64.
46679         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
46680         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
46681         on i386, x86_64, ia64.
46682         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
46683         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
46684         on i386, x86_64, ia64.
46685         * tests/test-vasnprintf-posix.c: Include float.h.
46686         (LDBL80_WORDS): New macro.
46687         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
46688         on i386, x86_64, ia64.
46689         * tests/test-vasprintf-posix.c: Include float.h.
46690         (LDBL80_WORDS): New macro.
46691         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
46692         on i386, x86_64, ia64.
46693         * tests/test-snprintf-posix.c: Include float.h.
46694         * tests/test-sprintf-posix.c: Likewise.
46695         * tests/test-vsnprintf-posix.c: Likewise.
46696         * tests/test-vsprintf-posix.c: Likewise.
46697
46698 2007-06-05  Bruno Haible  <bruno@clisp.org>
46699
46700         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
46701         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
46702         non-IEEE numbers on i386, x86_64, ia64.
46703         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
46704         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
46705         * tests/test-isnanl.h: Include float.h.
46706         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
46707
46708 2007-06-05  Bruno Haible  <bruno@clisp.org>
46709
46710         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
46711         also the %a / %A. Handle the %a / %A code before this extra handling.
46712
46713 2007-06-05  Bruno Haible  <bruno@clisp.org>
46714
46715         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
46716         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
46717
46718 2007-06-05  Bruno Haible  <bruno@clisp.org>
46719
46720         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
46721         typo in variable name.
46722
46723 2007-06-05  Eric Blake  <ebb9@byu.net>
46724
46725         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
46726         Reported by Simon Josefsson.
46727
46728 2007-06-04  Bruno Haible  <bruno@clisp.org>
46729
46730         Avoid test failures on some PowerPC platforms.
46731         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
46732         Define differently for PowerPC.
46733         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
46734         Reported by Gary V. Vaughan <gary@gnu.org>.
46735
46736 2007-06-02  Bruno Haible  <bruno@clisp.org>
46737
46738         Fix test-stdint failure on FreeBSD/ia64.
46739         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
46740         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
46741         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
46742         * doc/headers/stdint.texi: Update.
46743
46744 2007-06-01  Bruno Haible  <bruno@clisp.org>
46745
46746         * tests/test-binary-io.c (main): Pass a third argument to open().
46747         Reported by Gary V. Vaughan <gary@gnu.org>.
46748
46749 2007-06-01  Bruno Haible  <bruno@clisp.org>
46750
46751         * doc/functions/frexpl.texi: Update for mingw.
46752
46753 2007-06-01  Bruno Haible  <bruno@clisp.org>
46754
46755         * tests/test-lseek.c (main): Disable test of errno for invalid third
46756         argument.
46757         * doc/functions/lseek.texi: Update.
46758         Reported by Gary V. Vaughan <gary@gnu.org>.
46759
46760 2007-05-28  Bruno Haible  <bruno@clisp.org>
46761
46762         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
46763
46764 2007-05-31  Eric Blake  <ebb9@byu.net>
46765
46766         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
46767         cross compiling.
46768
46769 2007-05-30  Eric Blake  <ebb9@byu.net>
46770         and Bruno Haible  <bruno@clisp.org>
46771
46772         Work around mingw test failures exposed by m4-1.4.9b.
46773         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
46774         * tests/test-unistd.c: Disable uid_t and git_t tests for the
46775         moment.
46776
46777 2007-05-30  Bruno Haible  <bruno@clisp.org>
46778
46779         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
46780         assuming that they are closed. Needed on HP-UX 11.
46781
46782 2007-05-29  Bruno Haible  <bruno@clisp.org>
46783
46784         Fix a problem with #include_next.
46785         * lib/dirent_.h: Split the double-inclusion guard.
46786         * lib/fcntl_.h: Likewise.
46787         * lib/float_.h: Likewise.
46788         * lib/iconv_.h: Likewise.
46789         * lib/inttypes_.h: Likewise.
46790         * lib/locale_.h: Likewise.
46791         * lib/math_.h: Likewise.
46792         * lib/netinet_in_.h: Likewise.
46793         * lib/search_.h: Likewise.
46794         * lib/signal_.h: Likewise.
46795         * lib/stdint_.h: Likewise.
46796         * lib/stdio_.h: Likewise.
46797         * lib/stdlib_.h: Likewise.
46798         * lib/string_.h: Likewise.
46799         * lib/sys_select_.h: Likewise.
46800         * lib/sys_socket_.h: Likewise.
46801         * lib/sys_stat_.h: Likewise.
46802         * lib/sys_time_.h: Likewise.
46803         * lib/sysexits_.h: Likewise.
46804         * lib/time_.h: Likewise.
46805         * lib/unistd_.h: Likewise.
46806         * lib/wchar_.h: Likewise.
46807         * lib/wctype_.h: Likewise.
46808
46809 2007-05-29  Bruno Haible  <bruno@clisp.org>
46810
46811         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
46812         for the moment.
46813
46814 2007-05-29  Bruno Haible  <bruno@clisp.org>
46815
46816         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
46817         invocation.
46818         Reported by Eric Blake.
46819
46820 2007-05-29  Bruno Haible  <bruno@clisp.org>
46821
46822         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
46823         compiling case.
46824
46825 2007-05-29  Eric Blake  <ebb9@byu.net>
46826             Bruno Haible  <bruno@clisp.org>
46827
46828         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
46829         cross compiles.
46830
46831 2007-05-28  Eric Blake  <ebb9@byu.net>
46832
46833         * modules/closein-tests (test_closein_LDADD): Support test on
46834         cygwin with libtool.
46835
46836 2007-05-28  Bruno Haible  <bruno@clisp.org>
46837
46838         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
46839         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
46840         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
46841         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
46842         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
46843         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
46844         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
46845         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
46846         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
46847
46848 2007-05-28  Eric Blake  <ebb9@byu.net>
46849
46850         Unconditionally include <config.h> in unit tests.
46851         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
46852         * tests/test-allocsa.c, tests/test-arcfour.c,
46853         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
46854         tests/test-array_list.c, tests/test-array_oset.c,
46855         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
46856         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
46857         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
46858         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
46859         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
46860         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
46861         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
46862         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
46863         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
46864         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
46865         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
46866         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
46867         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
46868         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
46869         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
46870         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
46871         test-md5.c, test-memmem.c, test-printf-posix.c,
46872         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
46873         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
46874         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
46875         test-strcasestr.c, test-striconv.c, test-striconveh.c,
46876         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
46877         test-vasnprintf-posix2.c, test-vasnprintf.c,
46878         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
46879         test-vfprintf-posix.c, test-vprintf-posix.c,
46880         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
46881         test-xvasprintf.c: Likewise.
46882
46883 2007-05-28  Bruno Haible  <bruno@clisp.org>
46884
46885         * gnulib-tool (func_import): Remember the --with-tests command-line
46886         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
46887         Reported by Eric Blake.
46888
46889 2007-05-28  Bruno Haible  <bruno@clisp.org>
46890
46891         * modules/ftell-tests: New file.
46892         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
46893         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
46894
46895         * lib/ftell.c: New file.
46896         * modules/ftell: New file.
46897         * m4/ftell.m4: New file.
46898         * doc/functions/ftell.texi: Update.
46899         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
46900         REPLACE_FTELL.
46901         * lib/stdio_.h (rpl_ftell): New declaration.
46902         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
46903         REPLACE_FTELL.
46904
46905 2007-05-28  Eric Blake  <ebb9@byu.net>
46906
46907         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
46908
46909 2007-05-28  Bruno Haible  <bruno@clisp.org>
46910
46911         * modules/fseek-tests: New file.
46912         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
46913         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
46914
46915         * lib/fseek.c: New file.
46916         * modules/fseek: New file.
46917         * m4/fseek.m4: New file.
46918         * doc/functions/fseek.texi: Update.
46919         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
46920         REPLACE_FSEEK.
46921         * lib/stdio_.h (rpl_fseek): New declaration.
46922         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
46923         REPLACE_FSEEK.
46924
46925 2007-05-28  Bruno Haible  <bruno@clisp.org>
46926
46927         * lib/stdio_.h (fflush): More comments.
46928
46929 2007-05-28  Bruno Haible  <bruno@clisp.org>
46930
46931         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
46932         runtime test.
46933
46934 2007-05-28  Eric Blake  <ebb9@byu.net>
46935
46936         Improve lseek module.
46937         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
46938         * lib/unistd_.h (lseek): Scale back link warning message.
46939         * tests/test-lseek.c: Beef up test.
46940         * tests/test-lseek.sh: Exercise more facets of lseek.
46941         Reported by Bruno Haible.
46942
46943 2007-05-28  Bruno Haible  <bruno@clisp.org>
46944
46945         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
46946         to define.
46947
46948 2007-05-27  Bruno Haible  <bruno@clisp.org>
46949
46950         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
46951
46952 2007-05-27  Bruno Haible  <bruno@clisp.org>
46953
46954         * modules/openmp: New file.
46955         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
46956         Noah Misch.
46957
46958 2007-05-26  Bruno Haible  <bruno@clisp.org>
46959
46960         * modules/chdir-long (Depends-on): Add fchdir.
46961         * modules/chdir-safer (Depends-on): Likewise.
46962         * modules/fts (Depends-on): Likewise.
46963         * modules/fts-lgpl (Depends-on): Likewise.
46964         * modules/openat (Depends-on): Likewise.
46965         * modules/savewd (Depends-on): Likewise.
46966
46967 2007-05-24  Eric Blake  <ebb9@byu.net>
46968
46969         Fix lseek on mingw.
46970         * modules/lseek: New module.
46971         * m4/lseek.m4: New file.
46972         * lib/lseek.c: New file.
46973         * modules/lseek-tests: New file.
46974         * tests/test-lseek.c: New file.
46975         * tests/test-lseek.sh: New file.
46976         * MODULES.html.sh: Document lseek module.
46977         * modules/fflush (Depends-on): Add lseek, fseeko.
46978         * modules/fseeko (Depends-on): Likewise.
46979         * modules/ftello (Depends-on): Likewise.
46980         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
46981         broken.
46982         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
46983         broken.
46984         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
46985         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
46986         * lib/ftello.c (rpl_ftello): Likewise.
46987         * tests/test-fseeko.c (main): Test this.
46988         * tests/test-fseeko.sh: Likewise.
46989         * tests/test-ftello.c (main): Likewise.
46990         * tests/test-ftello.sh: Likewise.
46991         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
46992         implies replacing fseek.
46993         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
46994         HAVE_FTELLO.
46995         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
46996         * modules/unistd (Makefile.am): Likewise.
46997         * lib/unistd_.h (lseek): Declare a replacement.
46998         * doc/functions/lseek.texi (lseek): Document this fix.
46999         * doc/functions/fseek.texi (fseek): Likewise.
47000         * doc/functions/ftell.texi (ftell): Likewise.
47001
47002 2007-05-24  Bruno Haible  <bruno@clisp.org>
47003
47004         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
47005         in the printed representation of a NaN.
47006         * tests/test-vasprintf-posix.c (test_function): Likewise.
47007         * tests/test-snprintf-posix.h (test_function): Likewise.
47008         * tests/test-sprintf-posix.h (test_function): Likewise.
47009         Reported by Eric Blake.
47010
47011 2007-05-23  Eric Blake  <ebb9@byu.net>
47012
47013         Fix fseeko/ftello on cygwin 1.5.24.
47014         * doc/functions/fseeko.texi (fseeko): Document the fix.
47015         * doc/functions/ftello.texi (ftello): Document the fix.
47016         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
47017         * doc/functions/stdout.text (stdout): New file.
47018         * doc/functions/stderr.text (stderr): New file.
47019         * doc/gnulib.texi (Function Substitutes): Use new files.
47020         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
47021         prior to 1.7.0.
47022         * tests/test-ftello.c (main): Likewise for ftello.
47023         * tests/test-fseeko.sh: New file.
47024         * tests/test-ftello.sh: New file.
47025         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
47026         with seekable stdin.
47027         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
47028         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
47029         (gl_REPLACE_FSEEKO): New macro.
47030         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
47031         * modules/fseeko (Files): Distribute fseeko.c.
47032         * modules/ftello (Files): Distribute ftello.c.
47033         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
47034         mode.
47035         * lib/ftello.c (rpl_ftello): New file.
47036         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
47037         fseeko, ftello.
47038         (gl_STDIN_LARGE_OFFSET): New macro.
47039         * modules/stdio (Makefile.am): Perform the replacement.
47040         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
47041
47042 2007-05-23  Bruno Haible  <bruno@clisp.org>
47043
47044         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
47045         GNULIB_POSIXCHECK is defined.
47046
47047 2007-05-21  Bruno Haible  <bruno@clisp.org>
47048
47049         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
47050         Check also the output for NaN arguments. When cross-compiling, guess
47051         no on IRIX.
47052         * lib/vasnprintf.c: Update comments.
47053         * tests/test-vasnprintf-posix.c (strisnan): New function.
47054         (test_function): Use it.
47055         * tests/test-vasprintf-posix.c (strisnan): New function.
47056         (test_function): Use it.
47057         * tests/test-snprintf-posix.h (strisnan): New function.
47058         (test_function): Use it.
47059         * tests/test-sprintf-posix.h (strisnan): New function.
47060         (test_function): Use it.
47061         Reported by Eric Blake.
47062
47063 2007-05-20  Bruno Haible  <bruno@clisp.org>
47064
47065         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
47066         numbers that fails on BeOS.
47067         * doc/functions/frexpl.texi: Update.
47068
47069 2007-05-20  Jim Meyering  <jim@meyering.net>
47070
47071         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
47072         forced upon us by glibc-2.6.
47073
47074 2007-05-20  Bruno Haible  <bruno@clisp.org>
47075
47076         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
47077         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
47078         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
47079         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
47080         NEED_PRINTF_INFINITE.
47081         (is_infinitel): New function.
47082         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
47083         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
47084         gl_PREREQ_VASNPRINTF_INFINITE.
47085         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
47086         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47087         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
47088         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
47089         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
47090         gl_PREREQ_VASNPRINTF_INFINITE.
47091         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47092         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47093         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47094         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47095         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47096         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47097         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47098         * doc/functions/fprintf.texi: Update.
47099         * doc/functions/printf.texi: Update.
47100         * doc/functions/snprintf.texi: Update.
47101         * doc/functions/sprintf.texi: Update.
47102         * doc/functions/vfprintf.texi: Update.
47103         * doc/functions/vprintf.texi: Update.
47104         * doc/functions/vsnprintf.texi: Update.
47105         * doc/functions/vsprintf.texi: Update.
47106
47107 2007-05-20  Bruno Haible  <bruno@clisp.org>
47108
47109         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
47110         was not found in libc.
47111         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
47112
47113 2007-05-20  Bruno Haible  <bruno@clisp.org>
47114
47115         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
47116         printed as "-nan" instead of "nan".
47117         * tests/test-vasprintf-posix.c (test_function): Likewise.
47118         * tests/test-snprintf-posix.h (test_function): Likewise.
47119         * tests/test-sprintf-posix.h (test_function): Likewise.
47120         Needed for HP-UX 11.
47121
47122 2007-05-20  Jim Meyering  <jim@meyering.net>
47123
47124         Fix buggy test for the fchownat-deref bug.
47125         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
47126         symlink required for the run-test.  Without it, this test would
47127         always declare that fchownat doesn't work, and client code would
47128         unnecessarily use the replacement function with fixed libc.
47129         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
47130         Reported by Greg Schafer.
47131
47132 2007-05-19  Bruno Haible  <bruno@clisp.org>
47133
47134         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
47135         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
47136         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
47137         Needed for IRIX 6.5 and Solaris 2.5.1.
47138
47139 2007-05-19  Bruno Haible  <bruno@clisp.org>
47140
47141         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
47142         (test_function): Skip tests involving -0.0 on platforms where
47143         -0.0 = 0.0.
47144         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
47145         (test_function): Skip tests involving -0.0 on platforms where
47146         -0.0 = 0.0.
47147         * tests/test-snprintf-posix.h (have_minus_zero): New function.
47148         (test_function): Skip tests involving -0.0 on platforms where
47149         -0.0 = 0.0.
47150         * tests/test-sprintf-posix.h (have_minus_zero): New function.
47151         (test_function): Skip tests involving -0.0 on platforms where
47152         -0.0 = 0.0.
47153         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
47154         tests.
47155         * tests/test-printf-posix.h (test_function): Likewise.
47156         * tests/test-printf-posix.output: Remove all -0.0 related results.
47157         Needed for IRIX 6.5.
47158
47159 2007-05-19  Bruno Haible  <bruno@clisp.org>
47160
47161         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
47162         printed as "nan0x7fffffff" instead of "nan".
47163         * tests/test-vasprintf-posix.c (test_function): Likewise.
47164         * tests/test-snprintf-posix.h (test_function): Likewise.
47165         * tests/test-sprintf-posix.h (test_function): Likewise.
47166         * tests/test-fprintf-posix.h (NaN): Remove macro.
47167         (test_function): Remove all NaN related tests.
47168         * tests/test-printf-posix.h (NaN): Remove macro.
47169         (test_function): Remove all NaN related tests.
47170         * tests/test-printf-posix.output: Remove all NaN related results.
47171         Needed for IRIX 6.5.
47172
47173 2007-05-19  Bruno Haible  <bruno@clisp.org>
47174
47175         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
47176         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
47177
47178 2007-05-19  Bruno Haible  <bruno@clisp.org>
47179
47180         * lib/float_.h: New file.
47181         * m4/float_h.m4: New file.
47182         * modules/float: New file.
47183         * modules/isnanl (Dependencies): Add float.
47184         * modules/isnanl-nolibm (Dependencies): Likewise.
47185         * modules/mathl (Dependencies): Likewise.
47186         * modules/printf-frexpl (Dependencies): Likewise.
47187         * modules/signbit (Dependencies): Likewise.
47188         * modules/vasnprintf (Dependencies): Likewise.
47189         * doc/headers/float.texi: Update.
47190
47191 2007-05-19  Jim Meyering  <jim@meyering.net>
47192
47193         * lib/utimens.c (gl_futimens): Rename from futimens,
47194         now that glibc-2.6 declares futimens.
47195         * lib/utimens.h: Likewise.
47196
47197 2007-05-19  Bruno Haible  <bruno@clisp.org>
47198
47199         Avoid test failures on mingw.
47200         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
47201         * tests/test-printf-posix.sh: Likewise.
47202         * tests/test-vfprintf-posix.sh: Likewise.
47203         * tests/test-vprintf-posix.sh: Likewise.
47204
47205 2007-05-19  Bruno Haible  <bruno@clisp.org>
47206
47207         Fix *printf result for NaN, Inf, -0.0 on mingw.
47208         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
47209         * lib/vasnprintf.c: Include math.h and isnan.h.
47210         (is_infinite_or_zero): New function.
47211         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
47212         values in the %f, %F, %e, %E, %g, %G directives.
47213         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
47214         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47215         gl_PRINTF_INFINITE and test its result. Invoke
47216         gl_PREREQ_VASNPRINTF_INFINITE.
47217         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47218         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47219         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47220         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47221         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47222         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47223         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47224         * doc/functions/fprintf.texi: Update.
47225         * doc/functions/printf.texi: Update.
47226         * doc/functions/snprintf.texi: Update.
47227         * doc/functions/sprintf.texi: Update.
47228         * doc/functions/vfprintf.texi: Update.
47229         * doc/functions/vprintf.texi: Update.
47230         * doc/functions/vsnprintf.texi: Update.
47231         * doc/functions/vsprintf.texi: Update.
47232
47233 2007-05-19  Bruno Haible  <bruno@clisp.org>
47234
47235         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
47236         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
47237         Instead of multiplying with 10^k, set extra_zeroes to k.
47238         (scale10_round_long_double): Remove function.
47239
47240 2007-05-18  Bruno Haible  <bruno@clisp.org>
47241
47242         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
47243         introduced on 2007-05-06.
47244
47245 2007-05-18  Bruno Haible  <bruno@clisp.org>
47246
47247         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
47248         %g directives.
47249         * tests/test-vasprintf-posix.c (test_function): Likewise.
47250         * tests/test-snprintf-posix.h (test_function): Likewise.
47251         * tests/test-sprintf-posix.h (test_function): Likewise.
47252
47253 2007-05-18  Bruno Haible  <bruno@clisp.org>
47254
47255         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
47256         (strmatch): New function.
47257         (test_function): Test the %f directive on numbers of various exponents.
47258         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
47259         (strmatch): New function.
47260         (test_function): Test the %f directive on numbers of various exponents.
47261         * tests/test-snprintf-posix.h (strmatch): New function.
47262         (test_function): Test the %f directive on numbers of various exponents.
47263         * tests/test-sprintf-posix.h (strmatch): New function.
47264         (test_function): Test the %f directive on numbers of various exponents.
47265         * tests/test-snprintf-posix.c (SIZEOF): New macro.
47266         * tests/test-sprintf-posix.c (SIZEOF): New macro.
47267         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
47268         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
47269
47270 2007-05-18  Bruno Haible  <bruno@clisp.org>
47271
47272         Add support for 'long double' number output.
47273         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
47274         * lib/vasnprintf.c: Include math.h and float+.h.
47275         (mp_limb_t): New type.
47276         (GMP_LIMB_BITS): New macro.
47277         (mp_twolimb_t): New type.
47278         (GMP_TWOLIMB_BITS): New macro.
47279         (mpn_t): New type.
47280         (multiply, divide, convert_to_decimal, decode_long_double,
47281         scale10_round_long_double, scale10_round_decimal_long_double,
47282         floorlog10l): New functions.
47283         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
47284         for the %f, %F, %e, %E, %g, %G directives.
47285         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
47286         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47287         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
47288         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
47289         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47290         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47291         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47292         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47293         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47294         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47295         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47296         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
47297         * modules/snprintf-posix (Depends-on): Likewise.
47298         * modules/sprintf-posix (Depends-on): Likewise.
47299         * modules/vasnprintf-posix (Depends-on): Likewise.
47300         * modules/vasprintf-posix (Depends-on): Likewise.
47301         * modules/vfprintf-posix (Depends-on): Likewise.
47302         * modules/vsnprintf-posix (Depends-on): Likewise.
47303         * modules/vsprintf-posix (Depends-on): Likewise.
47304         * modules/vasnprintf (Files): Add lib/float+.h.
47305         * doc/functions/fprintf.texi: Update.
47306         * doc/functions/printf.texi: Update.
47307         * doc/functions/snprintf.texi: Update.
47308         * doc/functions/sprintf.texi: Update.
47309         * doc/functions/vfprintf.texi: Update.
47310         * doc/functions/vprintf.texi: Update.
47311         * doc/functions/vsnprintf.texi: Update.
47312         * doc/functions/vsprintf.texi: Update.
47313
47314 2007-05-18  Bruno Haible  <bruno@clisp.org>
47315
47316         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
47317
47318 2007-05-18  Bruno Haible  <bruno@clisp.org>
47319
47320         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
47321         for printing 64-bit integers. Needed for mingw.
47322
47323 2007-05-18  Bruno Haible  <bruno@clisp.org>
47324
47325         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
47326         gl_FUNC_FREXPL_WORKS.
47327         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
47328
47329 2007-05-18  Bruno Haible  <bruno@clisp.org>
47330
47331         * modules/frexpl-nolibm-tests: New file.
47332
47333         * modules/frexpl-nolibm: New file.
47334         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
47335
47336 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
47337
47338         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
47339         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
47340         GCC 4.2, which otherwise issues a lot of warnings.
47341         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
47342         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
47343         Likewise.
47344         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
47345         * modules/iconv_open (iconv.h): Likewise.
47346         * modules/locale (locale.h): Likewise.
47347         * modules/netinet_in (netinet/in.h): Likewise.
47348         * modules/sys_select (sys_select.h): Likewise.
47349         * modules/sys_socket (sys/socket.h): Likewise.
47350         * modules/sys_stat (sys/stat.h): Likewise.
47351         * modules/sysexits (sysexits.h): Likewise.
47352         * modules/unistd (unistd.h): Likewise.
47353
47354 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47355
47356         * modules/closein-tests (Makefile.am): Distribute
47357         `test-closein.sh'.
47358
47359 2007-05-17  Bruno Haible  <bruno@clisp.org>
47360
47361         * tests/test-printf-posix.output: Renamed from
47362         tests/test-fprintf-posix.out.
47363         * modules/fprintf-posix-tests: Update.
47364         * modules/printf-posix-tests: Update.
47365         * modules/vfprintf-posix-tests: Update.
47366         * modules/vprintf-posix-tests: Update.
47367         * tests/test-fprintf-posix.sh: Update.
47368         * tests/test-printf-posix.sh: Update.
47369         * tests/test-vfprintf-posix.sh: Update.
47370         * tests/test-vprintf-posix.sh: Update.
47371         Reported by Ralf Wildenhues.
47372
47373 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
47374
47375         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
47376         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
47377         GCC 4.2, which otherwise issues a lot of warnings.
47378         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
47379         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
47380         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
47381         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
47382         it should no longer be needed.
47383         * lib/string_.h: Likewise.
47384         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
47385         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
47386         * modules/inttypes (inttypes.h): Likewise.
47387         * modules/math (math.h): Likewise.
47388         * modules/search (search.h): Likewise.
47389         * modules/signal (signal.h): Likewise.
47390         * modules/stdint (stdint.h): Likewise.
47391         * modules/stdio (stdio.h): Likewise.
47392         * modules/stdlib (stdlib.h): Likewise.
47393         * modules/string (string.h): Likewise.
47394         * modules/sys_time (sys/time.h): Likewise.
47395         * modules/time (time.h): Likewise.
47396         * modules/wchar (wchar.h): Likewise.
47397         * modules/wctype (wtype.h): Likewise.
47398
47399 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
47400
47401         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
47402
47403 2007-05-13  Bruno Haible  <bruno@clisp.org>
47404
47405         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
47406         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
47407         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
47408         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
47409         (gl_PREREQ_STRTOK_R): Don't require it here.
47410
47411 2007-05-13  Bruno Haible  <bruno@clisp.org>
47412
47413         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
47414         when used in C++ mode.
47415
47416 2007-05-12  Bruno Haible  <bruno@clisp.org>
47417
47418         * lib/linebuffer.h: Tweak doc.
47419         * lib/linebuffer.c: Likewise.
47420
47421 2007-05-12  James Youngman  <jay@gnu.org>
47422
47423         * lib/linebuffer.c (readlinebuffer_delim): New function,
47424         like readlinebuffer, but use a caller-specified delimiter.
47425         (readlinebuffer): Just call readlinebuffer_delim with '\n'
47426         as the delimiter.
47427         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
47428
47429 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
47430
47431         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
47432         * modules/openat (Files): Remove openat-die.c.
47433         (Depends-on): Add openat-die.
47434         * modules/openat-die: New module.
47435
47436 2007-05-06  Bruno Haible  <bruno@clisp.org>
47437
47438         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
47439         Update with info about Cygwin.
47440         * doc/functions/fprintf.texi: Update.
47441         * doc/functions/printf.texi: Update.
47442         * doc/functions/snprintf.texi: Update.
47443         * doc/functions/sprintf.texi: Update.
47444         * doc/functions/vfprintf.texi: Update.
47445         * doc/functions/vprintf.texi: Update.
47446         * doc/functions/vsnprintf.texi: Update.
47447         * doc/functions/vsprintf.texi: Update.
47448         Reported by Eric Blake.
47449
47450 2007-05-06  Bruno Haible  <bruno@clisp.org>
47451
47452         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
47453         padding ourselves for the floating-point directives.
47454         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
47455         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
47456         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
47457         gl_PRINTF_FLAG_ZERO and test its result. Invoke
47458         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
47459         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47460         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
47461         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47462         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47463         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47464         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47465         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47466         * tests/test-snprintf-posix.h (test_function): Also check the width
47467         and some flags in the %f directive.
47468         * tests/test-sprintf-posix.h (test_function): Likewise.
47469         * tests/test-vasnprintf-posix.c (test_function): Likewise.
47470         * tests/test-vasprintf-posix.c (test_function): Likewise.
47471         * doc/functions/fprintf.texi: Update.
47472         * doc/functions/printf.texi: Update.
47473         * doc/functions/snprintf.texi: Update.
47474         * doc/functions/sprintf.texi: Update.
47475         * doc/functions/vfprintf.texi: Update.
47476         * doc/functions/vprintf.texi: Update.
47477         * doc/functions/vsnprintf.texi: Update.
47478         * doc/functions/vsprintf.texi: Update.
47479
47480 2007-05-06  Bruno Haible  <bruno@clisp.org>
47481
47482         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
47483         pass the ' flag character to sprintf or snprintf.
47484         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
47485         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
47486         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
47487         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
47488         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
47489         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47490         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
47491         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47492         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47493         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47494         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47495         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47496         * tests/test-snprintf-posix.h (test_function): Also check the grouping
47497         flag.
47498         * tests/test-sprintf-posix.h (test_function): Likewise.
47499         * tests/test-vasnprintf-posix.c (test_function): Likewise.
47500         * tests/test-vasprintf-posix.c (test_function): Likewise.
47501         * doc/functions/fprintf.texi: Update.
47502         * doc/functions/printf.texi: Update.
47503         * doc/functions/snprintf.texi: Update.
47504         * doc/functions/sprintf.texi: Update.
47505         * doc/functions/vfprintf.texi: Update.
47506         * doc/functions/vprintf.texi: Update.
47507         * doc/functions/vsnprintf.texi: Update.
47508         * doc/functions/vsprintf.texi: Update.
47509
47510 2007-05-01  Bruno Haible  <bruno@clisp.org>
47511
47512         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
47513
47514 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
47515
47516         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
47517         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
47518
47519 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
47520
47521         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
47522         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
47523         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
47524
47525 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
47526
47527         * lib/argp-help.c (struct hol_entry): New member `ord'.
47528         (HOL_ENTRY_PTRCMP): Use ord for comparison
47529         (hol_sort): Initialize ord.
47530
47531 2007-05-01  Bruno Haible  <bruno@clisp.org>
47532
47533         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
47534         Reported by Eric Blake.
47535         * doc/gnulib.texi (Function Substitutes): Update.
47536
47537 2007-05-01  Bruno Haible  <bruno@clisp.org>
47538
47539         * doc/functions.texi: Remove file, now redundant through
47540         doc/functions/*.texi.
47541
47542 2007-05-01  Bruno Haible  <bruno@clisp.org>
47543
47544         * modules/argp (Depends-on): Add sleep.
47545
47546 2007-05-01  Bruno Haible  <bruno@clisp.org>
47547
47548         * modules/sleep-tests: New file.
47549         * tests/test-sleep.c: New file.
47550
47551         * modules/sleep: New file.
47552         * lib/sleep.c: New file.
47553         * m4/sleep.m4: New file.
47554         * lib/unistd_.h (sleep): New declaration.
47555         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
47556         HAVE_SLEEP.
47557         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
47558         * doc/functions/sleep.texi: Document the sleep module.
47559
47560 2007-05-01  Bruno Haible  <bruno@clisp.org>
47561
47562         * lib/sigprocmask.h: Remove file.
47563         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
47564         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
47565         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
47566         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
47567         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
47568         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
47569         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
47570         HAVE_SIGSET_T as a shell variable.
47571         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
47572         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
47573         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
47574         (Depends-on): Add signal. Remove verify.
47575         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
47576         (Include): Mention <signal.h> instead of sigprocmask.h.
47577         * NEWS: Mention the change.
47578         * lib/fatal-signal.c: Don't include sigprocmask.h.
47579
47580 2007-05-01  Bruno Haible  <bruno@clisp.org>
47581
47582         * modules/signal: New file.
47583         * lib/signal_.h: New file.
47584         * m4/signal_h.m4: New file.
47585
47586 2007-05-01  Bruno Haible  <bruno@clisp.org>
47587
47588         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
47589         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
47590         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
47591         HAVE_WCTYPE_CTMP_BUG into wctype.h.
47592
47593 2007-05-01  Bruno Haible  <bruno@clisp.org>
47594
47595         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
47596         configure time.
47597         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
47598         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
47599         * modules/sys_stat (Makefile.am): Substitute their values into
47600         sys/stat.h.
47601
47602 2007-05-01  Bruno Haible  <bruno@clisp.org>
47603
47604         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
47605         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
47606         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
47607
47608 2007-05-01  Bruno Haible  <bruno@clisp.org>
47609
47610         * doc/header/assert.texi: Undo last change: don't mention the gnulib
47611         'assert' module here.
47612
47613 2007-05-01  Bruno Haible  <bruno@clisp.org>
47614
47615         * doc/functions/*.texi: New files.
47616         * doc/functions/google-ranking.txt: New file.
47617         * doc/gnulib.texi (Function Substitutes): New chapter.
47618         (ctime, inet_ntoa): Remove sections.
47619         * doc/ctime.texi: Remove file.
47620         * doc/inet_ntoa.texi: Remove file.
47621         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
47622         dependencies.
47623         (%.info): New rule, specifying a --reference-limit.
47624
47625 2007-05-01  Bruno Haible  <bruno@clisp.org>
47626
47627         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
47628
47629 2007-05-01  Bruno Haible  <bruno@clisp.org>
47630
47631         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
47632         the portability of 'mkdir' to mingw systems.
47633
47634 2007-05-01  Bruno Haible  <bruno@clisp.org>
47635
47636         * doc/headers/google-ranking.txt: New file.
47637
47638 2007-04-30  Eric Blake  <ebb9@byu.net>
47639
47640         Prefer fseeko to fseek.
47641         * modules/getpass (Depends-on): Add fseeko.
47642         * lib/getpass.c (getpass): Use fseeko, not fseek.
47643
47644 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
47645
47646         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
47647         assumes the sorting is stable, while most qsort implementations
47648         are not.  Use argument addresses to ensure they never compare as
47649         equal.
47650
47651         * tests/test-argp-2.sh (usage-indent test): Fix output
47652         (func_compare): Restore diff options
47653         * tests/test-argp.c: Restore #include "progname.h"
47654
47655 2007-04-29  Bruno Haible  <bruno@clisp.org>
47656
47657         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
47658         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
47659         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
47660         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47661         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
47662         (configure.ac): Define CHECK_SNPRINTF_POSIX.
47663         (TESTS, check_PROGRAMS): Add test-snprintf.
47664         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
47665         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
47666         (TESTS, check_PROGRAMS): Add test-vsnprintf.
47667         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
47668         assertions that fail on HP-UX, OSF/1, or IRIX.
47669         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
47670
47671 2007-04-29  Bruno Haible  <bruno@clisp.org>
47672
47673         * MODULES.html.sh (posix_functions): Remove 'contents'.
47674
47675 2007-04-29  Karl Berry  <karl@gnu.org>
47676
47677         * config/srclist.txt (gendocs_template_min): new entry.
47678
47679 2007-04-29  Bruno Haible  <bruno@clisp.org>
47680
47681         Work around fpurge bug on BSD systems.
47682         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
47683         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
47684         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
47685         fpurge to rpl_fpurge if the system already has this function.
47686         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
47687         the case where the system already has this function. Correct invariants
47688         on BSD systems.
47689         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
47690         BSD systems.
47691
47692 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
47693
47694         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
47695         proposed by Sven Verdoolaege.
47696
47697         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
47698         options.
47699         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
47700         (usage and help tests): Update
47701
47702 2007-04-29  Bruno Haible  <bruno@clisp.org>
47703
47704         * tests/test-fflush.c (main): Use a file of size 17, not 10.
47705         Print more information in case of failure. Disable a test on BeOS.
47706
47707 2007-04-29  Bruno Haible  <bruno@clisp.org>
47708
47709         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
47710         This helps debugging on systems on which no gdb is available.
47711
47712 2007-04-29  Bruno Haible  <bruno@clisp.org>
47713
47714         * lib/freading.h: Improve comments.
47715         * lib/fwriting.h: Likewise.
47716         * tests/test-freading.c (main): Don't check freading immediately after
47717         repositioning. Needed for glibc.
47718
47719 2007-04-29  Bruno Haible  <bruno@clisp.org>
47720
47721         * lib/freading.c (freading): Trivial simplification.
47722
47723 2007-04-28  Bruno Haible  <bruno@clisp.org>
47724
47725         * tests/test-fwriting.c (main): Also test the interaction between
47726         fflush and fwriting.
47727         * modules/fwriting-tests (Depends-on): Add fflush.
47728
47729         * tests/test-freading.c (main): Also test the interaction between
47730         fflush and freading.
47731         * modules/freading-tests (Depends-on): Add fflush.
47732
47733 2007-04-28  Bruno Haible  <bruno@clisp.org>
47734
47735         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
47736         fseeko and ftello.
47737         Suggested by Eric Blake.
47738
47739 2007-04-28  Jim Meyering  <jim@meyering.net>
47740
47741         Avoid false-negative in gl_STDINT_H's C99 conformance test.
47742         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
47743         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
47744
47745 2007-04-27  Eric Blake  <ebb9@byu.net>
47746
47747         * doc/headers/assert.texi (assert.h): Document assert module use.
47748
47749 2007-04-27  Bruno Haible  <bruno@clisp.org>
47750
47751         * doc/headers/*.texi: New files.
47752         * doc/gnulib.texi (Header File Substitutes): New chapter.
47753         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
47754         dependencies.
47755         (standards.info ,standards.html, standards.dvi): Update dependencies.
47756         (mostlyclean, clean): New targets.
47757
47758 2007-04-27  Bruno Haible  <bruno@clisp.org>
47759
47760         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
47761         * modules/sysexits (Files, Makefile.am): Update.
47762
47763         * lib/sys_socket_.h: Renamed from lib/socket_.h.
47764         * modules/sys_socket (Files, Makefile.am): Update.
47765
47766         * lib/sys_stat_.h: Renamed from lib/stat_.h.
47767         * modules/sys_stat (Files, Makefile.am): Update.
47768
47769 2007-04-27  Eric Blake  <ebb9@byu.net>
47770
47771         * lib/freading.h: Improve comments.
47772         * lib/fwriting.h: Likewise.
47773         * lib/fflush.c: Likewise.
47774
47775         Fix closein for mingw.
47776         * modules/closein-tests: Add tests for closein.
47777         * tests/test-closein.c: New file.
47778         * tests/test-closein.sh: Likewise.
47779         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
47780         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
47781
47782 2007-04-27  Bruno Haible  <bruno@clisp.org>
47783
47784         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
47785         version is < 6.
47786         * lib/math_.h [__DECC]: Likewise.
47787         * lib/stdio_.h [__DECC]: Likewise.
47788         * lib/stdlib_.h [__DECC]: Likewise.
47789         * lib/string_.h [__DECC]: Likewise.
47790         * lib/time_.h [__DECC]: Likewise.
47791         * lib/wchar_.h [__DECC]: Likewise.
47792         * lib/wctype_.h [__DECC]: Likewise.
47793
47794 2007-04-27  Bruno Haible  <bruno@clisp.org>
47795
47796         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
47797
47798 2007-04-27  Bruno Haible  <bruno@clisp.org>
47799
47800         * lib/fflush.c: Add comments.
47801         * modules/fpurge-tests (Depends-on): Add fflush.
47802         * modules/freadable-tests (Depends-on): Likewise.
47803         * modules/fwritable-tests (Depends-on): Likewise.
47804
47805 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
47806
47807         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
47808         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
47809         Report by Bruno Haible <bruno@clisp.org>.
47810
47811 2007-04-26  Eric Blake  <ebb9@byu.net>
47812
47813         Fix fflush on mingw.
47814         * modules/fflush (Depends-on): Add freading.
47815         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
47816         but unread data.
47817
47818 2007-04-26  Eric Blake  <ebb9@byu.net>
47819         and Bruno Haible  <bruno@clisp.org>
47820
47821         Implement freading and fwriting.
47822         * lib/freading.c: New file.
47823         * lib/freading.h: Likewise.
47824         * m4/freading.m4: Likewise.
47825         * modules/freading: Likewise.
47826         * modules/freading-tests: Likewise.
47827         * tests/test-freading.c: Likewise.
47828         * lib/fwriting.c: New file.
47829         * lib/fwriting.h: Likewise.
47830         * m4/fwriting.m4: Likewise.
47831         * modules/fwriting: Likewise.
47832         * modules/fwriting-tests: Likewise.
47833         * tests/test-fwriting.c: Likewise.
47834         * MODULES.html.sh (File stream based Input/Output): Mention them.
47835
47836 2007-04-26  Bruno Haible  <bruno@clisp.org>
47837
47838         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
47839         'long' when we assume it.
47840         Suggested by Eric Blake.
47841
47842 2007-04-26  Bruno Haible  <bruno@clisp.org>
47843
47844         Ensure fseeko, ftello are declared on glibc systems.
47845         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
47846         * modules/fseeko (configure.ac-early): Likewise.
47847         * modules/ftello (configure.ac-early): Likewise.
47848         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
47849         AC_FUNC_FSEEKO for this.
47850         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
47851         (gl_CHECK_FSEEKO): Remove macro.
47852
47853 2007-04-26  Bruno Haible  <bruno@clisp.org>
47854
47855         * tests/test-fflush.c (main): Also check the ftell result after
47856         fflush and fseek/fseeko.
47857         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
47858         file descriptor position cache in the stream.
47859         * lib/fseeko.c (rpl_fseeko): Likewise.
47860
47861 2007-04-26  Bruno Haible  <bruno@clisp.org>
47862
47863         * modules/fflush-tests (Depends-on): Add fseeko.
47864
47865 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
47866             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47867
47868         * lib/argz_.h: ensure error_t definition is obtained in same
47869         mechanism system argz.h would have.
47870         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
47871         argz facilities are known bad.  Err on the side of caution if
47872         cross-compiling.
47873
47874 2007-04-25  Eric Blake  <ebb9@byu.net>
47875
47876         * lib/fpurge.c (includes): Use stdlib.h for free.
47877         * tests/test-fflush.c (main): Also test fflush-fseeko.
47878
47879 2007-04-25  Bruno Haible  <bruno@clisp.org>
47880
47881         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
47882         * lib/fseeko.c: New file.
47883         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
47884         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
47885         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
47886         gl_FUNC_FSEEKO.
47887         (gl_FUNC_FSEEKO): Invoke it.
47888         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
47889         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
47890         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
47891
47892 2007-04-25  Bruno Haible  <bruno@clisp.org>
47893
47894         * modules/fflush (Depends-on): Add ftello.
47895
47896 2007-04-25  Bruno Haible  <bruno@clisp.org>
47897
47898         * modules/ftello-tests: New file.
47899         * tests/test-ftello.c: New file.
47900
47901         * modules/ftello: New file.
47902         * m4/ftello.m4: New file.
47903         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
47904         HAVE_FTELLO.
47905         * lib/stdio_.h (ftello): New declaration.
47906         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
47907         HAVE_FTELLO.
47908
47909 2007-04-25  Bruno Haible  <bruno@clisp.org>
47910
47911         * modules/fseeko-tests: New file.
47912         * tests/test-fseeko.c: New file.
47913
47914         * modules/fseeko: New file.
47915         * m4/fseeko.m4: New file.
47916         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
47917         HAVE_FSEEKO.
47918         * lib/stdio_.h (fseeko): New declaration.
47919         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
47920         HAVE_FSEEKO.
47921
47922 2007-04-25  Bruno Haible  <bruno@clisp.org>
47923
47924         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
47925
47926 2007-04-25  Bruno Haible  <bruno@clisp.org>
47927
47928         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
47929         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
47930         * tests/test-unistd.c: Likewise.
47931         * tests/test-fcntl.c: Likewise.
47932
47933 2007-04-23  Eric Blake  <ebb9@byu.net>
47934
47935         * lib/fflush.c: Fix missing include.
47936         Reported by Bruno Haible.
47937
47938 2007-04-23  Bruno Haible  <bruno@clisp.org>
47939
47940         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
47941         Reported by Eric Blake.
47942
47943 2007-04-23  Bruno Haible  <bruno@clisp.org>
47944
47945         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
47946
47947 2007-04-23  Bruno Haible  <bruno@clisp.org>
47948
47949         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
47950
47951 2007-04-23  Bruno Haible  <bruno@clisp.org>
47952
47953         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
47954         Needed on HP-UX 11.
47955
47956 2007-04-16  Eric Blake  <ebb9@byu.net>
47957
47958         Make fflush rely on fpurge.
47959         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
47960         open coding all variants.
47961         * modules/fflush (Depends-on): Add fpurge and unistd.
47962         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
47963         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
47964
47965         Fix --with-tests compilation on cygwin.
47966         * modules/argmatch-tests (Makefile.am): List gnulib library first
47967         in LDADD.
47968         * modules/argp-tests (Makefile.am): Likewise.
47969         * modules/array-list-tests (Makefile.am): Likewise.
47970         * modules/array-oset-tests (Makefile.am): Likewise.
47971         * modules/avltree-list-tests (Makefile.am): Likewise.
47972         * modules/avltree-oset-tests (Makefile.am): Likewise.
47973         * modules/avltreehash-list-tests (Makefile.am): Likewise.
47974         * modules/carray-list-tests (Makefile.am): Likewise.
47975         * modules/dirname-tests (Makefile.am): Likewise.
47976         * modules/frexp-tests (Makefile.am): Likewise.
47977         * modules/isnanl-tests (Makefile.am): Likewise.
47978         * modules/linked-list-tests (Makefile.am): Likewise.
47979         * modules/linkedhash-list-tests (Makefile.am): Likewise.
47980         * modules/lock-tests (Makefile.am): Likewise.
47981         * modules/rbtree-list-tests (Makefile.am): Likewise.
47982         * modules/rbtree-oset-tests (Makefile.am): Likewise.
47983         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
47984         * modules/tls-tests (Makefile.am): Likewise.
47985         * modules/tsearch-tests (Makefile.am): Likewise.
47986         * modules/xvasprintf-tests (Makefile.am): Likewise.
47987
47988         Fix fpurge for cygwin.
47989         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
47990         value.
47991         * modules/fpurge-tests (Depends-on): Clean up trash.
47992
47993 2007-04-16  Simon Josefsson  <simon@josefsson.org>
47994
47995         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
47996
47997         * m4/autobuild.m4: Re-indent.
47998
47999 2007-04-13  Bruno Haible  <bruno@clisp.org>
48000
48001         * modules/fpurge-tests: New file.
48002         * tests/test-fpurge.c: New file.
48003
48004         * modules/fpurge: New file.
48005         * lib/fpurge.h: New file.
48006         * lib/fpurge.c: New file.
48007         * m4/fpurge.m4: New file.
48008
48009 2007-04-13  Bruno Haible  <bruno@clisp.org>
48010
48011         * modules/fbufmode-tests: New file.
48012         * tests/test-fbufmode.c: New file.
48013
48014         * modules/fbufmode: New file.
48015         * lib/fbufmode.h: New file.
48016         * lib/fbufmode.c: New file.
48017         * m4/fbufmode.m4: New file.
48018
48019 2007-04-13  Bruno Haible  <bruno@clisp.org>
48020
48021         * modules/fwritable-tests: New file.
48022         * tests/test-fwritable.c: New file.
48023
48024         * modules/fwritable: New file.
48025         * lib/fwritable.h: New file.
48026         * lib/fwritable.c: New file.
48027         * m4/fwritable.m4: New file.
48028
48029 2007-04-13  Bruno Haible  <bruno@clisp.org>
48030
48031         * modules/freadable-tests: New file.
48032         * tests/test-freadable.c: New file.
48033
48034         * modules/freadable: New file.
48035         * lib/freadable.h: New file.
48036         * lib/freadable.c: New file.
48037         * m4/freadable.m4: New file.
48038
48039 2007-04-13  Bruno Haible  <bruno@clisp.org>
48040
48041         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
48042         MOSTLYCLEANFILES.
48043
48044 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
48045
48046         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
48047         gzip bootstrap.conf to avoid dragging in i18n machinery.
48048         (gnulib_tool_option): Use it.
48049
48050 2007-04-13  Bruno Haible  <bruno@clisp.org>
48051
48052         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
48053         %F directives.
48054         * tests/test-vasprintf-posix.c (test_function): Likewise.
48055         * tests/test-snprintf-posix.h (test_function): Likewise.
48056         * tests/test-sprintf-posix.h (test_function): Likewise.
48057         * tests/test-fprintf-posix.h (test_function): Likewise.
48058         * tests/test-printf-posix.h (test_function): Likewise.
48059         * tests/test-fprintf-posix.out: Likewise.
48060
48061 2007-04-13  Bruno Haible  <bruno@clisp.org>
48062
48063         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
48064         * modules/tls-tests (configure.ac): Likewise.
48065         Reported by Arto C. Nirkko <anirkko@insel.ch>.
48066
48067 2007-04-13  Bruno Haible  <bruno@clisp.org>
48068
48069         * lib/tls.c (glthread_tls_get): Fix return type.
48070         Patch by Arto C. Nirkko <anirkko@insel.ch>.
48071
48072 2007-04-12  Eric Blake  <ebb9@byu.net>
48073
48074         * modules/gettime (Depends-on): Remove gettime.
48075         Reported by Dmitry V. Levin.
48076
48077 2007-04-12  Bruno Haible  <bruno@clisp.org>
48078
48079         * modules/fflush (Include): Mention <stdio.h>.
48080         * modules/strtoimax (Include): Mention <inttypes.h>.
48081         * modules/strtoumax (Include): Likewise.
48082
48083 2007-04-12  Eric Blake  <ebb9@byu.net>
48084
48085         * .cvsignore: New file.
48086         * .gitignore: Likewise.
48087
48088 2007-04-12  Bruno Haible  <bruno@clisp.org>
48089
48090         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
48091         not before, since $(LDADD) often contains libgnu.a.
48092         * modules/striconv-tests (test_striconv_LDADD): Likewise.
48093         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
48094         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
48095         Needed on Cygwin.
48096
48097 2007-04-12  Eric Blake  <ebb9@byu.net>
48098
48099         Work around glibc's failure to flush stdin on fclose.
48100         * lib/closein.c (close_stdin): Flush stdin before closing.
48101
48102         Work around glibc's failure to reset seekable stdin on exit.
48103         * modules/closein: New module.
48104         * lib/closein.c: New file.
48105         * lib/closein.h: Likewise.
48106         * m4/closein.m4: Likewise.
48107         * MODULES.html.sh (File stream based Input/Output): Document it.
48108
48109 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48110
48111         * gnulib-tool: Rename generated 'autobuild' script to
48112         'do-autobuild' in --create-megatestdir output.
48113
48114         * doc/gnulib.texi (Build robot for gnulib): Fix.
48115
48116 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48117
48118         * modules/sysexits (Depends-on): Add absolute-header.
48119
48120 2007-04-12  Eric Blake  <ebb9@byu.net>
48121
48122         No need to preserve errno on success.
48123         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
48124         Reported by Bruno Haible.
48125
48126 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48127
48128         * MODULES.html.sh (Support for maintaining and releasing
48129         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
48130
48131 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48132
48133         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
48134
48135 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48136
48137         * modules/autobuild: New module.
48138
48139         * m4/autobuild.m4: New file.
48140
48141 2007-04-11  Bruno Haible  <bruno@clisp.org>
48142
48143         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
48144         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
48145         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
48146         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
48147         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48148         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48149         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48150         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
48151         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48152         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48153         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
48154         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48155         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48156         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
48157         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48158         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48159         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
48160         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48161         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48162         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
48163         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48164         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48165         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
48166         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48167         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48168         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
48169         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48170         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48171         Reported by Eric Blake.
48172
48173 2007-04-11  Bruno Haible  <bruno@clisp.org>
48174
48175         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
48176
48177 2007-04-10  Bruno Haible  <bruno@clisp.org>
48178
48179         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
48180         for NaN and Infinity. Needed on FreeBSD 6.1.
48181         * tests/test-vasnprintf-posix.c (test_function): Undo last change
48182         regarding results for "%010a" of Infinity and NaN.
48183         * tests/test-vasprintf-posix.c (test_function): Likewise.
48184         * tests/test-snprintf-posix.h (test_function): Likewise.
48185         * tests/test-sprintf-posix.h (test_function): Likewise.
48186         * tests/test-fprintf-posix.h (test_function): Likewise.
48187         * tests/test-printf-posix.h (test_function): Likewise.
48188         * tests/test-fprintf-posix.out: Likewise.
48189
48190 2007-04-10  Bruno Haible  <bruno@clisp.org>
48191
48192         * modules/locale-tests: New file.
48193         * tests/test-locale.c: New file.
48194
48195         * modules/locale: New file.
48196         * lib/locale_.h: New file.
48197         * m4/locale_h.m4: New file.
48198
48199 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
48200             Bruno Haible  <bruno@clisp.org>
48201
48202         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
48203         be determined, test for availability of the copysignf, copysign,
48204         copysignl functions.
48205         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
48206         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
48207         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
48208
48209 2007-04-09  Eric Blake  <ebb9@byu.net>
48210
48211         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
48212         * modules/stdio (Makefile.am): Support fflush.
48213         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48214         * modules/fflush: New file.
48215         * lib/fflush.c: Likewise.
48216         * m4/fflush.m4: Likewise.
48217         * modules/fflush-tests: New test.
48218         * tests/test-fflush.c: Likewise.
48219         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
48220
48221 2007-04-06  Bruno Haible  <bruno@clisp.org>
48222
48223         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
48224         (VASNPRINTF): Use signbit for faster determination whether to print a
48225         minus sign.
48226         * modules/vasnprintf (Files): Remove lib/float+.h.
48227         * modules/fprintf-posix (Depends-on): Add signbit.
48228         * modules/snprintf-posix (Depends-on): Likewise.
48229         * modules/sprintf-posix (Depends-on): Likewise.
48230         * modules/vasnprintf-posix (Depends-on): Likewise.
48231         * modules/vasprintf-posix (Depends-on): Likewise.
48232         * modules/vfprintf-posix (Depends-on): Likewise.
48233         * modules/vsnprintf-posix (Depends-on): Likewise.
48234         * modules/vsprintf-posix (Depends-on): Likewise.
48235
48236 2007-04-06  Bruno Haible  <bruno@clisp.org>
48237
48238         * tests/test-frexp.c (main): Test also the sign bit of zero results.
48239         * tests/test-frexpl.c (main): Likewise.
48240         * tests/test-ldexpl.c (main): Likewise.
48241         * modules/frexp-tests (Depends-on): Add signbit.
48242         * modules/frexpl-tests (Depdends-on): Likewise.
48243         * modules/ldexpl-tests (Depdends-on): Likewise.
48244
48245 2007-04-06  Bruno Haible  <bruno@clisp.org>
48246
48247         * modules/signbit-tests: New file.
48248         * tests/test-signbit.c: New file.
48249
48250         * modules/signbit: New file.
48251         * lib/signbitf.c: New file.
48252         * lib/signbitd.c: New file.
48253         * lib/signbitl.c: New file.
48254         * m4/signbit.m4: New file.
48255         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
48256         (signbit): New macro.
48257         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
48258         REPLACE_SIGNBIT.
48259         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
48260         REPLACE_FREXPL into math.h.
48261
48262 2007-04-06  Bruno Haible  <bruno@clisp.org>
48263
48264         * modules/isnanf-nolibm-tests: New file.
48265         * tests/test-isnanf.c: New file.
48266
48267         * modules/isnanf-nolibm: New file.
48268         * lib/isnanf.h: New file.
48269         * lib/isnanf.c: New file.
48270         * lib/isnan.c: Consider the USE_FLOAT macro.
48271         * m4/isnanf.m4: New file.
48272
48273 2007-04-06  Bruno Haible  <bruno@clisp.org>
48274
48275         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
48276         (Link): New section.
48277
48278         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
48279
48280 2007-04-06  Bruno Haible  <bruno@clisp.org>
48281
48282         Assume the 'long double' type.
48283         * m4/longdouble.m4: Remove file.
48284         * config/srclist.txt: Don't mention longdouble.m4.
48285         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
48286         * lib/float+.h: Likewise.
48287         * lib/frexp.c: Likewise.
48288         * lib/printf-args.h: Likewise.
48289         * lib/printf-args.c: Likewise.
48290         * lib/printf-frexp.c: Likewise.
48291         * lib/printf-parse.c: Likewise.
48292         * lib/vasnprintf.c: Likewise.
48293         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
48294         * m4/intl.m4: Likewise.
48295         * m4/isnanl.m4: Likewise.
48296         * m4/printf.m4: Likewise.
48297         * m4/printf-frexpl.m4: Likewise.
48298         * m4/vasnprintf.m4: Likewise.
48299         * modules/allocsa (Files): Remove m4/longdouble.m4.
48300         * modules/gettext (Files): Likewise.
48301         * modules/relocatable-prog-wrapper (Files): Likewise.
48302         * modules/vasnprintf (Files): Likewise.
48303         * modules/isnanl (Files): Likewise.
48304         (Include): Simplify.
48305         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
48306         (Include): Simplify.
48307         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
48308         (Include): Simplify.
48309         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
48310         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48311         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
48312         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48313         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
48314         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48315         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
48316         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48317         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
48318         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48319         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
48320         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48321         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
48322         * tests/test-isnanl.c: Likewise.
48323         * tests/test-snprintf-posix.h: Likewise.
48324         * tests/test-sprintf-posix.h: Likewise.
48325         * tests/test-vasnprintf-posix.c: Likewise.
48326         * tests/test-vasnprintf-posix2.c: Likewise.
48327         * tests/test-vasprintf-posix.c: Likewise.
48328
48329 2007-04-06  Bruno Haible  <bruno@clisp.org>
48330
48331         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
48332         * lib/math_.h [__DECC]: Include the overridden include file through
48333         #include_next, outside the double-inclusion guard.
48334         * lib/stdio_.h [__DECC]: Likewise.
48335         * lib/stdlib_.h [__DECC]: Likewise.
48336         * lib/string_.h [__DECC]: Likewise.
48337         * lib/time_.h [__DECC]: Likewise.
48338         * lib/wchar_.h [__DECC]: Likewise.
48339         * lib/wctype_.h [__DECC]: Likewise.
48340         * lib/inttypes_.h [__DECC]: Likewise.
48341         Reported by Albert Chin <china@thewrittenword.com> in
48342         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
48343
48344 2007-04-04  Eric Blake  <ebb9@byu.net>
48345
48346         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
48347         1.5.x.
48348
48349 2007-04-04  Bruno Haible  <bruno@clisp.org>
48350
48351         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
48352         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
48353
48354 2007-04-04  Bruno Haible  <bruno@clisp.org>
48355
48356         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
48357         results for "%010a" of Infinity and NaN.
48358         * tests/test-vasprintf-posix.c (test_function): Likewise.
48359         * tests/test-snprintf-posix.h (test_function): Likewise.
48360         * tests/test-sprintf-posix.h (test_function): Likewise.
48361         * tests/test-fprintf-posix.h (test_function): Remove these tests.
48362         * tests/test-printf-posix.h (test_function): Likewise.
48363         * tests/test-fprintf-posix.out: Update.
48364         Needed for FreeBSD 6.1.
48365
48366 2007-04-04  Bruno Haible  <bruno@clisp.org>
48367
48368         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
48369         directly used by the gnulib modules nor by gnulib-tool.
48370
48371 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
48372
48373         * DEPENDENCIES: Give overall description of version dependency
48374         desirability.  Use more-typical names for apps.
48375         Add shell, coreutils, diffutils, grep, tar, gzip.
48376
48377 2007-04-04  Simon Josefsson  <simon@josefsson.org>
48378
48379         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
48380
48381 2007-04-04  Karl Berry  <karl@gnu.org>
48382
48383         * MODULES.html.sh (func_module): missing '.
48384
48385 2007-04-03  Bruno Haible  <bruno@clisp.org>
48386
48387         * modules/argmatch-tests (Makefile.am): New variable
48388         test_argmatch_LDADD.
48389         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
48390         * modules/array-list-tests (Makefile.am): New variable
48391         test_array_list_LDADD.
48392         * modules/array-oset-tests (Makefile.am): New variable
48393         test_array_oset_LDADD.
48394         * modules/avltree-list-tests (Makefile.am): New variable
48395         test_avltree_list_LDADD.
48396         * modules/avltree-oset-tests (Makefile.am): New variable
48397         test_avltree_oset_LDADD.
48398         * modules/avltreehash-list-tests (Makefile.am): New variable
48399         test_avltreehash_list_LDADD.
48400         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
48401         test_canonicalize_lgpl_LDADD.
48402         * modules/carray-list-tests (Makefile.am): New variable
48403         test_carray_list_LDADD.
48404         * modules/dirname-tests (Makefile.am): New variable
48405         test_dirname_LDADD.
48406         * modules/linked-list-tests (Makefile.am): New variable
48407         test_linked_list_LDADD.
48408         * modules/linkedhash-list-tests (Makefile.am): New variable
48409         test_linkedhash_list_LDADD.
48410         * modules/rbtree-list-tests (Makefile.am): New variable
48411         test_rbtree_list_LDADD.
48412         * modules/rbtree-oset-tests (Makefile.am): New variable
48413         test_rbtree_oset_LDADD.
48414         * modules/rbtreehash-list-tests (Makefile.am): New variable
48415         test_rbtreehash_list_LDADD.
48416         * modules/xvasprintf-tests (Makefile.am): New variable
48417         test_xvasprintf_LDADD.
48418         Reported by Eric Blake.
48419
48420 2007-04-03  Eric Blake  <ebb9@byu.net>
48421
48422         * DEPENDENCIES: Weaken m4 requirements.
48423
48424 2007-04-03  Bruno Haible  <bruno@clisp.org>
48425
48426         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
48427         * modules/isnanl-tests (configure.ac): Likewise.
48428
48429 2007-04-03  Ben Pfaff  <blp@gnu.org>
48430
48431         * modules/iconv_open: Add $(srcdir)/ to source directory
48432         references in Makefile fragments that call gperf, to fix VPATH
48433         builds.
48434
48435 2007-04-03  Bruno Haible  <bruno@clisp.org>
48436
48437         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
48438         * lib/ldexpl.c: Undo last change.
48439
48440 2007-04-03  Bruno Haible  <bruno@clisp.org>
48441
48442         * modules/printf-frexpl (Depends-on): Undo last change.
48443         (Files): Add m4/ldexpl.m4.
48444
48445 2007-04-03  Bruno Haible  <bruno@clisp.org>
48446
48447         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
48448         * modules/isnanl (Link): New section.
48449
48450         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
48451         * modules/frexp (Link): New section.
48452
48453         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
48454         * modules/frexpl (Link): New section.
48455
48456         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
48457         * modules/ldexpl (Link): New section.
48458
48459 2007-04-03  Bruno Haible  <bruno@clisp.org>
48460
48461         * modules/TEMPLATE-EXTENDED: New file.
48462         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
48463
48464 2007-04-03  Bruno Haible  <bruno@clisp.org>
48465
48466         * DEPENDENCIES: New file.
48467         Suggested by Simon Josefsson.
48468
48469 2007-04-03  Bruno Haible  <bruno@clisp.org>
48470
48471         * doc/gnulib.texi: Escape @.
48472
48473 2007-04-03  James Youngman  <jay@gnu.org>
48474         and Paul Eggert  <eggert@cs.ucla.edu>
48475
48476         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
48477         birthtime on all systems that have birthtime, not just those which
48478         use st_birthtimensec rather than st_birthtim.  Putting zero in
48479         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
48480         that the birth time is not available for files on an NFS mount.
48481
48482 2007-04-03  Simon Josefsson  <simon@josefsson.org>
48483
48484         * modules/memxor: Move back from crypto/, suggested by Bruno.
48485         * modules/crypto/hmac-sha1: Fix memxor dependency.
48486
48487         * modules/crypto/gc: Moved from ../.
48488
48489 2007-04-02  Eric Blake  <ebb9@byu.net>
48490
48491         * lib/ldexpl.c (includes): Avoid libm.
48492
48493         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
48494
48495 2007-04-02  Bruno Haible  <bruno@clisp.org>
48496
48497         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
48498         on IRIX.
48499
48500 2007-04-02  Bruno Haible  <bruno@clisp.org>
48501
48502         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
48503         x86 or x86_64 platforms running MacOS X.
48504         Reported by Ryan Schmidt <@ryandesign.com>.
48505
48506 2007-04-02  Bruno Haible  <bruno@clisp.org>
48507
48508         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
48509         i386.
48510
48511 2007-04-01  Simon Josefsson  <simon@josefsson.org>
48512
48513         * modules/crypto/arcfour: Moved from ../.
48514         * modules/crypto/arcfour-tests: Moved from ../.
48515         * modules/crypto/arctwo: Moved from ../.
48516         * modules/crypto/arctwo-tests: Moved from ../.
48517         * modules/crypto/des: Moved from ../.
48518         * modules/crypto/des-tests: Moved from ../.
48519         * modules/crypto/gc-arcfour: Moved from ../.
48520         * modules/crypto/gc-arcfour-tests: Moved from ../.
48521         * modules/crypto/gc-arctwo: Moved from ../.
48522         * modules/crypto/gc-arctwo-tests: Moved from ../.
48523         * modules/crypto/gc-des: Moved from ../.
48524         * modules/crypto/gc-des-tests: Moved from ../.
48525         * modules/crypto/gc-hmac-md5: Moved from ../.
48526         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
48527         * modules/crypto/gc-hmac-sha1: Moved from ../.
48528         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
48529         * modules/crypto/gc-md2: Moved from ../.
48530         * modules/crypto/gc-md2-tests: Moved from ../.
48531         * modules/crypto/gc-md4: Moved from ../.
48532         * modules/crypto/gc-md4-tests: Moved from ../.
48533         * modules/crypto/gc-md5: Moved from ../.
48534         * modules/crypto/gc-md5-tests: Moved from ../.
48535         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
48536         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
48537         * modules/crypto/gc-random: Moved from ../.
48538         * modules/crypto/gc-rijndael: Moved from ../.
48539         * modules/crypto/gc-rijndael-tests: Moved from ../.
48540         * modules/crypto/gc-sha1: Moved from ../.
48541         * modules/crypto/gc-sha1-tests: Moved from ../.
48542         * modules/crypto/gc-tests: Moved from ../.
48543         * modules/crypto/hmac-md5: Moved from ../.
48544         * modules/crypto/hmac-md5-tests: Moved from ../.
48545         * modules/crypto/hmac-sha1: Moved from ../.
48546         * modules/crypto/hmac-sha1-tests: Moved from ../.
48547         * modules/crypto/md2: Moved from ../.
48548         * modules/crypto/md2-tests: Moved from ../.
48549         * modules/crypto/md4: Moved from ../.
48550         * modules/crypto/md4-tests: Moved from ../.
48551         * modules/crypto/md5: Moved from ../.
48552         * modules/crypto/md5-tests: Moved from ../.
48553         * modules/crypto/memxor: Moved from ../.
48554         * modules/crypto/rijndael: Moved from ../.
48555         * modules/crypto/rijndael-tests: Moved from ../.
48556         * modules/crypto/sha1: Moved from ../.
48557
48558 2007-03-30  James Youngman  <jay@gnu.org>
48559
48560         * tests/test-stat-time.c (prepare_test): use chmod() rather than
48561         rename() to change the ctime of a file (because ctime is unaffected
48562         by rename on jfs2 on AIX 5.1).
48563         (main): Start by doing cleanup, in case a previous run failed leaving
48564         test files behind.
48565
48566 2007-03-31  Bruno Haible  <bruno@clisp.org>
48567
48568         Support old proprietary implementations of iconv.
48569         * modules/iconv_open: New file.
48570         * lib/iconv_.h: New file.
48571         * m4/iconv_h.m4: New file.
48572         * lib/iconv_open.c: New file.
48573         * lib/iconv_open-aix.gperf: New file.
48574         * lib/iconv_open-hpux.gperf: New file.
48575         * lib/iconv_open-irix.gperf: New file.
48576         * lib/iconv_open-osf.gperf: New file.
48577         * m4/iconv_open.m4: New file.
48578         * modules/linebreak (Depends-on): Add iconv_open.
48579         * modules/striconv (Depends-on): Likewise.
48580         * modules/striconveh (Depends-on): Likewise.
48581         * modules/unicodeio (Depends-on): Likewise.
48582         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
48583         (iconv_t)(-1).
48584         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
48585         conversion if cd is (iconv_t)(-1).
48586         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
48587         is not possible.
48588
48589 2007-03-31  Bruno Haible  <bruno@clisp.org>
48590
48591         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
48592         work on Solaris either. Protect also second use of "autodetect_jp".
48593
48594 2007-03-31  Bruno Haible  <bruno@clisp.org>
48595
48596         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
48597         the function is not present.
48598
48599 2007-03-31  Bruno Haible  <bruno@clisp.org>
48600
48601         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
48602         the function is not present.
48603
48604 2007-03-31  Bruno Haible  <bruno@clisp.org>
48605
48606         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
48607         a bug in HP-UX iconv_open().
48608
48609 2007-03-31  Bruno Haible  <bruno@clisp.org>
48610
48611         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
48612         (Mathematics <math.h>): New section, add fpieee.
48613         (Input/output <stdio.h>): Add fseterr.
48614         (Mathematics <math.h>): New section, add printf-frexp.
48615         (Container data structures): Add sublist.
48616         (Core language properties): Add fpucw, inline.
48617         (Functions for greatest-width integer types <inttypes.h>): Add
48618         imaxabs, imaxdiv, inttypes.
48619         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
48620         isnanl-nolibm, ldexp.
48621         (Mathematics <math.h>): New section, add printf-frexpl.
48622         (Support for systems lacking POSIX:2001): Add fprintf-posix,
48623         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
48624         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
48625         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
48626         (Unicode string functions): Add unistr/u*-mbtoucr.
48627         (Java): Add javacomp-script, javaexec-script.
48628         (C#): Add csharpcomp-script, csharpexec-script.
48629         (Support for building libraries and executables): Add havelib,
48630         relocatable-*.
48631         (Support for maintaining and releasing projects): Renamed from
48632         'Support for maintaining and release projects'. Add announce-gen.
48633
48634 2007-03-31  Bruno Haible  <bruno@clisp.org>
48635
48636         * README: Talk primarily about git.
48637         (git and CVS): Renamed from CVS.
48638         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
48639         gnulib is available through git.
48640         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
48641
48642 2007-03-30  Bruno Haible  <bruno@clisp.org>
48643
48644         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
48645         * lib/poll_.h: Likewise.
48646         * lib/stat_.h: Likewise.
48647         * lib/sys_time_.h: Likewise.
48648         * lib/sysexit_.h: Likewise.
48649         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
48650         * lib/stdbool_.h: Likewise.
48651         * lib/byteswap_.h: Add double-inclusion guard.
48652
48653 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
48654
48655         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
48656
48657 2007-03-30  Karl Berry  <karl@gnu.org>
48658
48659         * config/srclist-update: double space after USA in the license
48660         substitution, since that's how it's usually (?) written.
48661
48662 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
48663
48664         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
48665         reported by Bruno Haible.
48666
48667 2007-03-29  Bruno Haible  <bruno@clisp.org>
48668
48669         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
48670         a bug in AIX iconv().
48671
48672 2007-03-29  Bruno Haible  <bruno@clisp.org>
48673
48674         * modules/ldexpl-tests: New file.
48675         * tests/test-ldexpl.c: New file.
48676
48677 2007-03-29  Bruno Haible  <bruno@clisp.org>
48678
48679         * lib/ldexpl.c: Include fpucw.h.
48680         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
48681         multiplication.
48682         * modules/ldexpl (Depends-on): Add fpucw.
48683
48684 2007-03-29  Bruno Haible  <bruno@clisp.org>
48685
48686         * modules/ldexpl: New file.
48687         * m4/ldexpl.m4: New file.
48688         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
48689         set.
48690         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
48691         REPLACE_LDEXPL.
48692         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
48693         REPLACE_LDEXPL.
48694         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
48695         gl_FUNC_LDEXPL_WORKS.
48696         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
48697         * modules/mathl (Files): Remove lib/ldexpl.c.
48698         (Depends-on): Add ldexpl.
48699
48700 2007-03-29  Bruno Haible  <bruno@clisp.org>
48701
48702         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
48703
48704 2007-03-29  Bruno Haible  <bruno@clisp.org>
48705
48706         * tests/test-striconveh.c (main): Don't assume that a direct conversion
48707         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
48708         and possibly also HP-UX.
48709         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
48710         work on AIX, IRIX, HP-UX, OSF/1.
48711         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
48712         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
48713         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
48714         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
48715         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
48716         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
48717
48718 2007-03-29  Bruno Haible  <bruno@clisp.org>
48719
48720         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
48721
48722 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
48723
48724         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
48725         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
48726
48727 2007-03-29  Eric Blake  <ebb9@byu.net>
48728
48729         * lib/acl-internal.h: Remove redundant include.
48730         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
48731         Cygwin when a file is locked.
48732
48733 2007-03-29  Bruno Haible  <bruno@clisp.org>
48734
48735         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
48736         file.
48737         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
48738
48739 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
48740
48741         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
48742         try to remove a parent directory if the child couldn't be removed
48743         (except for the first rmdir, which could fail because the child
48744         doesn't exist).  Problem reported by Jeff Blaine in
48745         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
48746
48747 2007-03-28  Bruno Haible  <bruno@clisp.org>
48748
48749         * lib/striconveh.c (utf8conv_carefully): New function.
48750         (mem_cd_iconveh_internal): Invoke it.
48751
48752 2007-03-28  Bruno Haible  <bruno@clisp.org>
48753
48754         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
48755         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
48756         input.
48757         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
48758         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
48759         unistr/u8-uctomb.
48760
48761 2007-03-28  Bruno Haible  <bruno@clisp.org>
48762
48763         * modules/unistr/u8-mbtoucr: New file.
48764         * lib/unistr/u8-mbtoucr.c: New file.
48765         * modules/unistr/u16-mbtoucr: New file.
48766         * lib/unistr/u16-mbtoucr.c: New file.
48767         * modules/unistr/u16-mbtoucr: New file.
48768         * lib/unistr/u16-mbtoucr.c: New file.
48769         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
48770
48771 2007-03-27  Simon Josefsson  <simon@josefsson.org>
48772             Bruno Haible  <bruno@clisp.org>
48773
48774         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
48775         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
48776         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
48777
48778         * m4/stdio_h.m4: Add stubs for vasprintf too.
48779
48780         * modules/stdio: Support vasprintf in sed command.
48781
48782         * modules/vasprintf: Depend on stdio for prototypes.  Remove
48783         vasprintf.h.  Add stdio module indicator.
48784
48785         * lib/stdio_.h: Declare asprintf and vasprintf, based on
48786         vasprintf.h.
48787
48788         * lib/vasprintf.h: File removed.
48789
48790         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
48791         * lib/vasprintf.c: Ditto.
48792         * lib/xvasprintf.c: Ditto.
48793         * tests/test-vasprintf-posix.c: Ditto.
48794         * tests/test-vasprintf.c: Ditto.
48795
48796 2007-03-27  Bruno Haible  <bruno@clisp.org>
48797
48798         Make vasnprintf multithread-safe.
48799         * lib/vasnprintf.c (decimal_point_char): New function.
48800         (VASNPRINTF): Use it.
48801         Suggested by Simon Josefsson.
48802
48803 2007-03-27  Eric Blake  <ebb9@byu.net>
48804
48805         Support sub-second birthtime on cygwin.
48806         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
48807         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
48808         (get_stat_birthtime): Also work with st_birthtim.
48809
48810 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
48811
48812         * lib/stat-time.h (USE_BIRTHTIME): Remove.
48813         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
48814         (get_stat_birthtime_ns): Do not try to use "spare" fields.
48815         (get_stat_birthtime_ns): Simplify compile-time tests.
48816         (get_stat_birthtime): Change the API to look like
48817         get_stat_mtime etc., except return a negative tv_nsec on error.
48818         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
48819         Don't check for "spare" fields.
48820         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
48821         or for struct stat.st_birthtime, as these tests aren't used.
48822         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
48823
48824 2007-03-27  Bruno Haible  <bruno@clisp.org>
48825
48826         * lib/stat-time.h: Include <sys/stat.h>.
48827
48828 2007-03-27  James Youngman  <jay@gnu.org>
48829
48830         * lib/stat-time.h (get_stat_birthtime): New function for
48831           retrieving st_birthtime as provided by UFS2 (hence *BSD).
48832         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
48833           and its variants.
48834         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
48835         * modules/stat-time-test: New file.
48836         * tests/test-stat-time.c: New test, devised by Bruno Haible.
48837
48838 2007-03-26  Bruno Haible  <bruno@clisp.org>
48839
48840         Better support of signalling NaNs.
48841         * lib/atanl.c: Include isnanl.h.
48842         (atanl): Perform test for NaN at the beginning of the function and
48843         through a call to isnanl.
48844         * lib/cosl.c: Include isnanl.h.
48845         (cosl): Perform test for NaN at the beginning of the function and
48846         through a call to isnanl.
48847         * lib/ldexpl.c: Include isnanl.h.
48848         (ldexpl): Perform test for NaN through a call to isnanl.
48849         * lib/logl.c: Include isnanl.h.
48850         (logl): Perform test for NaN at the beginning of the function and
48851         through a call to isnanl.
48852         * lib/sinl.c: Include isnanl.h.
48853         (sinl): Perform test for NaN at the beginning of the function and
48854         through a call to isnanl.
48855         * lib/sqrtl.c: Include isnanl.h.
48856         (sqrtl): Perform test for NaN at the beginning of the function and
48857         through a call to isnanl.
48858         * lib/tanl.c: Include isnanl.h.
48859         (tanl): Perform test for NaN at the beginning of the function and
48860         through a call to isnanl.
48861         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
48862         * modules/mathl (Depends-on): Add isnanl.
48863
48864 2007-03-26  Eric Blake  <ebb9@byu.net>
48865
48866         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
48867         regression in logic sense of previous patch.
48868
48869 2007-03-26  Bruno Haible  <bruno@clisp.org>
48870
48871         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
48872         unportable shell command "if ! ...".
48873         Reported by Ralf Wildenhues.
48874
48875 2007-03-25  Bruno Haible  <bruno@clisp.org>
48876
48877         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
48878         <sysexits.h> file, and only add EX_CONFIG.
48879         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
48880         absolute file name and whether it is sufficient. Substitute also
48881         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
48882         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
48883         ABSOLUTE_SYSEXITS_H into sysexits.h.
48884
48885 2007-03-25  Bruno Haible  <bruno@clisp.org>
48886
48887         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
48888         hints is NULL.
48889
48890 2007-03-25  Bruno Haible  <bruno@clisp.org>
48891
48892         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
48893         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
48894
48895 2007-03-25  Bruno Haible  <bruno@clisp.org>
48896
48897         * lib/vasnprintf.c: Include langinfo.h.
48898         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
48899         multithread-safe.
48900         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
48901         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
48902         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48903         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48904         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48905         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48906         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48907         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
48908         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48909         Reported by Simon Josefsson.
48910
48911 2007-03-25  Bruno Haible  <bruno@clisp.org>
48912
48913         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
48914         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
48915         * modules/vasnprintf (Depends-on): Add stdint.
48916
48917 2007-03-25  Bruno Haible  <bruno@clisp.org>
48918
48919         * modules/fpieee: New file.
48920         * m4/fpieee.m4: New file.
48921         * modules/isnan-nolibm (Depends-on): Add fpieee.
48922         * modules/isnanl-nolibm (Depends-on): Add fpieee.
48923         * modules/isnanl (Depends-on): Add fpieee.
48924
48925 2007-03-25  Bruno Haible  <bruno@clisp.org>
48926
48927         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
48928
48929 2007-03-25  Bruno Haible  <bruno@clisp.org>
48930
48931         Avoid test failures on IRIX 6.5.
48932         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
48933         (main): Use it.
48934         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
48935         macros.
48936         (main): Use them.
48937
48938 2007-03-25  Bruno Haible  <bruno@clisp.org>
48939
48940         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
48941         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
48942         exists but doesn't work.
48943         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
48944         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
48945         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
48946         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
48947
48948 2007-03-25  Bruno Haible  <bruno@clisp.org>
48949
48950         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
48951         returns inf. Needed on IRIX 6.5.
48952
48953 2007-03-25  Bruno Haible  <bruno@clisp.org>
48954
48955         * tests/test-frexpl.c: Include isnanl-nolibm.h.
48956         (main): Use isnanl instead of x != x idiom.
48957         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
48958
48959         * tests/test-frexp.c: Include isnan.h.
48960         (main): Use isnan instead of x != x idiom.
48961         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
48962
48963 2007-03-25  Bruno Haible  <bruno@clisp.org>
48964
48965         * tests/test-frexp.c (NaN): New function/macro.
48966         (main): Use it instead of 0.0 / 0.0.
48967         * tests/test-isnan.c (NaN): New function/macro.
48968         (main): Use it instead of 0.0 / 0.0.
48969         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
48970         (test_function): Use it instead of 0.0 / 0.0.
48971         * tests/test-vasprintf-posix.c (NaN): New function/macro.
48972         (test_function): Use it instead of 0.0 / 0.0.
48973         * tests/test-snprintf-posix.h (NaN): New function/macro.
48974         (test_function): Use it instead of 0.0 / 0.0.
48975         * tests/test-sprintf-posix.h (NaN): New function/macro.
48976         (test_function): Use it instead of 0.0 / 0.0.
48977         * tests/test-fprintf-posix.h (NaN): New function/macro.
48978         (test_function): Use it instead of 0.0 / 0.0.
48979         * tests/test-printf-posix.h (NaN): New function/macro.
48980         (test_function): Use it instead of 0.0 / 0.0.
48981
48982         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
48983
48984 2007-03-25  Bruno Haible  <bruno@clisp.org>
48985
48986         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
48987
48988 2007-03-25  Bruno Haible  <bruno@clisp.org>
48989
48990         * lib/regexec.c (merge_state_with_log): Make static.
48991
48992 2007-03-25  Bruno Haible  <bruno@clisp.org>
48993
48994         * lib/trigl.c (kernel_rem_pio2): Make static.
48995
48996 2007-03-25  Bruno Haible  <bruno@clisp.org>
48997
48998         * lib/sincosl.c (sincosl_table): Make static.
48999
49000 2007-03-25  Bruno Haible  <bruno@clisp.org>
49001
49002         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
49003         if the compiler does not support C99.
49004
49005 2007-03-25  Bruno Haible  <bruno@clisp.org>
49006
49007         * modules/time (Makefile.am): Ensure all rule action lines start with a
49008         tab.
49009
49010 2007-03-24  Bruno Haible  <bruno@clisp.org>
49011
49012         * modules/tsearch-tests: New file.
49013         * tests/test-tsearch.sh: New file.
49014         * tests/test-tsearch.c: New file, mostly copied from glibc.
49015
49016         * modules/search-tests: New file.
49017         * tests/test-search.c: New file.
49018
49019         * modules/search: New file.
49020         * lib/search_.h: New file, incorporating lib/tsearch.h.
49021         * m4/search_h.m4: New file.
49022         * lib/tsearch.h: Remove file.
49023         * lib/tsearch.c: Include search.h instead of tsearch.h.
49024         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
49025         HAVE_TSEARCH.
49026         * modules/tsearch (Files): Remove lib/tsearch.h.
49027         (Depends-on): Add search.
49028         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
49029         (Include): Change tsearch.h into search.h.
49030
49031 2007-03-24  Bruno Haible  <bruno@clisp.org>
49032
49033         * modules/fpucw: New file.
49034         * lib/fpucw.h: New file.
49035         * lib/frexp.c: Include fpucw.h.
49036         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
49037         (FUNC): Use them.
49038         * lib/printf-frexp.c: Include fpucw.h.
49039         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
49040         (FUNC): Use them.
49041         * lib/vasnprintf.c: Include fpucw.h.
49042         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
49043         'long double' calculations.
49044         * tests/test-frexpl.c: Include fpucw.h.
49045         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
49046         * tests/test-printf-frexpl.c: Include fpucw.h.
49047         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
49048         * modules/frexpl (Depends-on): Add fpucw.
49049         * modules/printf-frexpl (Depends-on): Likewise.
49050         * modules/fprintf-posix (Depends-on): Likewise.
49051         * modules/snprintf-posix (Depends-on): Likewise.
49052         * modules/sprintf-posix (Depends-on): Likewise.
49053         * modules/vasnprintf-posix (Depends-on): Likewise.
49054         * modules/vasprintf-posix (Depends-on): Likewise.
49055         * modules/vfprintf-posix (Depends-on): Likewise.
49056         * modules/vsnprintf-posix (Depends-on): Likewise.
49057         * modules/vsprintf-posix (Depends-on): Likewise.
49058         * modules/frexpl-tests (Depends-on): Likewise.
49059         * modules/printf-frexpl-tests (Depends-on): Likewise.
49060
49061 2007-03-24  Bruno Haible  <bruno@clisp.org>
49062
49063         * lib/float+.h: New file.
49064         * lib/isnan.c: Include float+.h.
49065         (SIZE): New macro.
49066         (FUNC): Compare only SIZE bytes of the value.
49067         * lib/vasnprintf.c: Include float+.h.
49068         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
49069         SIZEOF_LDBL or SIZEOF_DBL bytes.
49070         * modules/isnan-nolibm (Files): Add lib/float+.h.
49071         * modules/isnanl-nolibm (Files): Add lib/float+.h.
49072         * modules/isnanl (Files): Add lib/float+.h.
49073         * modules/vasnprintf (Files): Add lib/float+.h.
49074
49075 2007-03-24  Bruno Haible  <bruno@clisp.org>
49076
49077         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
49078         include isnanl-nolibm.h.
49079
49080 2007-03-24  Bruno Haible  <bruno@clisp.org>
49081
49082         * tests/test-read-file.c (main): Don't produce spurious output for
49083         expected situations. Make the test fail if it encountered unexpected
49084         results.
49085
49086 2007-03-24  Bruno Haible  <bruno@clisp.org>
49087
49088         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
49089         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
49090
49091 2007-03-24  Bruno Haible  <bruno@clisp.org>
49092
49093         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
49094
49095 2007-03-24  Bruno Haible  <bruno@clisp.org>
49096
49097         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
49098         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
49099
49100         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
49101         * modules/utf8-ucs4: Turn into a symbolic link to module
49102         unistr/u8-mbtouc.
49103
49104         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
49105         utf8-ucs4-unsafe.
49106         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
49107         unistr/u8-mbtouc-unsafe.
49108
49109         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
49110         * modules/utf16-ucs4: Turn into a symbolic link to module
49111         unistr/u16-mbtouc.
49112
49113         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
49114         utf16-ucs4-unsafe.
49115         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
49116         unistr/u16-mbtouc-unsafe.
49117
49118         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
49119         * modules/ucs4-utf8: Turn into a symbolic link to module
49120         unistr/u8-ubtomb.
49121
49122         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
49123         * modules/ucs4-utf16: Turn into a symbolic link to module
49124         unistr/u16-ubtomb.
49125
49126 2007-03-24  Bruno Haible  <bruno@clisp.org>
49127
49128         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
49129         Enable the function only if HAVE_INLINE.
49130         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
49131         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
49132         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
49133         Enable the function only if HAVE_INLINE.
49134         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
49135         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
49136         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
49137         Enable the function only if HAVE_INLINE.
49138         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
49139         Enable the function only if HAVE_INLINE.
49140         * modules/utf8-ucs4: Update.
49141         * modules/utf8-ucs4-unsafe: Update.
49142         * modules/utf16-ucs4: Update.
49143         * modules/utf16-ucs4-unsafe: Update.
49144         * modules/ucs4-utf8: Update.
49145         * modules/ucs4-utf16: Update.
49146
49147 2007-03-24  Bruno Haible  <bruno@clisp.org>
49148
49149         * lib/utf8-ucs4.h: Remove file.
49150         * lib/utf8-ucs4-unsafe.h: Remove file.
49151         * lib/utf16-ucs4.h: Remove file.
49152         * lib/utf16-ucs4-unsafe.h: Remove file.
49153         * lib/ucs4-utf8.h: Remove file.
49154         * lib/ucs4-utf16.h: Remove file.
49155         * lib/unistr.h: Include their previous contents.
49156         * m4/utf-ucs4.m4: Remove file.
49157         * m4/ucs4-utf.m4: Remove file.
49158         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
49159         (Depends-on): Add unistr/base.
49160         (configure.ac): Remove gl_UTF_UCS4.
49161         (Makefile.am): Update.
49162         (Include): Change to unistr.h.
49163         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.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/utf16-ucs4 (Files): Remove lib/utf16-ucs4.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-unsafe (Files): Remove lib/utf16-ucs4-unsafe.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/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
49179         (Depends-on): Add unistr/base.
49180         (configure.ac): Remove gl_UCS4_UTF.
49181         (Makefile.am): Update.
49182         (Include): Change to unistr.h.
49183         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.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         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
49189         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
49190         utf8-ucs4-unsafe.h.
49191         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
49192         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
49193         utf16-ucs4-unsafe.h.
49194         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
49195         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
49196         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
49197         * lib/unistr/u8-strchr.c: Likewise.
49198         * lib/unistr/u8-strrchr.c: Likewise.
49199         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
49200         * lib/unistr/u16-strchr.c: Likewise.
49201         * lib/unistr/u16-strrchr.c: Likewise.
49202         * lib/striconveh.c: Update.
49203         * lib/linebreak.c: Update.
49204
49205 2007-03-24  Bruno Haible  <bruno@clisp.org>
49206
49207         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
49208         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
49209
49210 2007-03-22  Bruno Haible  <bruno@clisp.org>
49211
49212         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
49213
49214 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
49215
49216         * MODULES.html.sh (File system functions): New module write-any-file.
49217         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
49218         * m4/write-any-file.m4: New files.
49219
49220 2007-03-23  Eric Blake  <ebb9@byu.net>
49221
49222         * gnulib-tool: Rearrange space-tab sequences, since some editors
49223         like to eat them.
49224
49225 2007-03-23  Eric Blake  <ebb9@byu.net>
49226
49227         * lib/version-etc.c (version_etc_va): Update license wording to
49228         be more concise.  Recommended by Richard Stallman.
49229
49230 2007-03-22  Bruno Haible  <bruno@clisp.org>
49231
49232         * lib/poll.c (MSG_PEEK): New fallback definition.
49233
49234 2007-03-22  Bruno Haible  <bruno@clisp.org>
49235
49236         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
49237         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
49238         (main): Update.
49239         Fixes a compilation error on BeOS.
49240
49241 2007-03-22  Bruno Haible  <bruno@clisp.org>
49242
49243         * modules/frexpl-tests: New file.
49244         * tests/test-frexpl.c: New file.
49245
49246         * modules/frexpl: New file.
49247         * m4/frexpl.m4: New file.
49248         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
49249         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
49250         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
49251         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
49252         (Depends-on): Add frexpl. Remove isnanl-nolibm.
49253         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
49254
49255 2007-03-22  Bruno Haible  <bruno@clisp.org>
49256
49257         * lib/frexpl.c: Share code with lib/frexp.c.
49258         * modules/mathl (Files): Add lib/frexp.c.
49259         (Depends-on): Add isnanl-nolibm.
49260
49261 2007-03-22  Bruno Haible  <bruno@clisp.org>
49262
49263         * modules/printf-frexp (Files): Add m4/frexp.m4.
49264         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
49265         only if the found frexp function actually works.
49266
49267 2007-03-22  Bruno Haible  <bruno@clisp.org>
49268
49269         * lib/frexp.c: Remove older implementation that uses divisions.
49270
49271 2007-03-21  Bruno Haible  <bruno@clisp.org>
49272
49273         * modules/frexp-tests: New file.
49274         * tests/test-frexp.c: New file.
49275
49276         * modules/frexp: New file.
49277         * lib/frexp.c: New file.
49278         * m4/frexp.m4: New file.
49279         * lib/math_.h (frexp): New declaration.
49280         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
49281         REPLACE_FREXP.
49282         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
49283
49284 2007-03-21  Bruno Haible  <bruno@clisp.org>
49285
49286         * modules/isnanl-tests: New file.
49287         * tests/test-isnanl.c: New file.
49288
49289         * modules/isnanl: New file.
49290         * lib/isnanl.h: New file.
49291         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
49292         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
49293         gl_FUNC_ISNANL_WORKS.
49294         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
49295         New macros.
49296
49297 2007-03-21  Bruno Haible  <bruno@clisp.org>
49298
49299         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
49300         lib/isnanl.h.
49301         (Include): Update.
49302         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
49303         * lib/vasnprintf.c: Update.
49304         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
49305         tests/test-isnanl.h, remove tests/test-isnanl.c.
49306         (Makefile.am): Update.
49307         * tests/test-isnanl-nolibm.c: New file.
49308         * tests/test-isnanl.h: New file.
49309         * tests/test-isnanl.c: Remove file.
49310
49311 2007-03-21  Jim Meyering  <jim@meyering.net>
49312
49313         When trying to open ".", treat ESTALE like EACCES.
49314         * lib/savewd.c (savewd_save): Resort to forking not just upon
49315         failure with EACCES, but also when errno is ESTALE.
49316
49317 2007-03-20  Bruno Haible  <bruno@clisp.org>
49318
49319         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
49320         Needed on AIX 5.1. Reported by Matthew Woehlke.
49321
49322 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
49323
49324         Suggestions by Bruno Haible:
49325         * lib/acl-internal.h: Include "gettext.h" rather than rolling
49326         our own.
49327         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
49328         * modules/acl (Depends-on): Add gettext.
49329
49330 2007-03-19  Bruno Haible  <bruno@clisp.org>
49331
49332         * modules/iconvme: Remove file.
49333         * lib/iconvme.h: Remove file.
49334         * lib/iconvme.c: Remove file.
49335         * m4/iconvme.m4: Remove file.
49336
49337 2007-03-19  Bruno Haible  <bruno@clisp.org>
49338
49339         * doc/relocatable-maint.texi: Break long shell script line.
49340         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
49341
49342 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
49343
49344         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
49345         handle file_has_acl.
49346         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
49347         * lib/acl.c: Move header inclusions and related macro defns into
49348         lib/acl-internal.h.
49349         (S_ISLNK): Remove defn, since that's now done for us.
49350         (file_has_acl): Move to lib/file-has-acl.c.
49351         Call acl_trivial if available.  This is the crucial part of the fix.
49352         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
49353         shared within the library.  Rewrite a bit, partly to make it compatible
49354         with the GNU coding style.
49355         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
49356         Remove unnecessary double-quotes.
49357         Don't test for acl_to_text; the build will catch that.
49358         Replace acl_entries if it doesn't exist and it is needed.
49359         Check for -lsec and acl_trivial (as used on Solaris 10).
49360         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
49361         lib/file-has-acl.c.
49362         (Depends-on): Add sys_stat, for S_ISLNK.
49363
49364 2007-03-19  Ben Pfaff  <blp@gnu.org>
49365
49366         * doc/gnulib.texi: Fix typos.
49367         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
49368
49369 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
49370
49371         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
49372         If size is zero here, buf must be zero.
49373
49374 2007-03-19  Simon Josefsson  <simon@josefsson.org>
49375
49376         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
49377         <bruno@clisp.org>.
49378
49379 2007-03-18  Bruno Haible  <bruno@clisp.org>
49380
49381         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
49382         Suggested by Eric Blake.
49383
49384 2007-03-18  Ben Pfaff  <blp@gnu.org>
49385
49386         * doc/relocatable.texi: Recommend using as prefix a directory
49387         that does not exist and will never be created.  Based on
49388         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
49389         and others.
49390
49391 2007-03-17  Bruno Haible  <bruno@clisp.org>
49392
49393         * lib/fchownat.c: Include lchown.h.
49394
49395 2007-03-17  Bruno Haible  <bruno@clisp.org>
49396
49397         Fix endless loop when the given allocated size was > INT_MAX.
49398         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
49399         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
49400         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
49401         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
49402         * lib/sprintf.c (sprintf): Likewise.
49403
49404 2007-03-17  Bruno Haible  <bruno@clisp.org>
49405
49406         * tests/test-argp-2.sh (func_compare): Output a context diff.
49407
49408 2007-03-17  Bruno Haible  <bruno@clisp.org>
49409
49410         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
49411         locale's decimal-point character.
49412
49413 2007-03-17  Bruno Haible  <bruno@clisp.org>
49414
49415         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
49416         before comparing it. Needed because on some platforms (e.g. x86) a
49417         'long double' occupies less bytes than sizeof (long double).
49418
49419 2007-03-17  Bruno Haible  <bruno@clisp.org>
49420
49421         * tests/test-crc.c (main): Make printf statements 64-bit clean.
49422         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
49423         * tests/test-getaddrinfo.c (simple): Likewise.
49424         * tests/test-read-file.c (main): Likewise.
49425
49426 2007-03-17  Bruno Haible  <bruno@clisp.org>
49427
49428         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
49429
49430 2007-03-17  Bruno Haible  <bruno@clisp.org>
49431
49432         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
49433         unused variable.
49434
49435 2007-03-17  Bruno Haible  <bruno@clisp.org>
49436
49437         * tests/test-c-strcasecmp.c: Include c-strcase.h.
49438         * tests/test-c-strncasecmp.c: Likewise.
49439
49440 2007-03-17  Bruno Haible  <bruno@clisp.org>
49441
49442         * modules/stdlib (Depends-on): Add unistd.
49443         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
49444         Needed for MacOS X 10.3.
49445
49446 2007-03-17  Bruno Haible  <bruno@clisp.org>
49447
49448         * lib/unistr/u-strdup.h: Include <stdlib.h>.
49449
49450 2007-03-17  Bruno Haible  <bruno@clisp.org>
49451
49452         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
49453
49454 2007-03-17  Bruno Haible  <bruno@clisp.org>
49455
49456         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
49457         to reflect files copied from gnulib (with or without modifications).
49458         Suggested by Jim Meyering.
49459
49460 2007-03-17  Eric Blake  <ebb9@byu.net>
49461
49462         * NEWS: Document stdlib change from 2007-02-18.
49463
49464 2007-03-17  Jim Meyering  <jim@meyering.net>
49465
49466         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
49467         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
49468         someone uses a name containing shell meta-characters.
49469         Reported by Alfred M. Szmidt.
49470
49471         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
49472
49473 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
49474
49475         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
49476         and copy gettext configuration files only if configure.ac contains
49477         a use of AM_GNU_GETTEXT_VERSION.
49478
49479 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
49480
49481         * build-aux/bootstrap (gnulib_name): New variable.
49482         (gnulib_tool_options): Use it.
49483
49484 2007-03-13  Simon Josefsson  <simon@josefsson.org>
49485
49486         * tests/test-des.c: Use new namespace.
49487
49488 2007-03-15  Bruno Haible  <bruno@clisp.org>
49489
49490         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
49491         Reported by James Youngman <jay@gnu.org>.
49492
49493 2007-03-15  Bruno Haible  <bruno@clisp.org>
49494
49495         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
49496         declared prototype. Needed with cc on OSF/1 5.1.
49497
49498 2007-03-15  Bruno Haible  <bruno@clisp.org>
49499
49500         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
49501         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
49502         (struct gl_list_implementation): Add dispose_fn argument to the
49503         'create_empty', 'create' methods.
49504         (struct gl_list_impl_base): Add field 'dispose_fn'.
49505         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
49506         argument.
49507         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
49508         dispose_fn argument.
49509         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
49510         dispose_fn on the dropped values.
49511         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
49512         dispose_fn argument.
49513         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
49514         dropped values.
49515         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
49516         (gl_tree_remove_node): Call dispose_fn on the dropped value.
49517         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
49518         (gl_tree_remove_node): Call dispose_fn on the dropped value.
49519         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
49520         argument.
49521         (gl_tree_list_free): Call dispose_fn on the dropped values.
49522         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
49523         the dropped values.
49524         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
49525         Add dispose_fn argument.
49526         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
49527         Call dispose_fn on the dropped values.
49528         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
49529         Add dispose_fn argument.
49530         (gl_sublist_create): Initialize the 'dispose_fn' field.
49531         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
49532         * tests/test-array_list.c (main): Update.
49533         * tests/test-carray_list.c (main): Update.
49534         * tests/test-avltree_list.c (main): Update.
49535         * tests/test-rbtree_list.c (main): Update.
49536         * tests/test-avltreehash_list.c (main): Update.
49537         * tests/test-rbtreehash_list.c (main): Update.
49538         * tests/test-linked_list.c (main): Update.
49539         * tests/test-linkedhash_list.c (main): Update.
49540         * tests/test-array_oset.c (main): Update.
49541
49542 2007-03-15  Bruno Haible  <bruno@clisp.org>
49543
49544         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
49545         (gl_oset_create_empty): Add dispose_fn argument.
49546         (struct gl_oset_implementation): Add dispose_fn argument to
49547         'create_empty' method.
49548         (struct gl_oset_impl_base): Add dispose_fn field.
49549         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
49550         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
49551         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
49552         values.
49553         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
49554         (gl_tree_oset_free): Call dispose_fn on the dropped values.
49555         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
49556         dropped value.
49557         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
49558         dropped value.
49559         * tests/test-array_oset.c (main): Update.
49560         * tests/test-avltree_oset.c (main): Update.
49561         * tests/test-rbtree_oset.c (main): Update.
49562         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
49563
49564 2007-03-13  Bruno Haible  <bruno@clisp.org>
49565
49566         * tests/test-stdbool.c (i): Update after last patch.
49567
49568 2007-03-12  Bruno Haible  <bruno@clisp.org>
49569
49570         * lib/quotearg.c: Include <wctype.h> early, before the definition of
49571         the iswprint macro. Needed on Solaris 2.5.1.
49572
49573 2007-03-12  Bruno Haible  <bruno@clisp.org>
49574
49575         * tests/test-printf-frexp.c (main): Declare x as volatile.
49576
49577 2007-03-12  Simon Josefsson  <simon@josefsson.org>
49578
49579         * doc/gnulib.texi (Build robot for gnulib): New section.
49580
49581 2007-03-12  Jim Meyering  <jim@meyering.net>
49582
49583         * build-aux/bootstrap: New file.
49584         * build-aux/bootstrap.conf: New file, from coreutils.
49585
49586 2007-03-11  Bruno Haible  <bruno@clisp.org>
49587
49588         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
49589
49590 2007-03-12  Simon Josefsson  <simon@josefsson.org>
49591
49592         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
49593         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
49594         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
49595
49596 2007-03-11  Bruno Haible  <bruno@clisp.org>
49597
49598         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
49599         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
49600
49601 2007-03-11  Bruno Haible  <bruno@clisp.org>
49602
49603         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
49604         formula. Needed for SunPRO C 5.0.
49605
49606 2007-03-11  Bruno Haible  <bruno@clisp.org>
49607
49608         * modules/long-options (Depends-on): Add getopt.
49609
49610 2007-03-11  Bruno Haible  <bruno@clisp.org>
49611
49612         * modules/modechange (Depends-on): Add stdbool.
49613
49614 2007-03-11  Bruno Haible  <bruno@clisp.org>
49615
49616         * modules/i-ring (Depends-on): Add stdbool.
49617
49618 2007-03-11  Bruno Haible  <bruno@clisp.org>
49619
49620         * modules/gc-des (Depends-on): Add stdbool.
49621
49622 2007-03-11  Bruno Haible  <bruno@clisp.org>
49623
49624         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
49625
49626 2007-03-11  Bruno Haible  <bruno@clisp.org>
49627
49628         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
49629
49630 2007-03-11  Bruno Haible  <bruno@clisp.org>
49631
49632         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
49633
49634 2007-03-11  Bruno Haible  <bruno@clisp.org>
49635
49636         * lib/vasnprintf.c (sprintf): Undefine.
49637
49638 2007-03-11  Bruno Haible  <bruno@clisp.org>
49639
49640         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
49641         initializers in SunPRO C and Compaq C compilers.
49642
49643 2007-03-11  Bruno Haible  <bruno@clisp.org>
49644
49645         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
49646         decrementing code ANSI C compliant.
49647
49648 2007-03-11  Bruno Haible  <bruno@clisp.org>
49649
49650         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
49651         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
49652
49653 2007-03-11  Bruno Haible  <bruno@clisp.org>
49654
49655         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
49656         <stdbool.h> substitute doesn't pass.
49657
49658 2007-03-11  Bruno Haible  <bruno@clisp.org>
49659
49660         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
49661
49662 2007-03-11  Bruno Haible  <bruno@clisp.org>
49663
49664         * gnulib-tool (func_create_megatestdir): Create also an autobuild
49665         script, for submission to autobuild.josefsson.org.
49666
49667 2007-03-10  Bruno Haible  <bruno@clisp.org>
49668
49669         * modules/canonicalize-lgpl-tests: New file.
49670         * tests/test-canonicalize-lgpl.sh: New file.
49671         * tests/test-canonicalize-lgpl.c: New file.
49672
49673         * modules/c-strcase-tests: New file.
49674         * tests/test-c-strcase.sh: New file.
49675         * tests/test-c-strcasecmp.c: New file.
49676         * tests/test-c-strncasecmp.c: New file.
49677
49678         * modules/atexit-tests: New file.
49679         * tests/test-atexit.sh: New file.
49680         * tests/test-atexit.c: New file.
49681
49682 2007-03-10  Bruno Haible  <bruno@clisp.org>
49683
49684         * tests/test-binary-io.sh: Use temporary filenames that are not so
49685         likely to clash with those of other tests (in a parallel make).
49686         * tests/test-binary-io.c: Likewise.
49687
49688 2007-03-10  Bruno Haible  <bruno@clisp.org>
49689
49690         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
49691         fallback; use #error instead.
49692         Suggested by Simon Josefsson.
49693
49694 2007-03-10  Bruno Haible  <bruno@clisp.org>
49695
49696         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
49697         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
49698         first and the last.
49699
49700 2007-03-10  Bruno Haible  <bruno@clisp.org>
49701
49702         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
49703
49704 2007-03-10  Bruno Haible  <bruno@clisp.org>
49705
49706         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
49707         "make distcheck".
49708         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
49709         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
49710         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
49711
49712 2007-03-10  Bruno Haible  <bruno@clisp.org>
49713
49714         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
49715         variable.
49716         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
49717         variable.
49718
49719 2007-03-09  Eric Blake  <ebb9@byu.net>
49720         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
49721
49722         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
49723         types are not being provided by gnulib.
49724         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
49725         types are supported.
49726
49727 2007-03-10  Bruno Haible  <bruno@clisp.org>
49728
49729         * lib/stdio_.h (__attribute__): New macro.
49730         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
49731         vsprintf): Specify __attribute__ __format__ for GCC.
49732         Suggested by Eric Blake.
49733
49734 2007-03-09  Bruno Haible  <bruno@clisp.org>
49735
49736         * modules/printf-posix-tests: New file.
49737         * tests/test-printf-posix.sh: New file.
49738         * tests/test-printf-posix.c: New file.
49739
49740         * modules/printf-posix: New file.
49741         * lib/printf.c: New file.
49742         * m4/printf-posix-rpl.m4: New file.
49743         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
49744         REPLACE_PRINTF.
49745         * lib/stdio_.h (printf): New declaration.
49746         (format, __format__, ____printf____, ____scanf____, ____strftime____,
49747         ____strfmon____): New macros.
49748         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
49749         REPLACE_PRINTF.
49750
49751 2007-03-09  Bruno Haible  <bruno@clisp.org>
49752
49753         * tests/test-vasnprintf-posix2.sh: New file.
49754         * tests/test-vasnprintf-posix2.c: New file.
49755         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
49756         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
49757         (Makefile.am): Activate test-vasnprintf-posix2.sh.
49758
49759         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
49760         a locale dependent decimal point, rather than always '.'.
49761
49762 2007-03-09  Eric Blake  <ebb9@byu.net>
49763
49764         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
49765         spite of platforms like Tandem/NSK that define it to -1.
49766
49767 2007-03-08  Bruno Haible  <bruno@clisp.org>
49768
49769         * modules/vprintf-posix-tests: New file.
49770         * tests/test-vprintf-posix.sh: New file.
49771         * tests/test-vprintf-posix.c: New file.
49772         * tests/test-printf-posix.h: New file.
49773
49774         * modules/vprintf-posix: New file.
49775         * lib/vprintf.c: New file.
49776         * m4/vprintf-posix.m4: New file.
49777         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
49778         REPLACE_VPRINTF.
49779         * lib/stdio_.h (vprintf): New declaration.
49780         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
49781         REPLACE_VPRINTF.
49782
49783 2007-03-08  Bruno Haible  <bruno@clisp.org>
49784
49785         * modules/fprintf-posix-tests: New file.
49786         * tests/test-fprintf-posix.sh: New file.
49787         * tests/test-fprintf-posix.c: New file.
49788
49789         * modules/fprintf-posix: New file.
49790         * lib/fprintf.c: New file.
49791         * m4/fprintf-posix.m4: New file.
49792         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
49793         REPLACE_FPRINTF.
49794         * lib/stdio_.h (fprintf): New declaration.
49795         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
49796         REPLACE_FPRINTF.
49797
49798 2007-03-08  Bruno Haible  <bruno@clisp.org>
49799
49800         * modules/vfprintf-posix-tests: New file.
49801         * tests/test-vfprintf-posix.sh: New file.
49802         * tests/test-vfprintf-posix.c: New file.
49803         * tests/test-fprintf-posix.h: New file.
49804         * tests/test-fprintf-posix.out: New file.
49805
49806         * modules/vfprintf-posix: New file.
49807         * lib/vfprintf.c: New file.
49808         * m4/vfprintf-posix.m4: New file.
49809         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
49810         REPLACE_VFPRINTF.
49811         * lib/stdio_.h (vfprintf): New declaration.
49812         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
49813         REPLACE_VFPRINTF.
49814
49815 2007-03-08  Bruno Haible  <bruno@clisp.org>
49816
49817         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
49818
49819 2007-03-08  Bruno Haible  <bruno@clisp.org>
49820
49821         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
49822         instead of 'expr' invocations.
49823         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49824         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49825         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49826         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49827         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49828         Suggested by Paul Eggert.
49829
49830 2007-03-08  Bruno Haible  <bruno@clisp.org>
49831
49832         * modules/fseterr-tests: New file.
49833         * tests/test-fseterr.c: New file.
49834
49835         * modules/fseterr: New file.
49836         * lib/fseterr.h: New file.
49837         * lib/fseterr.c: New file.
49838
49839 2007-03-08  Bruno Haible  <bruno@clisp.org>
49840
49841         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
49842         * lib/getopt_.h: Likewise.
49843         * lib/mbswidth.h: Likewise.
49844         * lib/setenv.h: Likewise.
49845         * lib/vasnprintf.h: Likewise.
49846         * lib/vasprintf.h: Likewise.
49847         * lib/verror.h: Likewise.
49848         * lib/xsetenv.h: Likewise.
49849         * lib/xvasprintf.h: Likewise.
49850
49851 2007-03-08  Jim Meyering  <jim@meyering.net>
49852
49853         * users.txt: Add parted.
49854
49855         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
49856
49857 2007-03-07  Bruno Haible  <bruno@clisp.org>
49858
49859         * m4/printf.m4: Make the shell script snippets copy&pastable.
49860
49861 2007-03-02  Bruno Haible  <bruno@clisp.org>
49862
49863         * lib/netinet_in_.h: New file.
49864         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
49865         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
49866         * modules/netinet_in (Files): Add lib/netinet_in_.h.
49867         (Depends-on): Add absolute-header.
49868         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
49869         into netinet/in.h.
49870
49871 2007-03-03  Bruno Haible  <bruno@clisp.org>
49872
49873         * lib/sys_select_.h: New file.
49874         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
49875         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
49876         * modules/sys_select (Files): Add lib/sys_select_.h.
49877         (Depends-on): Add absolute-header.
49878         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
49879         into sys/select.h.
49880
49881 2007-03-02  Bruno Haible  <bruno@clisp.org>
49882
49883         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
49884         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
49885         values.
49886         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
49887         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
49888         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
49889         * modules/sys_socket (Depends-on): Add absolute-header.
49890         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
49891         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
49892         (Include): Remove requirement of inclusion of <sys/types.h>.
49893
49894 2007-03-02  Bruno Haible  <bruno@clisp.org>
49895
49896         * lib/byteswap_.h (bswap_32): Fix formula.
49897
49898 2007-03-06  Bruno Haible  <bruno@clisp.org>
49899
49900         * modules/sprintf-posix-tests: New file.
49901         * tests/test-sprintf-posix.c: New file.
49902
49903         * modules/sprintf-posix: New file.
49904         * lib/sprintf.c: New file.
49905         * m4/sprintf-posix.m4: New file.
49906         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
49907         REPLACE_SPRINTF.
49908         * lib/stdio_.h (sprintf): New declaration.
49909         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
49910         REPLACE_SPRINTF.
49911
49912 2007-03-06  Bruno Haible  <bruno@clisp.org>
49913
49914         * modules/vsprintf-posix-tests: New file.
49915         * tests/test-vsprintf-posix.c: New file.
49916         * tests/test-sprintf-posix.h: New file.
49917
49918         * modules/vsprintf-posix: New file.
49919         * lib/vsprintf.c: New file.
49920         * m4/vsprintf-posix.m4: New file.
49921         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
49922         REPLACE_VSPRINTF.
49923         * lib/stdio_.h (vsprintf): New declaration.
49924         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
49925         REPLACE_VSPRINTF.
49926
49927 2007-03-06  Bruno Haible  <bruno@clisp.org>
49928
49929         * modules/vsnprintf (Depend-on): Remove minmax.
49930
49931 2007-03-06  Bruno Haible  <bruno@clisp.org>
49932
49933         * modules/snprintf-posix-tests: New file.
49934         * tests/test-snprintf-posix.c: New file.
49935
49936         * modules/snprintf-posix: New file.
49937         * m4/snprintf-posix.m4: New file.
49938         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
49939         gl_FUNC_SNPRINTF.
49940         (gl_FUNC_SNPRINTF): Invoke it.
49941         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
49942         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
49943         is set.
49944         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
49945
49946 2007-03-06  Bruno Haible  <bruno@clisp.org>
49947
49948         * modules/vsnprintf-posix-tests: New file.
49949         * tests/test-vsnprintf-posix.c: New file.
49950         * tests/test-snprintf-posix.h: New file.
49951
49952         * modules/vsnprintf-posix: New file.
49953         * m4/vsnprintf-posix.m4: New file.
49954         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
49955         gl_FUNC_VSNPRINTF.
49956         (gl_FUNC_VSNPRINTF): Invoke it.
49957         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
49958         * lib/stdio_.h (vsnprintf): Define as a replacement if
49959         REPLACE_VSNPRINTF is set.
49960         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
49961
49962 2007-03-06  Bruno Haible  <bruno@clisp.org>
49963
49964         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
49965         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
49966
49967 2007-03-06  Bruno Haible  <bruno@clisp.org>
49968
49969         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
49970         (asinl): Declare also if HAVE_DECL_ASINL is set.
49971         (atanl): Declare also if HAVE_DECL_ATANL is set.
49972         (ceill): Declare also if HAVE_DECL_CEILL is set.
49973         (cosl): Declare also if HAVE_DECL_COSL is set.
49974         (expl): Declare also if HAVE_DECL_EXPL is set.
49975         (floorl): Declare also if HAVE_DECL_FLOORL is set.
49976         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
49977         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
49978         (logl): Declare also if HAVE_DECL_LOGL is set.
49979         (sinl): Declare also if HAVE_DECL_SINL is set.
49980         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
49981         (tanl): Declare also if HAVE_DECL_TANL is set.
49982         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
49983         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
49984         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
49985         declaration of frexpl, ldexpl.
49986         * modules/printf-frexpl (Depends-on): Add math.
49987         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
49988
49989 2007-03-05  Bruno Haible  <bruno@clisp.org>
49990
49991         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
49992         frexpl and ldexpl are declared.
49993         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
49994
49995 2007-03-05  Bruno Haible  <bruno@clisp.org>
49996
49997         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
49998         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
49999
50000 2007-03-05  Bruno Haible  <bruno@clisp.org>
50001
50002         * lib/stdio_.h: Include <stddef.h>.
50003
50004 2007-03-05  Bruno Haible  <bruno@clisp.org>
50005
50006         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
50007
50008 2007-03-05  Bruno Haible  <bruno@clisp.org>
50009
50010         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
50011         NetBSD 4, from Ralf Wildenhues.
50012
50013 2007-03-04  Bruno Haible  <bruno@clisp.org>
50014
50015         * lib/vasprintf.h: Update #if logic for the case when the functions
50016         exist but are overridden.
50017
50018 2007-03-04  Bruno Haible  <bruno@clisp.org>
50019
50020         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
50021         implementations: glibc-2.4 and MacOS X 10.3.
50022         * tests/test-vasnprintf-posix.c (test_function): Test also the case
50023         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
50024         * tests/test-vasprintf-posix.c (test_function): Likewise.
50025
50026 2007-03-04  Bruno Haible  <bruno@clisp.org>
50027
50028         * modules/vasprintf-posix-tests: New file.
50029         * tests/test-vasprintf-posix.c: New file.
50030
50031         * modules/vasprintf-posix: New file.
50032         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
50033         defined.
50034         * m4/vasprintf-posix.m4: New file.
50035         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
50036         gl_FUNC_VASPRINTF.
50037         (gl_FUNC_VASPRINTF): Invoke it.
50038         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
50039         here.
50040         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
50041
50042 2007-03-04  Bruno Haible  <bruno@clisp.org>
50043
50044         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
50045         REPLACE_GETTIMEOFDAY.
50046         * modules/sys_time (Makefile.am): Likewise.
50047         * m4/sys_time_h.m4: Likewise.
50048         * m4/gettimeofday.m4: Likewise.
50049
50050 2007-03-04  Bruno Haible  <bruno@clisp.org>
50051
50052         * modules/vasnprintf-posix-tests: New file.
50053         * tests/test-vasnprintf-posix.c: New file.
50054
50055         * modules/vasnprintf-posix: New file.
50056         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
50057         printf-frexpl.h.
50058         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
50059         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
50060         REPLACE_VASNPRINTF is defined.
50061         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
50062         gl_FUNC_VASNPRINTF.
50063         (gl_FUNC_VASNPRINTF): Invoke it.
50064         * m4/vasnprintf-posix.m4: New file.
50065         * m4/printf.m4: New file.
50066
50067 2007-03-04  Bruno Haible  <bruno@clisp.org>
50068
50069         Compile progreloc.c only if --enable-relocatable is specified.
50070         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
50071         if --enable-relocatable was specified.
50072         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
50073         lib_SOURCES.
50074
50075 2007-03-04  Jim Meyering  <jim@meyering.net>
50076
50077         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
50078         Use it consistently, rather than enumerating errno constants.
50079
50080 2007-03-04  Bruno Haible  <bruno@clisp.org>
50081
50082         * modules/xvasprintf-tests: New file.
50083         * tests/test-xvasprintf.c: New file.
50084
50085         * modules/vasprintf-tests: New file.
50086         * tests/test-vasprintf.c: New file.
50087
50088         * modules/vasnprintf-tests: New file.
50089         * tests/test-vasnprintf.c: New file.
50090
50091         * modules/vsnprintf-tests: New file.
50092         * tests/test-vsnprintf.c: New file.
50093
50094         * modules/snprintf-tests: New file.
50095         * tests/test-snprintf.c: New file.
50096
50097 2007-03-04  Bruno Haible  <bruno@clisp.org>
50098
50099         Compile relocatable.c only if --enable-relocatable is specified.
50100         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
50101         gl_RELOCATABLE_LIBRARY.
50102         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
50103         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
50104         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
50105         gl_RELOCATABLE_LIBRARY.
50106         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
50107         (Makefile.am): Remove lib_SOURCES.
50108         * modules/relocatable-lib-lgpl (configure.ac): Invoke
50109         gl_RELOCATABLE_LIBRARY.
50110         (Makefile.am): Remove lib_SOURCES.
50111         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
50112         always.
50113         * modules/relocatable-prog-wrapper (configure.ac): Invoke
50114         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
50115
50116 2007-03-04  Bruno Haible  <bruno@clisp.org>
50117
50118         * modules/argmatch-tests: New file.
50119         * tests/test-argmatch.c: New file.
50120
50121         * tests/test-allocsa.c (main): Halve the number of loop runs.
50122
50123         * modules/alloca-opt-tests: New file.
50124         * tests/test-alloca-opt.c: New file.
50125
50126 2007-03-04  Jim Meyering  <jim@meyering.net>
50127
50128         Work around difference between Linux ACLs and Solaris 10 ZFS.
50129         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
50130         for EINVAL.
50131
50132 2007-03-03  Bruno Haible  <bruno@clisp.org>
50133
50134         * modules/relocatable-prog (Depends-on): Add back progreloc's
50135         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
50136
50137 2007-03-03  Bruno Haible  <bruno@clisp.org>
50138
50139         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
50140         * modules/relocatable-lib: New file.
50141
50142 2007-03-03  Bruno Haible  <bruno@clisp.org>
50143
50144         * modules/relocatable-prog: Renamed from modules/relocatable.
50145         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
50146
50147 2007-03-03  Bruno Haible  <bruno@clisp.org>
50148
50149         * modules/relocatable-script (Files): Add doc/relocatable.texi,
50150         m4/relocatable-lib.m4.
50151         (Depends-on): Remove 'relocatable'.
50152         (configure.ac): Add gl_RELOCATABLE_NOP.
50153
50154 2007-03-03  Bruno Haible  <bruno@clisp.org>
50155
50156         * modules/relocatable-prog-wrapper: New file.
50157         * modules/relocatable (Depends-on): Add it. Remove all other
50158         dependencies except progname.
50159         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
50160
50161         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
50162         (gl_FUNC_STRERROR): Nop.
50163         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
50164
50165         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
50166         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
50167
50168         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
50169         (gl_FUNC_READLINK): Update.
50170
50171         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
50172
50173 2007-03-03  Bruno Haible  <bruno@clisp.org>
50174
50175         * lib/xreadlink.c: Include <unistd.h> unconditionally.
50176         * modules/xreadlink (Depends-on): Add unistd.
50177         * modules/xreadlink-with-size (Depends-on): Likewise.
50178
50179 2007-03-03  Bruno Haible  <bruno@clisp.org>
50180
50181         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
50182         extracted from gt_FUNC_SETENV.
50183         (gt_FUNC_SETENV): Remove macro.
50184         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
50185         remove gt_FUNC_SETENV.
50186
50187 2007-03-03  Bruno Haible  <bruno@clisp.org>
50188
50189         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
50190         ENABLE_RELOCATABLE here.
50191         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
50192
50193 2007-03-03  Bruno Haible  <bruno@clisp.org>
50194
50195         * modules/rbtreehash-list-tests (Depends-on): Add progname.
50196         * tests/test-rbtreehash_list.c: Include progname.h.
50197         (main): Call set_program_name.
50198
50199         * modules/rbtree-oset-tests (Depends-on): Add progname.
50200         * tests/test-rbtree_oset.c: Include progname.h.
50201         (main): Call set_program_name.
50202
50203         * modules/rbtree-list-tests (Depends-on): Add progname.
50204         * tests/test-rbtree_list.c: Include progname.h.
50205         (main): Call set_program_name.
50206
50207         * modules/linked-list-tests (Depends-on): Add progname.
50208         * tests/test-linked_list.c: Include progname.h.
50209         (main): Call set_program_name.
50210
50211 2007-03-03  Bruno Haible  <bruno@clisp.org>
50212
50213         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
50214         All uses of __restrict changed to _Restrict_.
50215         * lib/glob_.h (__restrict): Remove macro.
50216
50217 2007-03-02  Bruno Haible  <bruno@clisp.org>
50218
50219         * modules/gettext (configure.ac): Require gettext infrastructure
50220         from version 0.16.1.
50221
50222 2007-03-02  Bruno Haible  <bruno@clisp.org>
50223
50224         * modules/linkedhash-list-tests (Depends-on): Add progname.
50225         * tests/test-linkedhash_list.c: Include progname.h.
50226         (main): Call set_program_name.
50227
50228         * modules/carray-list-tests (Depends-on): Add progname.
50229         * tests/test-carray_list.c: Include progname.h.
50230         (main): Call set_program_name.
50231
50232         * modules/avltreehash-list-tests (Depends-on): Add progname.
50233         * tests/test-avltreehash_list.c: Include progname.h.
50234         (main): Call set_program_name.
50235
50236         * modules/avltree-oset-tests (Depends-on): Add progname.
50237         * tests/test-avltree_oset.c: Include progname.h.
50238         (main): Call set_program_name.
50239
50240         * modules/avltree-list-tests (Depends-on): Add progname.
50241         * tests/test-avltree_list.c: Include progname.h.
50242         (main): Call set_program_name.
50243
50244         * modules/array-oset-tests (Depends-on): Add progname.
50245         * tests/test-array_oset.c: Include progname.h.
50246         (main): Call set_program_name.
50247
50248         * modules/array-list-tests (Depends-on): Add progname.
50249         * tests/test-array_list.c: Include progname.h.
50250         (main): Call set_program_name.
50251
50252         * modules/argp-tests (Depends-on): Add progname.
50253         * tests/test-argp.c: Include argp.h first. Include progname.h.
50254         (main): Call set_program_name.
50255
50256 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
50257
50258         * doc/gnulib-tool.texi (Initial import): Reword description of
50259         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
50260         limited effect even if defined after the first system include.
50261
50262 2007-03-01  Bruno Haible  <bruno@clisp.org>
50263
50264         * build-aux/config.libpath: Update to libtool-1.5.22.
50265         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50266
50267 2007-03-01  Bruno Haible  <bruno@clisp.org>
50268
50269         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
50270         foo_CFLAGS.
50271         Reported by Ralf Wildenhues.
50272
50273 2007-03-01  Bruno Haible  <bruno@clisp.org>
50274
50275         * build-aux/install-reloc: Remove object files left over by some
50276         compilers.
50277         Reported by Ralf Wildenhues.
50278
50279 2007-03-01  Bruno Haible  <bruno@clisp.org>
50280
50281         * build-aux/install-reloc: Break long lines.
50282
50283 2007-03-01  Bruno Haible  <bruno@clisp.org>
50284
50285         * doc/relocatable.texi: Document that it may not work on OpenBSD.
50286         Reported by Ralf Wildenhues.
50287
50288 2007-03-01  Bruno Haible  <bruno@clisp.org>
50289
50290         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
50291         include ordering constraints.
50292
50293 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
50294
50295         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
50296         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
50297         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
50298         as another example.
50299         * lib/time_.h: Fix misspelling.
50300         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
50301         Require gl_HEADER_TIME_H_DEFAULTS.
50302         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
50303         * m4/time_r.m4 (gl_TIME_R): Likewise.
50304         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
50305
50306 2007-03-01  Bruno Haible  <bruno@clisp.org>
50307
50308         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
50309         * m4/utimens.m4 (gl_UTIMENS): Likewise.
50310
50311 2007-03-01  Jim Meyering  <jim@meyering.net>
50312
50313         * modules/xreadlink (Maintainer): Add my name.
50314         * modules/xreadlink-with-size (Depends-on): Alphabetize.
50315
50316 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
50317             Bruno Haible  <bruno@clisp.org>
50318
50319         * build-aux/install-reloc: Compile also c-ctype.c.
50320         * build-aux/relocatable.sh.in: New file.
50321         * doc/relocatable.texi: New file.
50322         * doc/relocatable-maint.texi: New file.
50323         * doc/gnulib.texi: Include relocatable-maint.texi.
50324         * lib/progreloc.c: Include unistd.h unconditionally.
50325         * lib/relocwrapper.c: Include unistd.h unconditionally.
50326         Include c-ctype.h.
50327         (add_dotbin): Use c_tolower.
50328         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
50329         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
50330         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
50331         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
50332         to m4/relocatable-lib.m4.
50333         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
50334         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
50335         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
50336         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
50337         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
50338         * modules/relocatable: New file.
50339         * modules/relocatable-lib: New file.
50340         * modules/relocatable-script: New file.
50341
50342 2007-02-28  Bruno Haible  <bruno@clisp.org>
50343
50344         Import --enable-relocatable infrastructure.
50345         * build-aux/config.libpath: New file, from GNU gettext.
50346         * build-aux/install-reloc: New file, from GNU gettext.
50347         * build-aux/reloc-ldflags: New file, from GNU gettext.
50348         * lib/relocatable.h: New file, from GNU gettext.
50349         * lib/relocatable.c: New file, from GNU gettext.
50350         * lib/relocwrapper.c: New file, from GNU gettext.
50351         * m4/relocatable.m4: New file, from GNU gettext.
50352
50353 2007-02-28  Bruno Haible  <bruno@clisp.org>
50354
50355         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
50356
50357         * modules/xreadlink: New file, from GNU gettext with modifications.
50358         * lib/xreadlink.c: New file, from GNU gettext.
50359         * lib/xreadlink.h: Add comments.
50360         (xreadlink): New declaration.
50361
50362         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
50363         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
50364         lib/xreadlink-with-size.c.
50365         (configure.ac): Remove gl_XREADLINK invocation.
50366         (Makefile.am): Augment lib_SOURCES.
50367         * m4/xreadlink.m4: Remove file.
50368         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
50369         (xreadlink_with_size): Renamed from xreadink.
50370         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
50371         * modules/canonicalize (Depends-on): Replace xreadlink with
50372         xreadlink-with-size.
50373         * lib/canonicalize.c (canonicalize_filename_mode): Update.
50374
50375 2007-02-25  Jim Meyering  <jim@meyering.net>
50376
50377         * build-aux/announce-gen: When complaining about excess arguments,
50378         list them.
50379
50380 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
50381
50382         * README: Document signed integer overflow situation more
50383         accurately.
50384
50385 2007-02-25  Bruno Haible  <bruno@clisp.org>
50386
50387         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
50388         'a' or 'A' conversion.
50389
50390 2007-02-25  Bruno Haible  <bruno@clisp.org>
50391
50392         * modules/filename: Renamed from modules/pathname.
50393         (Files): Replace lib/pathname.h with lib/filename.h. Replace
50394         lib/concatpath.c with lib/concat-filename.c.
50395         (Makefile.am): Update.
50396         (Include): Replace pathname.h with filename.h.
50397         * lib/filename.h: Renamed from lib/pathname.h.
50398         (concatenated_filename): Renamed from concatenated_pathname.
50399         * lib/concat-filename.c: Renamed from lib/concatpath.c.
50400         (concatenated_filename): Renamed from concatenated_pathname.
50401         * lib/findprog.c: Include filename.h instead of pathname.h.
50402         (find_in_path): Update.
50403         * lib/javacomp.c: Include filename.h instead of pathname.h.
50404         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
50405         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
50406         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
50407         is_oldgcj_14_13_usable, is_javac_usable): Update.
50408         * lib/javaexec.c: Include filename.h instead of pathname.h.
50409         (execute_java_class): Update.
50410         * modules/findprog: Update.
50411         * modules/javacomp: Update.
50412         * modules/javaexec: Update.
50413         * MODULES.html.sh (File system functions): Add 'filename', remove
50414         'pathname'.
50415
50416 2007-02-25  Bruno Haible  <bruno@clisp.org>
50417
50418         * modules/printf-frexpl-tests: New file.
50419         * tests/test-printf-frexpl.c: New file.
50420
50421         * modules/printf-frexpl: New file.
50422         * lib/printf-frexpl.h: New file.
50423         * lib/printf-frexpl.c: New file.
50424         * m4/printf-frexpl.m4: New file.
50425
50426 2007-02-25  Bruno Haible  <bruno@clisp.org>
50427
50428         * modules/printf-frexp-tests: New file.
50429         * tests/test-printf-frexp.c: New file.
50430
50431         * modules/printf-frexp: New file.
50432         * lib/printf-frexp.h: New file.
50433         * lib/printf-frexp.c: New file.
50434         * m4/printf-frexp.m4: New file.
50435
50436 2007-02-25  Bruno Haible  <bruno@clisp.org>
50437
50438         Assume automake >= 1.10 for the tests.
50439         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
50440         * modules/arctwo-tests: Likewise.
50441         * modules/argp-tests: Likewise.
50442         * modules/avltree-list-tests: Likewise.
50443         * modules/avltree-oset-tests: Likewise.
50444         * modules/avltreehash-list-tests: Likewise.
50445         * modules/carray-list-tests: Likewise.
50446         * modules/crc-tests: Likewise.
50447         * modules/des-tests: Likewise.
50448         * modules/gc-arcfour-tests: Likewise.
50449         * modules/gc-arctwo-tests: Likewise.
50450         * modules/gc-des-tests: Likewise.
50451         * modules/gc-hmac-md5-tests: Likewise.
50452         * modules/gc-hmac-sha1-tests: Likewise.
50453         * modules/gc-md2-tests: Likewise.
50454         * modules/gc-md4-tests: Likewise.
50455         * modules/gc-md5-tests: Likewise.
50456         * modules/gc-pbkdf2-sha1-tests: Likewise.
50457         * modules/gc-rijndael-tests: Likewise.
50458         * modules/gc-sha1-tests: Likewise.
50459         * modules/gc-tests: Likewise.
50460         * modules/getaddrinfo-tests: Likewise.
50461         * modules/hmac-md5-tests: Likewise.
50462         * modules/hmac-sha1-tests: Likewise.
50463         * modules/linked-list-tests: Likewise.
50464         * modules/linkedhash-list-tests: Likewise.
50465         * modules/lock-tests: Likewise.
50466         * modules/md2-tests: Likewise.
50467         * modules/md4-tests: Likewise.
50468         * modules/md5-tests: Likewise.
50469         * modules/rbtree-list-tests: Likewise.
50470         * modules/rbtree-oset-tests: Likewise.
50471         * modules/rbtreehash-list-tests: Likewise.
50472         * modules/read-file-tests: Likewise.
50473         * modules/rijndael-tests: Likewise.
50474         * modules/stdint-tests: Likewise.
50475         * modules/tls-tests: Likewise.
50476
50477 2007-02-24  Bruno Haible  <bruno@clisp.org>
50478
50479         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
50480         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
50481         function; instead check whether isnan with a double argument links.
50482         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
50483         function; instead check whether isnan with a 'long double' argument
50484         links.
50485         Reported by Eric Blake <ebb9@byu.net>.
50486
50487 2007-02-24  Bruno Haible  <bruno@clisp.org>
50488
50489         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
50490         defined.
50491         * lib/isnanl.c: Remove all code. Just include isnan.c.
50492         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
50493
50494 2007-02-25  Jim Meyering  <jim@meyering.net>
50495
50496         Avoid conflicting types for 'unsetenv' on FreeBSD.
50497         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
50498         conflicting with FreeBSD's (5.0 and 6.1) function declaration
50499         in stdlib.h.
50500
50501 2007-02-24  Bruno Haible  <bruno@clisp.org>
50502
50503         * modules/isnanl-nolibm-tests: New file.
50504         * tests/test-isnanl.c: New file.
50505
50506         * modules/isnanl-nolibm: New file.
50507         * lib/isnanl.h: New file.
50508         * lib/isnanl.c: New file.
50509         * m4/isnanl.m4: New file.
50510
50511 2007-02-24  Bruno Haible  <bruno@clisp.org>
50512
50513         * modules/isnan-nolibm-tests: New file.
50514         * tests/test-isnan.c: New file.
50515
50516         * modules/isnan-nolibm: New file.
50517         * lib/isnan.h: New file.
50518         * lib/isnan.c: New file.
50519         * m4/isnan.m4: New file.
50520
50521 2007-02-24  Bruno Haible  <bruno@clisp.org>
50522
50523         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
50524         assume that an exponent fits in 20 bits.
50525
50526 2007-02-24  Jim Meyering  <jim@meyering.net>
50527
50528         * m4/regex.m4: Update the description of the configure-time option,
50529         --without-included-regex, to state accurately what the defaults are,
50530         and perhaps to give people an idea why using this option is risky.
50531
50532 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
50533
50534         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
50535         loops on small arguments.  This attempts to avoid the problem
50536         Bruno Haible reported for AIX 4.3.2 in
50537         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
50538
50539 2007-02-23  Bruno Haible  <bruno@clisp.org>
50540
50541         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
50542         Needed for help2man.
50543
50544 2007-02-23  Karl Berry  <karl@gnu.org>
50545
50546         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
50547         exists, foo.h should be cvs-ignored, not committed.
50548
50549 2007-02-23  Eric Blake  <ebb9@byu.net>
50550
50551         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
50552         * lib/stat-time.h (includes): Likewise.
50553         * lib/utimecmp.c (includes): Likewise.
50554         * lib/utimens.h (includes): Likewise.
50555         * lib/getdate.y (includes): Also include "timespec.h" for use
50556         internal to the module.
50557         * modules/utimens (Depends-on): Revert yesterday's patch.
50558         * modules/nanosleep (Depends-on): Add missing dependency.
50559
50560 2007-02-22  Bruno Haible  <bruno@clisp.org>
50561
50562         * lib/glob.c: Don't include getlogin_r.h.
50563
50564 2007-02-22  Jim Meyering  <jim@meyering.net>
50565
50566         * modules/utimens (Depends-on): Add timespec, required for
50567         utimens.h's inclusion of timespec.h.
50568
50569 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
50570
50571         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
50572         long unreadable paths in GNU/Linux.  Problem reported by Andreas
50573         Schwab in
50574         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
50575         I'll try to think of a better way to fix the Solaris problem.
50576
50577         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
50578         like glibc; on Solaris 10, it fails with errno == EINVAL.
50579         POSIX says the behavior is unspecified if the first argument is NULL,
50580         so play it safe and never pass NULL to the system getcwd.
50581
50582 2007-02-21  Jim Meyering  <jim@meyering.net>
50583
50584         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
50585         of gettimeofday.  It would conflict with the one now always
50586         provided via sys_time_.h.  Reported by Matthew Woehlke, as
50587         an IRIX 6.5 build failure.
50588
50589 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
50590
50591         Minor fixups to port to Solaris 10 with Sun C 5.8.
50592         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
50593         * modules/getcwd (Depends-on): Add dirfd.
50594         * lib/putenv.c (putenv): #undef it.
50595         (rpl_putenv): New decl.
50596         (malloc, free): Include <stdlib.h> rather than prototyping separately.
50597
50598 2007-02-20  Bruno Haible  <bruno@clisp.org>
50599
50600         * modules/stdio-tests: New file.
50601         * tests/test-stdio.c: New file.
50602
50603         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
50604         (Depends-on): Add stdio.
50605         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
50606         (Include): Use <stdio.h> instead of vsnprintf.h.
50607         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
50608         HAVE_DECL_VSNPRINTF.
50609         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
50610
50611         * modules/snprintf (Files): Remove lib/snprintf.h.
50612         (Depends-on): Add stdio.
50613         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
50614         (Include): Use <stdio.h> instead of snprintf.h.
50615         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
50616         HAVE_DECL_SNPRINTF.
50617         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
50618         * lib/getaddrinfo.c: Likewise.
50619
50620         * modules/stdio: New file.
50621         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
50622         * lib/snprintf.h: Remove file.
50623         * lib/vsnprintf.h: Remove file.
50624         * lib/.cppi-disable: Remove snprintf.h.
50625         * m4/stdio_h.m4: New file.
50626         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
50627
50628 2007-02-20  Jim Meyering  <jim@meyering.net>
50629
50630         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
50631         used by e.g., mingw.  From Bruno Haible.
50632
50633 2007-02-19  Bruno Haible  <bruno@clisp.org>
50634
50635         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
50636         warnings.
50637         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50638
50639 2007-02-19  Bruno Haible  <bruno@clisp.org>
50640
50641         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
50642         from mingw users.
50643
50644 2007-02-19  Bruno Haible  <bruno@clisp.org>
50645
50646         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
50647         warnings.
50648         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
50649
50650 2007-02-19  Jim Meyering  <jim@meyering.net>
50651
50652         Don't use FD after a successful "fdopendir (fd)".
50653         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
50654         Reset it by calling dirfd on the just-obtained DIR*.
50655
50656         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
50657         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
50658
50659 2007-02-18  Bruno Haible  <bruno@clisp.org>
50660
50661         * lib/readlink.c: Include <unistd.h>.
50662         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
50663         HAVE_READLINK.
50664         * modules/readlink (Depends-on): Add unistd.
50665         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50666         (Include): Add <unistd.h>.
50667
50668         * lib/getlogin_r.h: Remove file.
50669         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
50670         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
50671         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
50672         HAVE_DECL_GETLOGIN_R.
50673         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
50674         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50675         (Include): Use <unistd.h> instead of getlogin_r.h.
50676
50677         * lib/getcwd.h: Remove file.
50678         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
50679         * lib/xgetcwd.c: Likewise.
50680         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
50681         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
50682         * modules/getcwd (Files): Remove lib/getcwd.h.
50683         (Depends-on): Add unistd.
50684         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50685         (Include): Use <unistd.h> instad of getcwd.h.
50686
50687         * lib/ftruncate.c: Include <unistd.h> first.
50688         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
50689         Set HAVE_FTRUNCATE.
50690         * modules/ftruncate (Depends-on): Add unistd.
50691         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50692
50693         * lib/fchdir.c: Include <unistd.h> first.
50694         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
50695         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
50696         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
50697         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50698         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
50699
50700         * lib/dup2.c: Include <unistd.h> first.
50701         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
50702         HAVE_DUP2.
50703         * modules/dup2 (Depends-on): Add unistd.
50704         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50705
50706         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
50707         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
50708         REPLACE_CHOWN. Don't define chown as a macro here.
50709         * modules/chown (Depends-on): Add unistd.
50710         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50711
50712         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
50713         Add definition for GL_LINK_WARNING.
50714         (chown, dup2): New declarations.
50715         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
50716         link warning.
50717         (ftruncate): New declaration.
50718         (getcwd): New declaration, taken from old getcwd.h.
50719         (getlogin_r): New declaration, taken from old getlogin_r.h.
50720         (readlink): New declaration.
50721         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
50722         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
50723         (gl_PREREQ_UNISTD): Remove macro.
50724         (gl_UNISTD_MODULE_INDICATOR): New macro.
50725         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
50726         many new variables. Don't set UNISTD_H.
50727         * modules/unistd (Description): Change.
50728         (Depends-on): Add link-warning.
50729         (configure.ac): Update.
50730         (Makefile.am): Create unistd.h always. Substitute many new variables
50731         into it.
50732
50733 2007-02-18  Bruno Haible  <bruno@clisp.org>
50734
50735         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
50736         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
50737         HAVE_GETSUBOPT.
50738         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
50739         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
50740         * lib/getsubopt.h: Remove file.
50741         * modules/getsubopt (Files): Remove lib/getsubopt.h.
50742         (Depends-on): Add stdlib.
50743         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50744         (Includes): Use <stdlib.h> instead of getsubopt.h.
50745         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
50746         Set HAVE_GETSUBOPT.
50747         * lib/getsubopt.c: Don't include getsubopt.h.
50748
50749 2007-02-18  Bruno Haible  <bruno@clisp.org>
50750
50751         * modules/fchdir (Depends-on): Add dup2.
50752
50753 2007-02-18  Bruno Haible  <bruno@clisp.org>
50754
50755         * lib/stdlib_.h: Handle glibc's special invocation convention
50756         specially.
50757
50758 2007-02-18  Bruno Haible  <bruno@clisp.org>
50759
50760         * modules/stdlib-tests: New file.
50761         * tests/test-stdlib.c: New file.
50762
50763         * modules/mkstemp (Files): Remove lib/mkstemp.h.
50764         (Depends-on): Add stdlib.
50765         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50766         (Includes): Use <stdlib.h> instead of mkstemp.h.
50767         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
50768         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
50769         * lib/mkstemp.c: Don't include mkstemp.h.
50770         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
50771         * lib/stdlib--.h: Don't include mkstemp.h.
50772
50773         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
50774         (Depends-on): Add stdlib.
50775         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50776         (Includes): Use <stdlib.h> instead of mkdtemp.h.
50777         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
50778         HAVE_MKDTEMP.
50779         * lib/mkdtemp.c: Don't include mkdtemp.h.
50780         * lib/clean-temp.c: Don't include mkdtemp.h.
50781
50782         * modules/exit (Files): Remove lib/exit.h.
50783         (Depends-on): Add stdlib.
50784         (Makefile.am): Remove lib_SOURCES.
50785         (Include): Use <stdlib.h> instead of exit.h.
50786         * lib/argmatch.c: Don't include exit.h.
50787         * lib/execute.c: Likewise.
50788         * lib/pagealign_alloc.c: Likewise.
50789         * lib/pipe.c: Likewise.
50790         * lib/wait-process.c: Likewise.
50791         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
50792         * lib/exitfail.c: Likewise.
50793         * lib/savewd.c: Likewise.
50794         * lib/xsetenv.c: Likewise.
50795
50796         * modules/stdlib: New file.
50797         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
50798         and extra comments about mkstemp().
50799         * lib/exit.h: Remove file.
50800         * lib/mkdtemp.h: Remove file.
50801         * lib/mkstemp.h: Remove file.
50802         * m4/stdlib_h.m4: New file.
50803         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
50804
50805 2007-02-18  Bruno Haible  <bruno@clisp.org>
50806
50807         * modules/math-tests: New file.
50808         * tests/test-math.c: New file.
50809
50810         * modules/math: New file.
50811         * modules/mathl (Files): Remove lib/mathl.h.
50812         (Depends-on): Add math.
50813         (Makefile.am): Don't mention mathl.h.
50814         (Include): Use <math.h> instead of mathl.h.
50815         * lib/math_.h: New file.
50816         * lib/mathl.h: Remove file.
50817         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
50818         mathl.h.
50819         * lib/asinl.c: Likewise.
50820         * lib/atanl.c: Likewise.
50821         * lib/ceill.c: Likewise.
50822         * lib/cosl.c: Likewise.
50823         * lib/expl.c: Likewise.
50824         * lib/floorl.c: Likewise.
50825         * lib/frexpl.c: Likewise.
50826         * lib/ldexpl.c: Likewise.
50827         * lib/logl.c: Likewise.
50828         * lib/sincosl.c: Likewise.
50829         * lib/sinl.c: Likewise.
50830         * lib/sqrtl.c: Likewise.
50831         * lib/tanl.c: Likewise.
50832         * lib/trigl.c: Likewise.
50833         * m4/math_h.m4: New file.
50834         * MODULES.html.sh (Mathematics): Add math.
50835
50836 2007-02-17  Bruno Haible  <bruno@clisp.org>
50837
50838         * modules/wctype-tests: New file.
50839         * tests/test-wctype.c: New file.
50840
50841         * modules/wchar-tests: New file.
50842         * tests/test-wchar.c: New file.
50843
50844         * modules/unistd-tests: New file.
50845         * tests/test-unistd.c: New file.
50846
50847         * modules/time-tests: New file.
50848         * tests/test-time.c: New file.
50849
50850         * modules/sysexits-tests: New file.
50851         * tests/test-sysexits.c: New file.
50852
50853         * modules/sys_time-tests: New file.
50854         * tests/test-sys_time.c: New file.
50855
50856         * modules/sys_stat-tests: New file.
50857         * tests/test-sys_stat.c: New file.
50858
50859         * modules/sys_socket-tests: New file.
50860         * tests/test-sys_socket.c: New file.
50861
50862         * modules/sys_select-tests: New file.
50863         * tests/test-sys_select.c: New file.
50864
50865         * modules/string-tests: New file.
50866         * tests/test-string.c: New file.
50867
50868         * modules/stdbool-tests: New file.
50869         * tests/test-stdbool.c: New file.
50870
50871         * modules/netinet_in-tests: New file.
50872         * tests/test-netinet_in.c: New file.
50873
50874         * modules/inttypes-tests: New file.
50875         * tests/test-inttypes.c: New file.
50876
50877         * modules/fcntl-tests: New file.
50878         * tests/test-fcntl.c: New file.
50879
50880         * modules/byteswap-tests: New file.
50881         * tests/test-byteswap.c: New file.
50882
50883         * modules/arpa_inet-tests: New file.
50884         * tests/test-arpa_inet.c: New file.
50885
50886 2007-02-17  Bruno Haible  <bruno@clisp.org>
50887
50888         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
50889         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
50890         if the corresponding module is not enabled. Emit link warnings if
50891         the function is used nevertheless.
50892         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
50893         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
50894         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
50895         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
50896         * modules/inttypes (Depends-on): Add link-warning.
50897         (Makefile.am): Copy the contents of build-aux/link-warning.h into
50898         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
50899         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
50900         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
50901         * modules/imaxdiv (configure.ac): Likewise.
50902         * modules/strtoimax (configure.ac): Likewise.
50903         * modules/strtoumax (configure.ac): Likewise.
50904
50905 2007-02-17  Bruno Haible  <bruno@clisp.org>
50906
50907         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
50908         gl_STRING_MODULE_INDICATOR_DEFAULTS.
50909         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
50910         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
50911
50912 2007-02-17  Bruno Haible  <bruno@clisp.org>
50913
50914         * modules/link-warning: New file.
50915         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
50916         * lib/string_.h (GL_LINK_WARNING): Remove definition.
50917         * modules/string (Depends-on): Add link-warning.
50918         (Makefile.am): Copy the contents of build-aux/link-warning.h into
50919         string.h.
50920         * MODULES.html.sh (Support for building libraries and executables): Add
50921         link-warning.
50922
50923 2007-02-17  Bruno Haible  <bruno@clisp.org>
50924
50925         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
50926         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
50927         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
50928         long lines.
50929
50930 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
50931             Bruno Haible  <bruno@clisp.org>
50932
50933         * modules/tmpfile: New file.
50934         * lib/tmpfile.c: New file.
50935         * m4/tmpfile.m4: New file.
50936         * MODULES.html.sh (func_all_modules): New section "Input/output".
50937
50938 2007-02-15  Bruno Haible  <bruno@clisp.org>
50939
50940         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
50941         (supports_delete_on_close): New function.
50942         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
50943
50944 2007-02-14  Bruno Haible  <bruno@clisp.org>
50945
50946         * modules/mbspcasecmp-tests: New file.
50947         * tests/test-mbspcasecmp.sh: New file.
50948         * tests/test-mbspcasecmp.c: New file.
50949
50950         New module mbspcasecmp.
50951         * modules/mbspcasecmp: New file.
50952         * lib/mbspcasecmp.c: New file.
50953         * lib/string_.h (strncasecmp): Change warning message.
50954         (mbspcasecmp): New declaration.
50955         * m4/mbspcasecmp.m4: New file.
50956         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
50957         GNULIB_MBSPCASECMP.
50958         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
50959         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
50960
50961 2007-02-14  Bruno Haible  <bruno@clisp.org>
50962
50963         * modules/mbsncasecmp-tests: New file.
50964         * tests/test-mbsncasecmp.sh: New file.
50965         * tests/test-mbsncasecmp.c: New file.
50966
50967         New module mbsncasecmp.
50968         * modules/mbsncasecmp: New file.
50969         * lib/mbsncasecmp.c: New file.
50970         * lib/string_.h (mbsncasecmp): New declaration.
50971         * m4/mbsncasecmp.m4: New file.
50972         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
50973         GNULIB_MBSNCASECMP.
50974         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
50975         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
50976
50977 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
50978
50979         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
50980         Verify that it doesn't overlap with our flags.
50981         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
50982         do not have the desired effect in multibyte locales; instead, use
50983         mbscasecmp.
50984         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
50985         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
50986         we don't require GNU fnmatch ourselves (if our users require it, they
50987         should do so explicitly).
50988
50989         Fix regex code so it doesn't rely on strcasecmp.
50990         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
50991         Otherwise, include gnulib's langinfo.h.
50992         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
50993         undesirable behavior in non-C locales.  Instead, rely on localecharset.
50994         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
50995         * modules/regex (FILES): Remove m4/codeset.m4.
50996         (Depends-on): Add localcharset.  Remove strcase.
50997
50998 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50999
51000         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
51001         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
51002
51003 2007-02-13  Bruno Haible  <bruno@clisp.org>
51004
51005         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
51006         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51007
51008 2007-02-12  Bruno Haible  <bruno@clisp.org>
51009
51010         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
51011         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
51012         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
51013         time warning rather than a link error.
51014
51015 2007-02-12  Bruno Haible  <bruno@clisp.org>
51016
51017         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
51018         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
51019         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51020
51021 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
51022
51023         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
51024         args, not 2.
51025
51026 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
51027
51028         New module 'time', so that apps can include <time.h> as per
51029         POSIX and GNU instead of separate include files like time_r.h
51030         and timegm.h.  This implementation tries out a simpler approach
51031         for replacing decls in standard include files (as compared to
51032         the string module), somewhat as an experiment.
51033
51034         * config/srclist.txt: Comment out mktime.c for now.
51035         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
51036         since it doesn't apply any more.  Use generic wording instead.
51037         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
51038         'time'.
51039         * lib/time_.h, m4/time_h.m4, modules/time: New files.
51040         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
51041         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
51042         Don't include <sys/types.h>; no longer needed since we assume C89.
51043         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
51044         * lib/strftime.c: Likewise.
51045         * lib/time_r.c: Likewise.
51046         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
51047         * lib/nanosleep.c: Include <time.h> first, to check interface.
51048         * lib/strptime.c: Likewise.
51049         * lib/time_r.c: Likewise.
51050         * lib/timegm.c: Likewise.
51051         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
51052         needed.
51053         * lib/timegm.c: Don't include timegm.h; no longer needed.
51054         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
51055         time.h now handles any problems in that area.
51056         (struct timespec, nanosleep): Remove; time.h now arranges for these.
51057         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
51058         that time.h defines struct timespec.
51059         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
51060         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
51061         handles that.
51062         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
51063         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
51064         needed.  Set REPLACE_LOCALTIME.
51065         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
51066         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
51067         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
51068         nanosleep; time_h.m4 now does that.  Don't require
51069         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
51070         module handles this now.
51071         * modules/getdate (Depends-on): Remove timespec.  Add time.
51072         * modules/nanosleep (Depends-on): Likewise.
51073         * modules/stat-time (Depends-on): Likewise.
51074         * modules/nanosleep (Include): Include time.h, not timespec.h.
51075         * modules/strptime (Files): Remove lib/strptime.h.
51076         (Depends-on): Add extensions, time.
51077         (Include): Include time.h, not strptime.h.
51078         * modules/time_r (Files): Remove lib/time_r.h.
51079         (Depends-on): Add time.
51080         (Include): Include time.h, not time_r.h.
51081         * modules/timegm: Likewise.
51082         * modules/timespec (Description): Now does timespec-related decls
51083         of our own, instead of struct timespec itself.
51084         (Depends-on): Add time; remove extensions.
51085         (Maintainer): Add self.
51086         * modules/utimecmp (Depends-on): Add time; remove timespec.
51087         * modules/utimens (Depends-on): Likewise.
51088         * modules/xnanosleep (Depends-on): Likewise.
51089
51090 2007-02-11  Bruno Haible  <bruno@clisp.org>
51091
51092         * lib/c-strstr.c: Include allocsa.h.
51093         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
51094         * lib/c-strcasestr.c: Include allocsa.h.
51095         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
51096         * lib/strcasestr.c: Include allocsa.h.
51097         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
51098         * lib/mbsstr.c: Include allocsa.h.
51099         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
51100         allocsa/freesa instead of malloc/free.
51101         * lib/mbscasestr.c: Include allocsa.h.
51102         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
51103         allocsa/freesa instead of malloc/free.
51104         * modules/c-strstr (Depends-on): Add allocsa.
51105         * modules/c-strcasestr (Depends-on): Likewise.
51106         * modules/strcasestr (Depends-on): Likewise.
51107         * modules/mbsstr (Depends-on): Likewise.
51108         * modules/mbscasestr (Depends-on): Likewise.
51109
51110 2007-02-11  Bruno Haible  <bruno@clisp.org>
51111
51112         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
51113
51114         * modules/mbsspn-tests: New file.
51115         * tests/test-mbsspn.sh: New file.
51116         * tests/test-mbsspn.c: New file.
51117
51118 2007-02-11  Bruno Haible  <bruno@clisp.org>
51119
51120         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
51121
51122         * modules/mbspbrk-tests: New file.
51123         * tests/test-mbspbrk.sh: New file.
51124         * tests/test-mbspbrk.c: New file.
51125
51126 2007-02-11  Bruno Haible  <bruno@clisp.org>
51127
51128         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
51129         unneeded cast.
51130
51131         * modules/mbscspn-tests: New file.
51132         * tests/test-mbscspn.sh: New file.
51133         * tests/test-mbscspn.c: New file.
51134
51135 2007-02-11  Bruno Haible  <bruno@clisp.org>
51136
51137         * modules/mbscasecmp-tests: New file.
51138         * tests/test-mbscasecmp.sh: New file.
51139         * tests/test-mbscasecmp.c: New file.
51140
51141 2007-02-11  Bruno Haible  <bruno@clisp.org>
51142
51143         Ensure O(n) worst-case complexity of mbscasestr.
51144         * lib/mbscasestr.c: Include stdbool.h.
51145         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
51146         functions.
51147         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
51148         the bookkeeping indicates that it's worth it.
51149         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
51150
51151         * modules/mbscasestr-tests: New file.
51152         * tests/test-mbscasestr1.c: New file.
51153         * tests/test-mbscasestr2.sh: New file.
51154         * tests/test-mbscasestr2.c: New file.
51155         * tests/test-mbscasestr3.sh: New file.
51156         * tests/test-mbscasestr3.c: New file.
51157         * tests/test-mbscasestr4.sh: New file.
51158         * tests/test-mbscasestr4.c: New file.
51159         * m4/locale-tr.m4: New file.
51160
51161 2007-02-11  Bruno Haible  <bruno@clisp.org>
51162
51163         Ensure O(n) worst-case complexity of mbsstr.
51164         * lib/mbsstr.c: Include stdbool.h.
51165         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
51166         functions.
51167         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
51168         bookkeeping indicates that it's worth it.
51169         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
51170
51171         * modules/mbsstr-tests: New file.
51172         * tests/test-mbsstr1.c: New file.
51173         * tests/test-mbsstr2.sh: New file.
51174         * tests/test-mbsstr2.c: New file.
51175         * tests/test-mbsstr3.sh: New file.
51176         * tests/test-mbsstr3.c: New file.
51177         * m4/locale-fr.m4: New file.
51178
51179 2007-02-11  Bruno Haible  <bruno@clisp.org>
51180
51181         * lib/mbsrchr.c (mbsrchr): Fix bug.
51182
51183         * modules/mbsrchr-tests: New file.
51184         * tests/test-mbsrchr.sh: New file.
51185         * tests/test-mbsrchr.c: New file.
51186
51187 2007-02-11  Bruno Haible  <bruno@clisp.org>
51188
51189         * lib/mbschr.c (mbschr): Fix bug.
51190
51191         * modules/mbschr-tests: New file.
51192         * tests/test-mbschr.sh: New file.
51193         * tests/test-mbschr.c: New file.
51194         * m4/locale-zh.m4: New file.
51195
51196 2007-02-11  Bruno Haible  <bruno@clisp.org>
51197
51198         Support for copying multibyte string iterators.
51199         * lib/mbiter.h: Include <string.h>.
51200         (mbiter_multi_copy): New function.
51201         (mbi_copy): New macro.
51202         * lib/mbuiter.h: Include <string.h>.
51203         (mbuiter_multi_copy): New function.
51204         (mbui_copy): New macro.
51205
51206 2007-02-11  Bruno Haible  <bruno@clisp.org>
51207
51208         New module mbslen.
51209         * modules/mbslen: New file.
51210         * lib/mbslen.c: New file.
51211         * lib/string_.h (mbslen): New declaration.
51212         * m4/mbslen.m4: New file.
51213         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51214         GNULIB_MBSLEN.
51215         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
51216         * MODULES.html.sh (Internationalization functions): Add mbslen.
51217
51218 2007-02-11  Bruno Haible  <bruno@clisp.org>
51219
51220         Ensure O(n) worst-case complexity of strcasestr substitute.
51221         * lib/strcasestr.c: Include stdbool.h.
51222         (knuth_morris_pratt): New function.
51223         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
51224         bookkeeping indicates that it's worth it.
51225         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
51226
51227         * modules/strcasestr-tests: New file.
51228         * tests/test-strcasestr.c: New file.
51229
51230 2007-02-11  Bruno Haible  <bruno@clisp.org>
51231
51232         Ensure O(n) worst-case complexity of c_strcasestr.
51233         * lib/c-strcasestr.c: Include stdbool.h, string.h.
51234         (knuth_morris_pratt): New function.
51235         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
51236         the bookkeeping indicates that it's worth it.
51237         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
51238
51239         * modules/c-strcasestr-tests: New file.
51240         * tests/test-c-strcasestr.c: New file.
51241
51242 2007-02-11  Bruno Haible  <bruno@clisp.org>
51243
51244         Ensure O(n) worst-case complexity of c_strstr.
51245         * lib/c-strstr.c: Include stdbool.h, string.h.
51246         (knuth_morris_pratt): New function.
51247         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
51248         bookkeeping indicates that it's worth it.
51249         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
51250
51251         * lib/c-strstr.c: Complete rewrite for maintainability.
51252
51253         * modules/c-strstr-tests: New file.
51254         * tests/test-c-strstr.c: New file.
51255
51256 2007-02-11  Bruno Haible  <bruno@clisp.org>
51257
51258         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
51259         5.2.1 and earlier, whereby \055 was treated just like the range
51260         delimiter '-'.
51261         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
51262
51263 2007-02-08  Bruno Haible  <bruno@clisp.org>
51264
51265         * modules/regex (Depends-on): Add stdbool.
51266         Reported by Dalibor Topic <robilad@kaffe.org>.
51267
51268 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
51269
51270         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
51271         Prefer returning from main to exiting from it.
51272         Remove unnecessary parens after sizeof.
51273
51274 2007-02-05  Bruno Haible  <bruno@clisp.org>
51275
51276         New module mbssep.
51277         * modules/mbssep: New file.
51278         * lib/mbssep.c: New file.
51279         * lib/string_.h (strsep): Add a conditional link warning.
51280         (mbssep): New declaration.
51281         * m4/mbssep.m4: New file.
51282         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51283         GNULIB_MBSSEP.
51284         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
51285         * MODULES.html.sh (Internationalization functions): Add mbssep.
51286
51287 2007-02-05  Bruno Haible  <bruno@clisp.org>
51288
51289         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
51290         Optimize search in case of 1 delimiter.
51291
51292 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
51293
51294         * lib/acl.h: Include sys/types.h before sys/acl.h.
51295
51296 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
51297
51298         Merge upstream fix for glibc bugzilla #3957:
51299
51300         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
51301
51302         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
51303         bit for RE_HAT_LISTS_NOT_NEWLINE.
51304         (build_charclass_op): Remove bogus comment.
51305
51306 2007-02-05  Simon Josefsson  <simon@josefsson.org>
51307
51308         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
51309
51310 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
51311
51312         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
51313         * lib/memmem.c [!defined _LIBC]: Include config.h.
51314
51315 2007-02-04  Bruno Haible  <bruno@clisp.org>
51316
51317         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
51318         warning message.
51319
51320 2007-02-04  Bruno Haible  <bruno@clisp.org>
51321
51322         New module mbstok_r.
51323         * modules/mbstok_r: New file.
51324         * lib/mbstok_r.c: New file.
51325         * lib/string_.h (strtok_r): Change argument names to match the
51326         comments. Add a conditional link warning.
51327         (mbstok_r): New declaration.
51328         * m4/mbstok_r.m4: New file.
51329         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51330         GNULIB_MBSTOK_R.
51331         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
51332         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
51333
51334 2007-02-04  Bruno Haible  <bruno@clisp.org>
51335
51336         New module mbsspn.
51337         * modules/mbsspn: New file.
51338         * lib/mbsspn.c: New file.
51339         * lib/string_.h (strspn): Add a conditional link warning.
51340         (mbsspn): New declaration.
51341         * m4/mbsspn.m4: New file.
51342         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51343         GNULIB_MBSSPN.
51344         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
51345         * MODULES.html.sh (Internationalization functions): Add mbsspn.
51346
51347 2007-02-04  Bruno Haible  <bruno@clisp.org>
51348
51349         New module mbspbrk.
51350         * modules/mbspbrk: New file.
51351         * lib/mbspbrk.c: New file.
51352         * lib/string_.h (strpbrk): Add a conditional link warning.
51353         (mbspbrk): New declaration.
51354         * m4/mbspbrk.m4: New file.
51355         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51356         GNULIB_MBSPBRK.
51357         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
51358         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
51359
51360 2007-02-04  Bruno Haible  <bruno@clisp.org>
51361
51362         New module mbscspn.
51363         * modules/mbscspn: New file.
51364         * lib/mbscspn.c: New file.
51365         * lib/string_.h (strcspn): Add a conditional link warning.
51366         (mbscspn): New declaration.
51367         * m4/mbscspn.m4: New file.
51368         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51369         GNULIB_MBSCSPN.
51370         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
51371         * MODULES.html.sh (Internationalization functions): Add mbscspn.
51372
51373 2007-02-04  Bruno Haible  <bruno@clisp.org>
51374
51375         New module mbscasestr, reduced goal of strcasestr.
51376         * modules/mbscasestr: New file.
51377         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
51378         (mbscasestr): Renamed from strcasestr.
51379         * lib/strcasestr.c: Don't include mbuiter.h.
51380         (strcasestr): Remove support for multibyte locales.
51381         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
51382         Change the conditional link warning.
51383         (mbscasestr): New declaration.
51384         * m4/mbscasestr.m4: New file.
51385         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
51386         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
51387         REPLACE_STRCASESTR.
51388         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
51389         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51390         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
51391         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
51392         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
51393         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
51394         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
51395         (Depends-on): Remove mbuiter.
51396         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
51397
51398 2007-02-04  Bruno Haible  <bruno@clisp.org>
51399
51400         Simplify handling of strncasecmp.
51401         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
51402         the conditional link warning.
51403         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51404         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
51405         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
51406         * modules/strcase (configure.ac): Don't invoke
51407         gl_STRING_MODULE_INDICATOR.
51408         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
51409
51410 2007-02-04  Bruno Haible  <bruno@clisp.org>
51411
51412         New module mbscasecmp, reduced goal of strcasecmp.
51413         * modules/mbscasecmp: New file.
51414         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
51415         (mbscasecmp): Renamed from strcasecmp.
51416         * lib/strcasecmp.c: Don't include mbuiter.h.
51417         (strcasecmp): Remove support for multibyte locales.
51418         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
51419         Change the conditional link warning.
51420         (mbscasecmp): New declaration.
51421         * m4/mbscasecmp.m4: New file.
51422         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
51423         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
51424         REPLACE_STRCASECMP.
51425         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
51426         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51427         GNULIB_MBSCASECMP.
51428         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
51429         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
51430         * modules/strcase (Files): Remove m4/mbrtowc.m4.
51431         (Depends-on): Remove mbuiter.
51432         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
51433
51434 2007-02-04  Bruno Haible  <bruno@clisp.org>
51435
51436         New module mbsstr. Remove module strstr.
51437         * modules/mbsstr: New file.
51438         * modules/strstr: Remove file.
51439         * lib/mbsstr.c: Renamed from lib/strstr.c.
51440         (mbsstr): Renamed from strstr.
51441         * lib/string_.h (strstr): Remove declaration. Change the conditional
51442         link warning.
51443         (mbsstr): New declaration.
51444         * m4/mbsstr.m4: New file.
51445         * m4/strstr.m4: Remove file.
51446         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
51447         REPLACE_STRSTR.
51448         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
51449         Don't initialize GNULIB_STRSTR.
51450         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
51451         substitute GNULIB_STRSTR and REPLACE_STRSTR.
51452         * MODULES.html.sh (Internationalization functions): Add mbsstr.
51453         (Support for systems lacking ANSI C 89): Remove strstr.
51454
51455 2007-02-04  Bruno Haible  <bruno@clisp.org>
51456
51457         New module mbsrchr.
51458         * modules/mbsrchr: New file.
51459         * lib/mbsrchr.c: New file.
51460         * lib/string_.h (strrchr): Add a conditional link warning.
51461         (mbsrchr): New declaration.
51462         * m4/mbsrchr.m4: New file.
51463         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51464         GNULIB_MBSRCHR.
51465         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
51466         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
51467
51468 2007-02-04  Bruno Haible  <bruno@clisp.org>
51469
51470         New module mbschr.
51471         * modules/mbschr: New file.
51472         * lib/mbschr.c: New file.
51473         * lib/string_.h (strchr): Add a conditional link warning.
51474         (mbschr): New declaration.
51475         * m4/mbschr.m4: New file.
51476         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51477         GNULIB_MBSCHR.
51478         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
51479         * MODULES.html.sh (Internationalization functions): Add mbschr.
51480
51481 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
51482
51483         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
51484
51485         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
51486
51487 2007-02-04  Bruno Haible  <bruno@clisp.org>
51488
51489         New module description section 'configure.ac-early'.
51490         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
51491         (func_get_autoconf_early_snippet): New function.
51492         (func_import, func_create_testdir): Use it. Remove special cases for
51493         modules 'extensions' and 'lock'.
51494         * modules/extensions (configure.ac-early): Require
51495         gl_USE_SYSTEM_EXTENSIONS.
51496         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
51497
51498 2007-02-04  Bruno Haible  <bruno@clisp.org>
51499
51500         Make use of gcj-4.3's -fsource and -ftarget option.
51501         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
51502         and if so try the options -fsource and -ftarget.
51503         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
51504         source_version, ftarget_option, target_version arguments.
51505         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
51506         (is_envjavac_oldgcj_14_14_usable): Renamed from
51507         is_envjavac_gcj_14_14_usable.
51508         (is_envjavac_oldgcj_14_13_usable): Renamed from
51509         is_envjavac_gcj_14_13_usable.
51510         (is_gcj_present): Update.
51511         (is_gcj_43, is_gcj43_usable): New functions.
51512         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
51513         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
51514         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
51515         try the options -fsource and -ftarget.
51516
51517 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
51518
51519         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
51520         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
51521         larger value.
51522
51523 2007-02-03  Jim Meyering  <jim@meyering.net>
51524
51525         Give tools a better chance to allocate space for very large buffers.
51526         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
51527
51528         Make pwd and readlink work also when run with an unreadable parent dir
51529         on systems with openat support.
51530         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
51531         provided getcwd function, even when we have openat support.
51532         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
51533
51534 2007-02-02  Bruno Haible  <bruno@clisp.org>
51535
51536         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
51537         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
51538         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
51539         portability problems if one of these functions is only used on specific
51540         platforms.
51541         Reported by Paul Eggert.
51542
51543 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
51544
51545         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
51546         is causing more trouble than it's curing.
51547         * lib/regex_internal.h (__mempcpy): Remove.
51548         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
51549         (and make the code a tad smaller to boot).
51550         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
51551
51552 2007-02-02  Jim Meyering  <jim@meyering.net>
51553
51554         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
51555         section, not in the Makefile.am: one.
51556
51557 2007-02-02  Eric Blake  <ebb9@byu.net>
51558
51559         * lib/strchrnul.c: Always include config.h first.
51560
51561         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
51562         gnulib strstr is not necessary here.
51563
51564 2007-02-02  Simon Josefsson  <simon@josefsson.org>
51565
51566         * m4/socklen.m4: Fix typo.
51567
51568 2007-02-02  Eric Blake  <ebb9@byu.net>
51569
51570         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
51571         * modules/netinet_in (Makefile.am): Likewise.
51572
51573 2007-02-01  Bruno Haible  <bruno@clisp.org>
51574
51575         * lib/string_.h (GL_LINK_WARNING): New macro.
51576         (strcasecmp, strstr, strcasestr): If provided by the system,
51577         conditionally define as a macro that leads to a warning instead of to
51578         an error.
51579         (strncasecmp): Conditionally define as a macro that leads to a warning.
51580
51581 2007-02-01  Karl Berry  <karl@gnu.org>
51582
51583         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
51584
51585 2007-02-01  Bruno Haible  <bruno@clisp.org>
51586
51587         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
51588         renamings.
51589
51590 2007-02-01  Eric Blake  <ebb9@byu.net>
51591
51592         * modules/regex (Depends-on): Revert dependence on mempcpy.
51593         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
51594         module's definition of mempcpy.
51595         Reported by Paul Eggert.
51596
51597 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
51598
51599         * lib/string_.h: If the gnulib module XYZ is not present, undefine
51600         the symbol XYZ before redefining it.  This fixes a problem with
51601         programs that don't use XYZ, when compiled on systems that define
51602         XYZ to something else.
51603
51604 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
51605
51606         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
51607         occurs when "mkdir -m foo" creates a setgid directory that is (1)
51608         writeable to group or other and (2) is intended to have a special
51609         mode bit that is set or cleared.  In such a case, the directory
51610         should be neither group- nor other-writeable until the special
51611         mode bits are right.
51612
51613 2007-01-31  Eric Blake  <ebb9@byu.net>
51614
51615         * modules/mountlist (Depends-on): Add strstr.
51616
51617         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
51618         bug.
51619         * modules/string (Makefile.am): Remove redundant replacement.
51620         * modules/regex (Depends-on): Add mempcpy.
51621
51622 2007-01-31  Bruno Haible  <bruno@clisp.org>
51623
51624         New module description field 'Link'.
51625         * gnulib-tool (func_usage): Document --extract-link-directive.
51626         (sed_extract_prog): Recognize 'Link' directive.
51627         (func_get_link_directive): New function.
51628         (func_import): Show summary of link directives.
51629         Handle --extract-link-directive option.
51630         * modules/acl (Link): New section.
51631         * modules/clock-time (Link): New section.
51632         * modules/euidaccess (Link): New section.
51633         * modules/gettext (Link): New section.
51634         * modules/iconv (Link): New section.
51635         * modules/lock (Link): New section.
51636         * modules/nanosleep (Link): New section.
51637         * modules/readline (Link): New section.
51638
51639 2007-01-27  Bruno Haible  <bruno@clisp.org>
51640
51641         Enforce the use of gnulib modules for unportable <string.h> functions.
51642         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
51643         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
51644         (gl_HEADER_STRING_H_BODY): Require it.
51645         * lib/string_.h: If the gnulib module XYZ is not present, redefine
51646         the symbol XYZ to one that gives a link error.
51647         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
51648         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
51649         * modules/mempcpy (configure.ac): Likewise.
51650         * modules/memrchr (configure.ac): Likewise.
51651         * modules/stpcpy (configure.ac): Likewise.
51652         * modules/stpncpy (configure.ac): Likewise.
51653         * modules/strcase (configure.ac): Likewise.
51654         * modules/strcasestr (configure.ac): Likewise.
51655         * modules/strchrnul (configure.ac): Likewise.
51656         * modules/strdup (configure.ac): Likewise.
51657         * modules/strndup (configure.ac): Likewise.
51658         * modules/strnlen (configure.ac): Likewise.
51659         * modules/strpbrk (configure.ac): Likewise.
51660         * modules/strsep (configure.ac): Likewise.
51661         * modules/strstr (configure.ac): Likewise.
51662         * modules/strtok_r (configure.ac): Likewise.
51663
51664 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
51665
51666         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
51667
51668 2007-01-30  Jim Meyering  <jim@meyering.net>
51669
51670         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
51671
51672 2007-01-29  Bruno Haible  <bruno@clisp.org>
51673
51674         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
51675         * lib/execute.c: Likewise.
51676         * lib/pipe.c: Likewise.
51677         * lib/printf-args.h: Likewise.
51678         * lib/printf-args.c: Likewise.
51679         * lib/printf-parse.c: Likewise.
51680         * lib/vasnprintf.c: Likewise.
51681
51682 2007-01-29  Eric Blake  <ebb9@byu.net>
51683
51684         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
51685         declaration.
51686
51687 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
51688
51689         * lib/strptime.h (strptime): Use 'restrict' for args where
51690         POSIX requires this.
51691         * lib/strptime.c (strptime): Likewise.
51692         Change license notice from LGPL to GPL, since gnulib-tool will
51693         change this as needed.
51694         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
51695         defined.
51696         Include "strptime.h" first, to check interface.
51697         Do not #undef _LIBC and _NL_CURRENT.
51698         Do not include <stdlib.h>; no longer needed.
51699         Include "time_r.h" and declare ptime_locale_status
51700         only if _LIBC is not defined.
51701         (__P): Remove unused macro.
51702         (match_string): Bring back glibc version, but use it only if _LIBC
51703         is defined.
51704         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
51705         Remove unnecessary assertion and abort() call.
51706         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
51707         * m4/strptime.m4: Fix serial number comment.
51708         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
51709         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
51710         (Depends-on): Add time_r.
51711
51712 2007-01-29  Bruno Haible  <bruno@clisp.org>
51713
51714         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51715         strptime.
51716         * modules/strptime (Depends-on): Add stdbool.
51717         * lib/strptime.h: Include <time.h> always. Add comments.
51718
51719 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51720
51721         * modules/strptime: New file.
51722         * lib/strptime.h: New file.
51723         * lib/strptime.c: New file.
51724         * m4/strptime.m4: New file.
51725
51726 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
51727
51728         * MODULES.html.sh: New module mpsort.
51729         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
51730
51731         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
51732         a circularity problem with HP-UX ia64 reported by Bob Proulx in
51733         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
51734         All uses changed.
51735         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
51736         All uses changed.
51737         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
51738         to _Restrict_.
51739         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
51740         the parameter matches the prototype.
51741
51742 2007-01-28  Jim Meyering  <jim@meyering.net>
51743
51744         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
51745         sys/time.h here, reverting that part of the previous patch:
51746         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
51747
51748 2007-01-28  Bruno Haible  <bruno@clisp.org>
51749
51750         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
51751         value of $(SYS_TIME_H).
51752         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
51753         remove it conditionally, too. [added by Jim Meyering]
51754         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
51755         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
51756         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
51757         GETTIMEOFDAY_REPLACEMENT to 1.
51758
51759 2007-01-28  Bruno Haible  <bruno@clisp.org>
51760
51761         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
51762         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
51763         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
51764         Set UNISTD_H instead of UNISTD_H2.
51765         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
51766
51767 2007-01-28  Bruno Haible  <bruno@clisp.org>
51768
51769         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
51770         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
51771
51772 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51773
51774         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
51775         (func_create_testdir): Ensure C locale for `grep' and `tr'
51776         character ranges.
51777         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
51778         ACLOCAL_AMFLAGS parsing state machine.
51779
51780 2007-01-27  Bruno Haible  <bruno@clisp.org>
51781
51782         * modules/unistr/base: Update.
51783
51784 2007-01-27  Bruno Haible  <bruno@clisp.org>
51785
51786         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
51787         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
51788         * modules/unistr/u32-mbtouc-unsafe: Renamed from
51789         modules/unistr/u32-mbtouc.
51790         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
51791         * lib/unistr.h: Update.
51792         * lib/linebreak.c: Update.
51793         * modules/unistr/u32-mbtouc: Renamed from
51794         modules/unistr/u32-mbtouc-safe.
51795         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
51796         * lib/unistr.h: Update.
51797         * lib/unistr/u32-to-u8.c: Update.
51798         * lib/unistr/u32-to-u16.c: Update.
51799
51800 2007-01-27  Bruno Haible  <bruno@clisp.org>
51801
51802         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
51803         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
51804         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
51805         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
51806         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
51807         * modules/unistr/u16-mbtouc-unsafe: Renamed from
51808         modules/unistr/u16-mbtouc.
51809         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
51810         * lib/unistr.h: Update.
51811         * lib/linebreak.c: Update.
51812         * modules/linebreak: Update.
51813         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
51814         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
51815         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
51816         * modules/unistr/u16-mbtouc: Renamed from
51817         modules/unistr/u16-mbtouc-safe.
51818         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
51819         * lib/unistr.h: Update.
51820         * lib/unistr/u16-to-u8.c: Update.
51821         * modules/unistr/u16-to-u8: Update.
51822         * lib/unistr/u16-to-u32.c: Update.
51823         * modules/unistr/u16-to-u32: Update.
51824
51825 2007-01-27  Bruno Haible  <bruno@clisp.org>
51826
51827         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
51828         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
51829         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
51830         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
51831         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
51832         * modules/unistr/u8-mbtouc-unsafe: Renamed from
51833         modules/unistr/u8-mbtouc.
51834         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
51835         * lib/unistr.h: Update.
51836         * lib/striconveh.c: Update.
51837         * modules/striconveh: Update.
51838         * lib/linebreak.c: Update.
51839         * modules/linebreak: Update.
51840         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
51841         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
51842         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
51843         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
51844         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
51845         * lib/unistr.h: Update.
51846         * lib/striconveh.c: Update.
51847         * modules/striconveh: Update.
51848         * lib/unistr/u8-to-u16.c: Update.
51849         * modules/unistr/u8-to-u16: Update.
51850         * lib/unistr/u8-to-u32.c: Update.
51851         * modules/unistr/u8-to-u32: Update.
51852
51853 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51854
51855         Sync from Libtool.
51856         * lib/argz.c: Do not include strings.h nor memory.h, include
51857         string.h unconditionally.  Patch by Simon Josefsson.
51858
51859 2007-01-27  Bruno Haible  <bruno@clisp.org>
51860
51861         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
51862         from gl_HEADER_STRING_H_BODY.
51863         (gl_HEADER_STRING_H_BODY): Require it.
51864         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
51865         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
51866         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
51867         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
51868         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
51869         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
51870         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
51871         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
51872         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
51873         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
51874         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
51875         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
51876         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
51877         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
51878         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
51879
51880 2007-01-27  Bruno Haible  <bruno@clisp.org>
51881
51882         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
51883         check_PROGRAMS into noinst_PROGRAMS.
51884         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
51885         check_PROGRAMS in this case.
51886         (func_import): Set for_test to false.
51887         (func_create_testdir): Set for_test to true.
51888
51889 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
51890             Bruno Haible  <bruno@clisp.org>
51891
51892         * modules/strcasestr (Files): Remove lib/strcasestr.h.
51893         (Depends-on): Add string.
51894         (Includes): Use <string.h> instead of strcasestr.h.
51895         * modules/string (Makefile.am): Also substitute the value of
51896         REPLACE_STRCASESTR.
51897         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
51898         assume strcasestr is declared in <string.h> not <strings.h>. Also
51899         set REPLACE_STRCASESTR.
51900         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
51901         REPLACE_STRCASESTR.
51902         * lib/strcasestr.h: Remove file.
51903         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
51904         * lib/string_.h (strcasestr): New declaration.
51905
51906 2007-01-27  Bruno Haible  <bruno@clisp.org>
51907
51908         * lib/string_.h: Use 'extern'.
51909
51910 2007-01-27  Jim Meyering  <jim@meyering.net>
51911
51912         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
51913         of set-but-not-used local, "q".
51914
51915         * lib/mempcpy.c: Include <config.h> before <string.h>.
51916         This fixes a compilation error on HP-UX, due to the system's
51917         "restrict"-using mempcpy prototype.
51918
51919 2007-01-26  Bruno Haible  <bruno@clisp.org>
51920
51921         Small optimization.
51922         * lib/javacomp.c: Include c-strstr.h.
51923          (is_envjavac_gcj): Use c_strstr instead of strstr.
51924         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
51925
51926 2007-01-26  Bruno Haible  <bruno@clisp.org>
51927
51928         * MODULES.html.sh (Unicode string functions): Add the new modules.
51929
51930         * modules/uniconv/u32-strconv-to-locale: New file.
51931         * lib/uniconv/u32-strconv-to-locale.c: New file.
51932
51933         * modules/uniconv/u16-strconv-to-locale: New file.
51934         * lib/uniconv/u16-strconv-to-locale.c: New file.
51935
51936         * modules/uniconv/u8-strconv-to-locale: New file.
51937         * lib/uniconv/u8-strconv-to-locale.c: New file.
51938
51939         * modules/uniconv/u32-strconv-from-locale: New file.
51940         * lib/uniconv/u32-strconv-from-locale.c: New file.
51941
51942         * modules/uniconv/u16-strconv-from-locale: New file.
51943         * lib/uniconv/u16-strconv-from-locale.c: New file.
51944
51945         * modules/uniconv/u8-strconv-from-locale: New file.
51946         * lib/uniconv/u8-strconv-from-locale.c: New file.
51947
51948         * modules/uniconv/u32-strconv-to-enc: New file.
51949         * lib/uniconv/u32-strconv-to-enc.c: New file.
51950         * modules/uniconv/u32-strconv-to-enc-tests: New file.
51951         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
51952
51953         * modules/uniconv/u16-strconv-to-enc: New file.
51954         * lib/uniconv/u16-strconv-to-enc.c: New file.
51955         * lib/uniconv/u-strconv-to-enc.h: New file.
51956         * modules/uniconv/u16-strconv-to-enc-tests: New file.
51957         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
51958
51959         * modules/uniconv/u8-strconv-to-enc: New file.
51960         * lib/uniconv/u8-strconv-to-enc.c: New file.
51961         * modules/uniconv/u8-strconv-to-enc-tests: New file.
51962         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
51963
51964         * modules/uniconv/u32-strconv-from-enc: New file.
51965         * lib/uniconv/u32-strconv-from-enc.c: New file.
51966         * modules/uniconv/u32-strconv-from-enc-tests: New file.
51967         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
51968
51969         * modules/uniconv/u16-strconv-from-enc: New file.
51970         * lib/uniconv/u16-strconv-from-enc.c: New file.
51971         * modules/uniconv/u16-strconv-from-enc-tests: New file.
51972         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
51973
51974         * modules/uniconv/u8-strconv-from-enc: New file.
51975         * lib/uniconv/u8-strconv-from-enc.c: New file.
51976         * lib/uniconv/u-strconv-from-enc.h: New file.
51977         * modules/uniconv/u8-strconv-from-enc-tests: New file.
51978         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
51979
51980         * modules/uniconv/u32-conv-from-enc: New file.
51981         * lib/uniconv/u32-conv-from-enc.c: New file.
51982         * modules/uniconv/u32-conv-from-enc-tests: New file.
51983         * tests/uniconv/test-u32-conv-from-enc.c: New file.
51984
51985         * modules/uniconv/u16-conv-from-enc: New file.
51986         * lib/uniconv/u16-conv-from-enc.c: New file.
51987         * lib/uniconv/u-conv-from-enc.h: New file.
51988         * modules/uniconv/u16-conv-from-enc-tests: New file.
51989         * tests/uniconv/test-u16-conv-from-enc.c: New file.
51990
51991         * modules/uniconv/u8-conv-from-enc: New file.
51992         * lib/uniconv/u8-conv-from-enc.c: New file.
51993         * modules/uniconv/u8-conv-from-enc-tests: New file.
51994         * tests/uniconv/test-u8-conv-from-enc.c: New file.
51995
51996         * modules/uniconv/base: New file.
51997         * lib/uniconv.h: New file.
51998
51999 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
52000
52001         * doc/gnulib-tool.texi (Initial import): Update to match current
52002         behavior with strdup module.
52003         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
52004         * lib/memmem.h: Remove; all uses removed.  This is now done
52005         by <string.h>.
52006         * lib/mempcpy.h: Likewise.
52007         * lib/memrchr.h: Likewise.
52008         * lib/stpcpy.h: Likewise.
52009         * lib/stpncpy.h: Likewise.
52010         * lib/strcase.h: Likewise.
52011         * lib/strchrnul.h: Likewise.
52012         * lib/strdup.h: Likewise.
52013         * lib/strndup.h: Likewise.
52014         * lib/strnlen.h: Likewise.
52015         * lib/strpbrk.h: Likewise.
52016         * lib/strsep.h: Likewise.
52017         * lib/strstr.h: Likewise.
52018         * lib/strtok_r.h: Likewise.
52019         * lib/string_.h: New file.
52020         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
52021         Rely on <string.h> instead.
52022         * lib/canon-host.c: Likewise.
52023         * lib/chdir-long.c: Likewise.
52024         * lib/concatpath.c: Likewise.
52025         * lib/exclude.c: Likewise.
52026         * lib/fchdir.c: Likewise.
52027         * lib/getaddrinfo.c: Likewise.
52028         * lib/getcwd.c: Likewise.
52029         * lib/getsubopt.c: Likewise.
52030         * lib/glob.c: Likewise.
52031         * lib/hard-locale.c: Likewise.
52032         * lib/iconvme.c: Likewise.
52033         * lib/javacomp.c: Likewise.
52034         * lib/mempcpy.c: Likewise.
52035         * lib/memrchr.c: Likewise.
52036         * lib/regex_internal.h: Likewise.
52037         * lib/stpncpy.c: Likewise.
52038         * lib/strcasecmp.c: Likewise.
52039         * lib/strchrnul.c: Likewise.
52040         * lib/strdup.c: Likewise.
52041         * lib/striconv.c: Likewise.
52042         * lib/striconveh.c: Likewise.
52043         * lib/striconveha.c: Likewise.
52044         * lib/strncasecmp.c: Likewise.
52045         * lib/strndup.c: Likewise.
52046         * lib/strnlen.c: Likewise.
52047         * lib/strsep.c: Likewise.
52048         * lib/strstr.c: Likewise.
52049         * lib/strtok_r.c: Likewise.
52050         * lib/userspec.c: Likewise.
52051         * lib/w32spawn.h: Likewise.
52052         * lib/xstrndup.c: Likewise.
52053         * lib/mountlist.c (strstr): Remove decl.
52054         * m4/string_h.m4: New file.
52055         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
52056         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
52057         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
52058         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
52059         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
52060         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
52061         Set REPLACE_STRCASECMP if necessary.
52062         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
52063         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
52064         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
52065         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
52066         HAVE_DECL_STRDUP if necessary.
52067         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
52068         since gl_FUNC_STRNDUP does that now.
52069         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
52070         Check for decl here...
52071         (gl_PREREQ_STRNLEN): ... not here.
52072         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
52073         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
52074         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
52075         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
52076         necessary.
52077         * modules/string: New file.
52078         * modules/memmem (Files): Remove special-purpose include file.
52079         (Depends-on): Add string.
52080         (Include): Include <string.h>, not the removed file.
52081         * modules/mempcpy: Likewise.
52082         * modules/memrchr: Likewise.
52083         * modules/stpcpy: Likewise.
52084         * modules/stpncpy: Likewise.
52085         * modules/strcase: Likewise.
52086         * modules/strchrnul: Likewise.
52087         * modules/strdup: Likewise.
52088         * modules/strndup: Likewise.
52089         * modules/strnlen: Likewise.
52090         * modules/strpbrk: Likewise.
52091         * modules/strsep: Likewise.
52092         * modules/strstr: Likewise.
52093         * modules/strtok_r: Likewise.
52094         * tests/test-dirname.c: Don't include "strdup.h", since
52095         <string.h> now suffices.
52096         * tests/test-memmem.c: Don't include "memmem.h", since
52097         <string.h> now suffices.
52098
52099 2007-01-25  Bruno Haible  <bruno@clisp.org>
52100
52101         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
52102         *resultp is 0.
52103
52104         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
52105         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
52106         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
52107         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
52108
52109         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
52110         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
52111         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
52112         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
52113         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
52114         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
52115
52116 2007-01-24  Bruno Haible  <bruno@clisp.org>
52117
52118         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
52119         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
52120         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
52121         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
52122         gl_FUNC_FTS_CORE.
52123         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
52124         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
52125         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
52126         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
52127         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
52128         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
52129         gl_FUNC_FCHOWNAT.
52130         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
52131         gl_FUNC_STRFTIME.
52132         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
52133         Reported by Ralf Wildenhues.
52134
52135 2007-01-24  Bruno Haible  <bruno@clisp.org>
52136
52137         Drop AC_REQUIRE calls that are redundant with the module dependencies.
52138         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
52139         gl_GETADDRINFO.
52140         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
52141         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
52142         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
52143
52144 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
52145
52146         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
52147         Don't use 'exit'; just return from 'main'.
52148         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
52149
52150         * lib/fnmatch_.h: Readjust white space and comments to match
52151         glibc, to avoid spurious diffs.
52152
52153 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
52154
52155         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
52156         2004-12-01 change by Jakub Jelinek, since this code won't compile
52157         if !LIBC.  Problem reported by Bob Proulx.
52158
52159 2007-01-23  Bruno Haible  <bruno@clisp.org>
52160
52161         * lib/striconveh.c: Include c-strcaseeq.h.
52162         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
52163         * modules/striconveh (Depends-on): Add c-strcaseeq.
52164
52165 2007-01-23  Bruno Haible  <bruno@clisp.org>
52166
52167         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
52168
52169         * modules/c-strcaseeq: New file.
52170         * lib/c-strcaseeq.h: New file.
52171
52172         * modules/streq: New file.
52173         * lib/streq.h: New file.
52174
52175 2007-01-23  Bruno Haible  <bruno@clisp.org>
52176
52177         * modules/striconveha-tests: New file.
52178         * tests/test-striconveha.c: New file.
52179
52180         * lib/striconveha.h: Include <stdbool.h>.
52181         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
52182         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
52183         (mem_iconveha_notranslit): Renamed from mem_iconveha.
52184         (mem_iconveha): New function.
52185         (str_iconveha_notranslit): Renamed from str_iconveha.
52186         (str_iconveha): New function.
52187         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
52188         c-strcase.
52189
52190 2007-01-23  Bruno Haible  <bruno@clisp.org>
52191
52192         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
52193         encodings without forgiving before trying any encoding with handler.
52194         (str_iconveha): Try all encodings without forgiving before trying any
52195         encoding with handler.
52196
52197 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
52198
52199         Import the following changes from libc.
52200
52201         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
52202
52203         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
52204
52205         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
52206
52207         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
52208         normal_bracket label.
52209
52210         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
52211
52212         [BZ #361]
52213         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
52214         to normal_bracket after fetching the next character.
52215
52216 2007-01-22  Bruno Haible  <bruno@clisp.org>
52217
52218         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
52219         argument.
52220         * lib/striconveh.c (iconv_carefully_1): New function.
52221         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
52222         argument.
52223         (str_cd_iconveh): Update.
52224         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
52225         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
52226         * tests/test-striconveh.c (MAGIC): New macro.
52227         (new_offsets): New function.
52228         (main): Test call with and without offsets.
52229
52230 2007-01-22  Bruno Haible  <bruno@clisp.org>
52231
52232         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
52233         * modules/sys_select (Makefile.am): Likewise.
52234         * modules/sys_socket (Makefile.am): Likewise.
52235         * modules/sys_time (Makefile.am): Likewise.
52236
52237 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
52238
52239         * modules/gettimeofday (License): Change from GPL to LGPL, since
52240         gettimeofday is a library function.
52241
52242 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52243
52244         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
52245
52246 2007-01-21  Bruno Haible  <bruno@clisp.org>
52247
52248         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
52249
52250 2007-01-21  Bruno Haible  <bruno@clisp.org>
52251
52252         * modules/striconveha: New file.
52253         * lib/striconveha.h: New file.
52254         * lib/striconveha.c: New file.
52255         * MODULES.html.sh (Internationalization functions): Add striconveha.
52256         * lib/striconv.c (str_iconv): Optimize the case of an empty input
52257         string.
52258         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
52259
52260 2007-01-21  Bruno Haible  <bruno@clisp.org>
52261
52262         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
52263         * lib/striconveh.c (str_iconveh): Likewise.
52264
52265 2007-01-21  Bruno Haible  <bruno@clisp.org>
52266
52267         * lib/striconveh.h (mem_iconveh): New declaration.
52268         * lib/striconveh.c (mem_iconveh): New function.
52269         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
52270
52271 2007-01-21  Bruno Haible  <bruno@clisp.org>
52272
52273         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
52274
52275         * lib/striconveh.h (mem_cd_iconveh): Change specification.
52276         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
52277         original result buffer.
52278         (str_cd_iconveh): Update.
52279         * tests/test-striconveh.c (main): Update.
52280
52281         * lib/striconv.h (mem_cd_iconv): Change specification.
52282         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
52283         result buffer.
52284         (str_cd_iconv): Update.
52285         * tests/test-striconv.c (main): Update.
52286
52287 2007-01-21  Bruno Haible  <bruno@clisp.org>
52288
52289         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
52290
52291 2007-01-20  Jim Meyering  <jim@meyering.net>
52292
52293         * lib/userspec.c (parse_with_separator): If a user or group string
52294         starts with "+", skip the corresponding name-to-ID look-up, since
52295         such a look-up must fail: user and group names may not include "+".
52296
52297 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
52298
52299         * lib/poll.c: Include sys/time.h and time.h unconditionally,
52300         since we now assume the sys_time module.
52301         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
52302         check for sys/time.h; no longer needed.
52303         * modules/poll (Depends-on): Depend on sys_time.
52304
52305 2007-01-18  Bruno Haible  <bruno@clisp.org>
52306
52307         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
52308         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
52309
52310         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
52311         gettimeofday.
52312
52313         * tests/test-gettimeofday.c: Include <time.h>.
52314         (dummy): Remove variable.
52315
52316         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
52317         gl_HEADER_SYS_TIME_H.
52318         (gl_HEADER_SYS_TIME_H): New macro.
52319
52320         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
52321         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52322         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
52323         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
52324         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52325         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
52326         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
52327         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52328         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
52329         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
52330         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52331
52332         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
52333         last change; it caused a compilation error when cross-compiling to
52334         Cygwin.
52335
52336 2007-01-18  Jim Meyering  <jim@meyering.net>
52337
52338         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
52339         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
52340         than the race-prone "test -d sys || mkdir sys".
52341         (configure.ac): Use AC_PROG_MKDIR_P.
52342         * modules/sys_select: Likewise.
52343         * modules/sys_socket: Likewise.
52344         * modules/sys_time: Likewise.
52345
52346 2007-01-18  Eric Blake  <ebb9@byu.net>
52347
52348         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
52349         replace gettimeofday.
52350         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
52351         name, to avoid infinite recursion.
52352
52353 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
52354
52355         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
52356         module sys_time.
52357         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
52358         assume timespec.h defines struct timeval.
52359         * lib/settime.c: Likewise.
52360         * lib/utimens.c: Likewise.
52361         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
52362         since we now assume the gettimeofday module.
52363         * lib/tempname.c (__gen_tempname): Likewise.
52364         * lib/gettimeofday.h: Remove.
52365         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
52366         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
52367         Include <time.h>, for 'time()'.
52368         (localtime_buffer_addr): Also use this workaround if
52369         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
52370         to simplify the uses.  All uses changed.
52371         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
52372         that #undef is inside {}, and 'const' follows type name consistently.
52373         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
52374         (gettimeofday): Do not use the maximum possible value for
52375         tv->tv_usec, since that might break usages other than ls.c.
52376         Instead, we'll leave ls.c alone.  This undoes today's patch
52377         by Bruno.  Add a compile-time warning for 1s-clock resolution;
52378         we've never observed the problem but might as well keep the
52379         canary.
52380         * lib/nanosleep.c: Include timespec.h first, for interface check.
52381         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
52382         now assume the sys_time module.
52383         * lib/tempname.c: Likewise.
52384         * lib/timespec.h: Likewise.
52385         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
52386         needed.
52387         * lib/strftime.c: Likewise.
52388         * lib/timespec.h: Likewise.
52389         * lib/posixtm.c: Include posixtm.h first, for interface check.
52390         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
52391         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
52392         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
52393         * lib/sys_time_.h: New file.
52394         * lib/timespec.h (struct timespec): Use long int, not long.
52395         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
52396         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
52397         Remove obsolescent call to AC_HEADER_TIME.
52398         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
52399         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
52400         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
52401         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
52402         Likewise.
52403         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
52404         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
52405         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
52406         into the sys_time module.  Check for gettimeofday just once.
52407         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
52408         for gettimeofday signature to just check the signature.  Merely
52409         compile it, since linking doesn't test signature.  Improve test for
52410         whether gettimeofday.o is actually needed.
52411         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
52412         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
52413         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
52414         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52415         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
52416         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
52417         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
52418         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
52419         than worrying about sys/time.h.
52420         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
52421         Don't bother worrying about TIME_WITH_SYS_TIME.
52422         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
52423         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
52424         * m4/sys_time_h.m4: New file.
52425         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
52426         Don't include sys/time.h.  Return from main rather than exiting.
52427         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
52428         all uses changed.
52429         * modules/gethrxtime (Depends-on): Add sys_time.
52430         * modules/gettime (Depends-on): Likewise.
52431         * modules/gettimeofday (Depends-on): Likewise.
52432         * modules/nanosleep (Depends-on): Likewise.
52433         * modules/settime (Depends-on): Likewise.
52434         * modules/tempname (Depends-on): Likewise.
52435         * modules/utimens (Depends-on): Likewise.
52436         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
52437         (Include:) Change back to <sys/time.h>.
52438         (Maintainer:) Add self.
52439         * modules/sys_time: New file.
52440         * modules/tempname (Depends-on): Add gettimeofday.
52441         * tests/test-gettimeofday.c: Include <sys/time.h>
52442         rather than gettimeofday.h.
52443
52444 2007-01-17  Bruno Haible  <bruno@clisp.org>
52445
52446         * gnulib-tool (func_get_license): Revert last patch. Instead, let
52447         the license default to GPL.
52448         (func_create_testdir): Don't complain if a module is LGPL and its
52449         tests module depends on GPLed modules.
52450
52451 2007-01-17  Bruno Haible  <bruno@clisp.org>
52452
52453         * lib/gettimeofday.c (gettimeofday): Add code for the case
52454         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
52455         maximum possible value for tv->tv_usec, rather than the minimum one.
52456
52457 2005-10-08  Martin Lambers  <marlam@marlam.de>
52458 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
52459 2007-01-16  Bruno Haible  <bruno@clisp.org>
52460
52461         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
52462         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
52463         gl_FUNC_GETTIMEOFDAY.
52464         (Include): Add gettimeofday.h.
52465         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
52466         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
52467         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
52468         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
52469         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
52470         * lib/gettimeofday.h: New file.
52471         * lib/gettimeofday.c: Include <sys/timeb.h>.
52472         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
52473         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52474         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
52475         fall back on time().
52476
52477         * tests/test-gettimeofday.c: New file.
52478         * modules/gettimeofday-tests: New file.
52479
52480 2007-01-16  Eric Blake  <ebb9@byu.net>
52481
52482         * modules/fnmatch (Depends-on): Depend on wchar.
52483         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
52484         * m4/fnmatch.m4: Likewise.
52485         * modules/mbchar (Makefile.am): Assume <wchar.h>.
52486         * m4/mbchar.m4: Likewise.
52487         * modules/mbswidth (Depends-on): Depend on wchar.
52488         * lib/mbswidth.c: Assume <wchar.h>.
52489         * m4/mbswidth.m4: Likewise.
52490         * modules/quotearg (Depends-on): Depend on wchar.
52491         * lib/quotearg.c: Assume <wchar.h>.
52492         * m4/quotearg.m4: Likewise.
52493         * modules/regex (Depends-on): Depend on wchar.
52494         * lib/regex_internal.h: Assume <wchar.h>.
52495         * m4/regex.m4: Likewise.
52496         * modules/stdint (Depends-on): Depend on wchar.
52497         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
52498         * m4/stdint.m4: Likewise.
52499         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
52500         * modules/strftime (Depends-on): Depend on wchar.
52501         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
52502         * modules/strtol (Depends-on): Depend on wchar.
52503         * lib/strtol.c: Assume <wchar.h>.
52504         * modules/wcwidth (Depends-on): Depend on wchar.
52505         * lib/wcwidth.h: Assume <wchar.h>.
52506         * m4/wcwidth.m4: Likewise.
52507
52508 2007-01-16  Bruno Haible  <bruno@clisp.org>
52509
52510         * modules/csharpexec-script: New, created from...
52511         * modules/csharpexec: ... this.
52512
52513 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
52514
52515         * modules/javaexec-script: New, created from...
52516         * modules/javaexec: ... this.
52517
52518 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52519
52520         * modules/poll (Dependencies): Add sys_select.
52521
52522 2007-01-15  Jim Meyering  <jim@meyering.net>
52523
52524         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
52525         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
52526         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
52527         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
52528
52529 2007-01-15  Bruno Haible  <bruno@clisp.org>
52530
52531         * modules/striconveh: New file.
52532         * lib/striconveh.h: New file.
52533         * lib/striconveh.c: New file.
52534         * MODULES.html.sh (Internationalization functions): Add striconveh.
52535
52536         * modules/striconveh-tests: New file.
52537         * tests/test-striconveh.c: New file.
52538
52539 2007-01-15  Bruno Haible  <bruno@clisp.org>
52540
52541         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
52542         not from GNU libiconv or GNU libc.
52543
52544 2007-01-15  Bruno Haible  <bruno@clisp.org>
52545
52546         * doc/gnulib-intro.texi (Copyright): Explain the different license
52547         terms for module descriptions, autoconf macros, tests, documentation.
52548
52549 2007-01-14  Bruno Haible  <bruno@clisp.org>
52550
52551         * modules/striconv-tests: New file.
52552         * tests/test-striconv.c: New file.
52553
52554 2007-01-14  Bruno Haible  <bruno@clisp.org>
52555
52556         * modules/iconv-tests: New file.
52557         * tests/test-iconv.c: New file.
52558
52559 2007-01-14  Bruno Haible  <bruno@clisp.org>
52560
52561         * gnulib-tool (func_get_license): For test modules, use the license of
52562         the main module.
52563
52564 2007-01-14  Bruno Haible  <bruno@clisp.org>
52565
52566         * modules/iconv (Include): Clarify that <iconv.h> can only be included
52567         if iconv is found to exist.
52568
52569 2007-01-14  Bruno Haible  <bruno@clisp.org>
52570
52571         * modules/c-ctype-tests: New file.
52572         * tests/test-c-ctype.c: New file.
52573
52574 2007-01-14  Bruno Haible  <bruno@clisp.org>
52575
52576         * modules/binary-io-tests: New file.
52577         * tests/test-binary-io.sh: New file.
52578         * tests/test-binary-io.c: New file.
52579
52580 2007-01-14  Bruno Haible  <bruno@clisp.org>
52581
52582         * modules/array-oset-tests: New file.
52583         * tests/test-array_oset.c: New file.
52584
52585 2007-01-14  Bruno Haible  <bruno@clisp.org>
52586
52587         * modules/array-list-tests: New file.
52588         * tests/test-array_list.c: New file.
52589
52590 2007-01-14  Bruno Haible  <bruno@clisp.org>
52591
52592         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
52593         and make.
52594         Reported by Simon Josefsson in
52595         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
52596
52597 2007-01-14  Bruno Haible  <bruno@clisp.org>
52598
52599         * modules/allocsa-tests: New file.
52600         * tests/test-allocsa.c: New file.
52601
52602 2007-01-14  Bruno Haible  <bruno@clisp.org>
52603
52604         * modules/fchdir (Depends-on): Add absolute-header.
52605         * modules/unistd (Depends-on): Likewise.
52606
52607 2006-12-30  Bruno Haible  <bruno@clisp.org>
52608
52609         * modules/fchdir: New file.
52610         * modules/unistd (Files): Add lib/unistd_.h.
52611         (Makefile.am): Generate unistd.h from unistd_.h.
52612         * lib/fchdir.c: New file.
52613         * lib/dirent_.h: New file.
52614         * lib/unistd_.h: New file.
52615         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
52616         * m4/fchdir.m4: New file.
52617         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
52618         (gl_HEADER_UNISTD): Invoke it.
52619         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
52620         function.
52621         * lib/backupfile.c (opendir, closedir): Undefine.
52622         * lib/chown.c (open, close): Undefine.
52623         * lib/clean-temp.c (open, close): Undefine.
52624         * lib/copy-file.c (open, close): Undefine.
52625         * lib/execute.c (open, close): Undefine.
52626         * lib/fsusage.c (open, close): Undefine.
52627         * lib/gc-gnulib.c (open, close): Undefine.
52628         * lib/getcwd.c (opendir, closedir): Undefine.
52629         * lib/glob.c (opendir, closedir): Undefine.
52630         * lib/javacomp.c (open, close): Undefine.
52631         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
52632         * lib/openat-proc.c (open, close): Undefine.
52633         * lib/pagealign_alloc.c (open, close): Undefine.
52634         * lib/pipe.c (open, close): Undefine.
52635         * lib/progreloc.c (open, close): Undefine.
52636         * lib/savedir.c (opendir, closedir): Undefine.
52637         * lib/utime.c (open, close): Undefine.
52638         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
52639
52640 2007-01-10  Bruno Haible  <bruno@clisp.org>
52641
52642         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
52643
52644 2007-01-12  Eric Blake  <ebb9@byu.net>
52645
52646         Provide a robust <wchar.h>.  Further simplifications are now
52647         possible in other modules, but not included here.
52648         * modules/wchar: New module.
52649         * m4/wchar.m4: New file.
52650         * lib/wchar_.h: Likewise.
52651         * modules/mbchar (Depends-on): Depend on wchar, as the first use
52652         of the new module.
52653         * MODULES.html.sh (Extended multibyte and wide character utilities):
52654         New section.
52655
52656 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
52657
52658         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
52659         to a reasonable default for memory allocation.
52660         (xreadlink): Don't allocate a huge buffer, to work around a buggy
52661         file system that reports garbage st_size values for symlinks.
52662         Problem reported by Liyang Hu.
52663
52664 2007-01-11  Simon Josefsson  <simon@josefsson.org>
52665
52666         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
52667         Emacs .#* auto-save files).
52668
52669 2007-01-11  Bruno Haible  <bruno@clisp.org>
52670
52671         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
52672         directory.
52673
52674 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
52675
52676         Use @...@ consistently in lib/wctype_.h.
52677         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
52678         on it being set to 1 or 0.
52679         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
52680         go back to AC_SUBSTing it.
52681         * modules/wctype (Makefile.am): Undo previous change.
52682
52683 2007-01-10  Eric Blake  <ebb9@byu.net>
52684
52685         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
52686         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
52687         * modules/wctype (Makefile.am): Likewise.
52688         Reported by Chris McGuire.
52689
52690 2007-01-10  Jim Meyering  <jim@meyering.net>
52691
52692         fts.c: a small readability/maintainability improvement
52693         * lib/fts.c (fts_read): Make this code slightly more readable and
52694         maintainable by hoisting the "sp->fts_cur = p" assignments to
52695         immediately follow the statements that set P.  Derived from
52696         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
52697
52698 2007-01-10  Eric Blake  <ebb9@byu.net>
52699
52700         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
52701         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
52702         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
52703         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
52704         Reported by Chris McGuire.
52705
52706 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52707
52708         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
52709         in sed script.
52710
52711 2007-01-09  Bruno Haible  <bruno@clisp.org>
52712
52713         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
52714         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
52715         variables.
52716         (func_module): Use them.
52717
52718 2007-01-09  Bruno Haible  <bruno@clisp.org>
52719
52720         * modules/unistr/base: New file.
52721         * lib/unistr.h: New file.
52722
52723         * modules/unistr/u8-to-u16: New file.
52724         * lib/unistr/u8-to-u16.c: New file.
52725
52726         * modules/unistr/u8-to-u32: New file.
52727         * lib/unistr/u8-to-u32.c: New file.
52728
52729         * modules/unistr/u16-to-u8: New file.
52730         * lib/unistr/u16-to-u8.c: New file.
52731
52732         * modules/unistr/u16-to-u32: New file.
52733         * lib/unistr/u16-to-u32.c: New file.
52734
52735         * modules/unistr/u32-to-u8: New file.
52736         * lib/unistr/u32-to-u8.c: New file.
52737
52738         * modules/unistr/u32-to-u16: New file.
52739         * lib/unistr/u32-to-u16.c: New file.
52740
52741         * modules/unistr/u8-check: New file.
52742         * modules/unistr/u16-check: New file.
52743         * modules/unistr/u32-check: New file.
52744         * lib/unistr/u8-check.c: New file.
52745         * lib/unistr/u16-check.c: New file.
52746         * lib/unistr/u32-check.c: New file.
52747
52748         * modules/unistr/u8-chr: New file.
52749         * modules/unistr/u16-chr: New file.
52750         * modules/unistr/u32-chr: New file.
52751         * lib/unistr/u8-chr.c: New file.
52752         * lib/unistr/u16-chr.c: New file.
52753         * lib/unistr/u32-chr.c: New file.
52754
52755         * modules/unistr/u8-cmp: New file.
52756         * modules/unistr/u16-cmp: New file.
52757         * modules/unistr/u32-cmp: New file.
52758         * lib/unistr/u8-cmp.c: New file.
52759         * lib/unistr/u16-cmp.c: New file.
52760         * lib/unistr/u32-cmp.c: New file.
52761
52762         * modules/unistr/u8-cpy: New file.
52763         * modules/unistr/u16-cpy: New file.
52764         * modules/unistr/u32-cpy: New file.
52765         * lib/unistr/u8-cpy.c: New file.
52766         * lib/unistr/u16-cpy.c: New file.
52767         * lib/unistr/u32-cpy.c: New file.
52768         * lib/unistr/u-cpy.h: New file.
52769
52770         * modules/unistr/u8-cpy-alloc: New file.
52771         * modules/unistr/u16-cpy-alloc: New file.
52772         * modules/unistr/u32-cpy-alloc: New file.
52773         * lib/unistr/u8-cpy-alloc.c: New file.
52774         * lib/unistr/u16-cpy-alloc.c: New file.
52775         * lib/unistr/u32-cpy-alloc.c: New file.
52776         * lib/unistr/u-cpy-alloc.h: New file.
52777
52778         * modules/unistr/u8-endswith: New file.
52779         * modules/unistr/u16-endswith: New file.
52780         * modules/unistr/u32-endswith: New file.
52781         * lib/unistr/u8-endswith.c: New file.
52782         * lib/unistr/u16-endswith.c: New file.
52783         * lib/unistr/u32-endswith.c: New file.
52784         * lib/unistr/u-endswith.h: New file.
52785
52786         * modules/unistr/u8-mblen: New file.
52787         * modules/unistr/u16-mblen: New file.
52788         * modules/unistr/u32-mblen: New file.
52789         * lib/unistr/u8-mblen.c: New file.
52790         * lib/unistr/u16-mblen.c: New file.
52791         * lib/unistr/u32-mblen.c: New file.
52792
52793         * modules/unistr/u8-mbtouc: New file.
52794         * modules/unistr/u16-mbtouc: New file.
52795         * modules/unistr/u32-mbtouc: New file.
52796         * lib/unistr/u8-mbtouc.c: New file.
52797         * lib/unistr/u16-mbtouc.c: New file.
52798         * lib/unistr/u32-mbtouc.c: New file.
52799
52800         * modules/unistr/u8-mbtouc-safe: New file.
52801         * modules/unistr/u16-mbtouc-safe: New file.
52802         * modules/unistr/u32-mbtouc-safe: New file.
52803         * lib/unistr/u8-mbtouc-safe.c: New file.
52804         * lib/unistr/u16-mbtouc-safe.c: New file.
52805         * lib/unistr/u32-mbtouc-safe.c: New file.
52806
52807         * modules/unistr/u8-move: New file.
52808         * modules/unistr/u16-move: New file.
52809         * modules/unistr/u32-move: New file.
52810         * lib/unistr/u8-move.c: New file.
52811         * lib/unistr/u16-move.c: New file.
52812         * lib/unistr/u32-move.c: New file.
52813         * lib/unistr/u-move.h: New file.
52814
52815         * modules/unistr/u8-next: New file.
52816         * modules/unistr/u16-next: New file.
52817         * modules/unistr/u32-next: New file.
52818         * lib/unistr/u8-next.c: New file.
52819         * lib/unistr/u16-next.c: New file.
52820         * lib/unistr/u32-next.c: New file.
52821
52822         * modules/unistr/u8-prev: New file.
52823         * modules/unistr/u16-prev: New file.
52824         * modules/unistr/u32-prev: New file.
52825         * lib/unistr/u8-prev.c: New file.
52826         * lib/unistr/u16-prev.c: New file.
52827         * lib/unistr/u32-prev.c: New file.
52828
52829         * modules/unistr/u8-set: New file.
52830         * modules/unistr/u16-set: New file.
52831         * modules/unistr/u32-set: New file.
52832         * lib/unistr/u8-set.c: New file.
52833         * lib/unistr/u16-set.c: New file.
52834         * lib/unistr/u32-set.c: New file.
52835         * lib/unistr/u-set.h: New file.
52836
52837         * modules/unistr/u8-startswith: New file.
52838         * modules/unistr/u16-startswith: New file.
52839         * modules/unistr/u32-startswith: New file.
52840         * lib/unistr/u8-startswith.c: New file.
52841         * lib/unistr/u16-startswith.c: New file.
52842         * lib/unistr/u32-startswith.c: New file.
52843         * lib/unistr/u-startswith.h: New file.
52844
52845         * modules/unistr/u8-stpcpy: New file.
52846         * modules/unistr/u16-stpcpy: New file.
52847         * modules/unistr/u32-stpcpy: New file.
52848         * lib/unistr/u8-stpcpy.c: New file.
52849         * lib/unistr/u16-stpcpy.c: New file.
52850         * lib/unistr/u32-stpcpy.c: New file.
52851         * lib/unistr/u-stpcpy.h: New file.
52852
52853         * modules/unistr/u8-stpncpy: New file.
52854         * modules/unistr/u16-stpncpy: New file.
52855         * modules/unistr/u32-stpncpy: New file.
52856         * lib/unistr/u8-stpncpy.c: New file.
52857         * lib/unistr/u16-stpncpy.c: New file.
52858         * lib/unistr/u32-stpncpy.c: New file.
52859         * lib/unistr/u-stpncpy.h: New file.
52860
52861         * modules/unistr/u8-strcat: New file.
52862         * modules/unistr/u16-strcat: New file.
52863         * modules/unistr/u32-strcat: New file.
52864         * lib/unistr/u8-strcat.c: New file.
52865         * lib/unistr/u16-strcat.c: New file.
52866         * lib/unistr/u32-strcat.c: New file.
52867         * lib/unistr/u-strcat.h: New file.
52868
52869         * modules/unistr/u8-strchr: New file.
52870         * modules/unistr/u16-strchr: New file.
52871         * modules/unistr/u32-strchr: New file.
52872         * lib/unistr/u8-strchr.c: New file.
52873         * lib/unistr/u16-strchr.c: New file.
52874         * lib/unistr/u32-strchr.c: New file.
52875
52876         * modules/unistr/u8-strcmp: New file.
52877         * modules/unistr/u16-strcmp: New file.
52878         * modules/unistr/u32-strcmp: New file.
52879         * lib/unistr/u8-strcmp.c: New file.
52880         * lib/unistr/u16-strcmp.c: New file.
52881         * lib/unistr/u32-strcmp.c: New file.
52882
52883         * modules/unistr/u8-strcpy: New file.
52884         * modules/unistr/u16-strcpy: New file.
52885         * modules/unistr/u32-strcpy: New file.
52886         * lib/unistr/u8-strcpy.c: New file.
52887         * lib/unistr/u16-strcpy.c: New file.
52888         * lib/unistr/u32-strcpy.c: New file.
52889         * lib/unistr/u-strcpy.h: New file.
52890
52891         * modules/unistr/u8-strcspn: New file.
52892         * modules/unistr/u16-strcspn: New file.
52893         * modules/unistr/u32-strcspn: New file.
52894         * lib/unistr/u8-strcspn.c: New file.
52895         * lib/unistr/u16-strcspn.c: New file.
52896         * lib/unistr/u32-strcspn.c: New file.
52897         * lib/unistr/u-strcspn.h: New file.
52898
52899         * modules/unistr/u8-strdup: New file.
52900         * modules/unistr/u16-strdup: New file.
52901         * modules/unistr/u32-strdup: New file.
52902         * lib/unistr/u8-strdup.c: New file.
52903         * lib/unistr/u16-strdup.c: New file.
52904         * lib/unistr/u32-strdup.c: New file.
52905         * lib/unistr/u-strdup.h: New file.
52906
52907         * modules/unistr/u8-strlen: New file.
52908         * modules/unistr/u16-strlen: New file.
52909         * modules/unistr/u32-strlen: New file.
52910         * lib/unistr/u8-strlen.c: New file.
52911         * lib/unistr/u16-strlen.c: New file.
52912         * lib/unistr/u32-strlen.c: New file.
52913         * lib/unistr/u-strlen.h: New file.
52914
52915         * modules/unistr/u8-strmblen: New file.
52916         * modules/unistr/u16-strmblen: New file.
52917         * modules/unistr/u32-strmblen: New file.
52918         * lib/unistr/u8-strmblen.c: New file.
52919         * lib/unistr/u16-strmblen.c: New file.
52920         * lib/unistr/u32-strmblen.c: New file.
52921
52922         * modules/unistr/u8-strmbtouc: New file.
52923         * modules/unistr/u16-strmbtouc: New file.
52924         * modules/unistr/u32-strmbtouc: New file.
52925         * lib/unistr/u8-strmbtouc.c: New file.
52926         * lib/unistr/u16-strmbtouc.c: New file.
52927         * lib/unistr/u32-strmbtouc.c: New file.
52928
52929         * modules/unistr/u8-strncat: New file.
52930         * modules/unistr/u16-strncat: New file.
52931         * modules/unistr/u32-strncat: New file.
52932         * lib/unistr/u8-strncat.c: New file.
52933         * lib/unistr/u16-strncat.c: New file.
52934         * lib/unistr/u32-strncat.c: New file.
52935         * lib/unistr/u-strncat.h: New file.
52936
52937         * modules/unistr/u8-strncmp: New file.
52938         * modules/unistr/u16-strncmp: New file.
52939         * modules/unistr/u32-strncmp: New file.
52940         * lib/unistr/u8-strncmp.c: New file.
52941         * lib/unistr/u16-strncmp.c: New file.
52942         * lib/unistr/u32-strncmp.c: New file.
52943
52944         * modules/unistr/u8-strncpy: New file.
52945         * modules/unistr/u16-strncpy: New file.
52946         * modules/unistr/u32-strncpy: New file.
52947         * lib/unistr/u8-strncpy.c: New file.
52948         * lib/unistr/u16-strncpy.c: New file.
52949         * lib/unistr/u32-strncpy.c: New file.
52950         * lib/unistr/u-strncpy.h: New file.
52951
52952         * modules/unistr/u8-strnlen: New file.
52953         * modules/unistr/u16-strnlen: New file.
52954         * modules/unistr/u32-strnlen: New file.
52955         * lib/unistr/u8-strnlen.c: New file.
52956         * lib/unistr/u16-strnlen.c: New file.
52957         * lib/unistr/u32-strnlen.c: New file.
52958         * lib/unistr/u-strnlen.h: New file.
52959
52960         * modules/unistr/u8-strpbrk: New file.
52961         * modules/unistr/u16-strpbrk: New file.
52962         * modules/unistr/u32-strpbrk: New file.
52963         * lib/unistr/u8-strpbrk.c: New file.
52964         * lib/unistr/u16-strpbrk.c: New file.
52965         * lib/unistr/u32-strpbrk.c: New file.
52966         * lib/unistr/u-strpbrk.h: New file.
52967
52968         * modules/unistr/u8-strrchr: New file.
52969         * modules/unistr/u16-strrchr: New file.
52970         * modules/unistr/u32-strrchr: New file.
52971         * lib/unistr/u8-strrchr.c: New file.
52972         * lib/unistr/u16-strrchr.c: New file.
52973         * lib/unistr/u32-strrchr.c: New file.
52974
52975         * modules/unistr/u8-strspn: New file.
52976         * modules/unistr/u16-strspn: New file.
52977         * modules/unistr/u32-strspn: New file.
52978         * lib/unistr/u8-strspn.c: New file.
52979         * lib/unistr/u16-strspn.c: New file.
52980         * lib/unistr/u32-strspn.c: New file.
52981         * lib/unistr/u-strspn.h: New file.
52982
52983         * modules/unistr/u8-strstr: New file.
52984         * modules/unistr/u16-strstr: New file.
52985         * modules/unistr/u32-strstr: New file.
52986         * lib/unistr/u8-strstr.c: New file.
52987         * lib/unistr/u16-strstr.c: New file.
52988         * lib/unistr/u32-strstr.c: New file.
52989         * lib/unistr/u-strstr.h: New file.
52990
52991         * modules/unistr/u8-strtok: New file.
52992         * modules/unistr/u16-strtok: New file.
52993         * modules/unistr/u32-strtok: New file.
52994         * lib/unistr/u8-strtok.c: New file.
52995         * lib/unistr/u16-strtok.c: New file.
52996         * lib/unistr/u32-strtok.c: New file.
52997         * lib/unistr/u-strtok.h: New file.
52998
52999         * modules/unistr/u8-uctomb: New file.
53000         * modules/unistr/u16-uctomb: New file.
53001         * modules/unistr/u32-uctomb: New file.
53002         * lib/unistr/u8-uctomb.c: New file.
53003         * lib/unistr/u16-uctomb.c: New file.
53004         * lib/unistr/u32-uctomb.c: New file.
53005
53006         * MODULES.html.sh (Unicode string functions): Add the new modules.
53007
53008 2007-01-08  Bruno Haible  <bruno@clisp.org>
53009
53010         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
53011         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
53012         subdirectories.
53013
53014 2007-01-08  Karl Berry  <karl@gnu.org>
53015
53016         * doc/error.texi: mention that main() fns must set program_name
53017         when progname is used.
53018
53019 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
53020
53021         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
53022         WCTYPE_H is empty, for the benefit of builds from non-distclean
53023         directories.  Problem reported by Eric Blake in
53024         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
53025
53026 2007-01-08  Bruno Haible  <bruno@clisp.org>
53027
53028         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
53029         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
53030         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
53031         PROVIDE_CANONICALIZE_FILENAME_MODE.
53032         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
53033
53034 2007-01-08  Bruno Haible  <bruno@clisp.org>
53035
53036         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
53037         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
53038         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
53039         * lib/fts.c: Likewise.
53040         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
53041
53042 2006-12-25  Bruno Haible  <bruno@clisp.org>
53043
53044         * modules/utf8-ucs4-safe: New file.
53045         * lib/utf8-ucs4-safe.h: New file.
53046         * lib/unistr/utf8-ucs4-safe.c: New file.
53047
53048         * modules/utf16-ucs4-safe: New file.
53049         * lib/utf16-ucs4-safe.h: New file.
53050         * lib/unistr/utf16-ucs4-safe.c: New file.
53051
53052         * MODULES.html.sh (Unicode string functions): Add the new modules.
53053
53054 2007-01-08  Bruno Haible  <bruno@clisp.org>
53055
53056         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
53057         (Depends-on): Add unitypes.
53058         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
53059         (u8_mbtouc_aux): Move out to separate file.
53060         (u8_mbtouc): Use ucs4_t, uint8_t types.
53061         * lib/unistr/utf8-ucs4.c: New file.
53062
53063         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
53064         (Depends-on): Add unitypes.
53065         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
53066         (u16_mbtouc_aux): Move out to separate file.
53067         (u16_mbtouc): Use ucs4_t, uint16_t types.
53068         * lib/unistr/utf16-ucs4.c: New file.
53069
53070         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
53071         (Depends-on): Add unitypes.
53072         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
53073         (u8_uctomb_aux): Move out to separate file.
53074         (u8_uctomb): Use ucs4_t, uint8_t types.
53075         * lib/unistr/ucs4-utf8.c: New file.
53076
53077         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
53078         (Depends-on): Add unitypes.
53079         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
53080         (u16_uctomb_aux): Move out to separate file.
53081         (u16_uctomb): Use ucs4_t, uint16_t types.
53082         * lib/unistr/ucs4-utf16.c: New file.
53083
53084 2006-12-25  Bruno Haible  <bruno@clisp.org>
53085
53086         * modules/unitypes: New file.
53087         * lib/unitypes.h: New file.
53088         * MODULES.html.sh (func_all_modules): New section "Unicode string
53089         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
53090         this section. Add unitypes.
53091
53092 2007-01-08  Bruno Haible  <bruno@clisp.org>
53093
53094         Avoid variable names that conflict with those from libtool.
53095         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
53096         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
53097         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
53098         library_names_spec to acl_library_names_spec, hardcode_* to
53099         acl_hardcode_*.
53100         Reported by Ralf Wildenhues.
53101
53102 2007-01-08  Bruno Haible  <bruno@clisp.org>
53103
53104         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
53105         definition.
53106         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
53107         definition.
53108         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
53109         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
53110         definition.
53111         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
53112         definition.
53113         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
53114         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
53115         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
53116         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
53117         definition.
53118         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
53119         definition.
53120         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
53121         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
53122         GC_USE_<algorithm>.
53123         * lib/gc-libgcrypt.c: Likewise.
53124         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
53125         * modules/gc-arctwo (configure.ac): Likewise.
53126         * modules/gc-des (configure.ac): Likewise.
53127         * modules/gc-hmac-md5 (configure.ac): Likewise.
53128         * modules/gc-hmac-sha1 (configure.ac): Likewise.
53129         * modules/gc-md2 (configure.ac): Likewise.
53130         * modules/gc-md4 (configure.ac): Likewise.
53131         * modules/gc-md5 (configure.ac): Likewise.
53132         * modules/gc-random (configure.ac): Likewise.
53133         * modules/gc-rijndael (configure.ac): Likewise.
53134         * modules/gc-sha1 (configure.ac): Likewise.
53135
53136 2007-01-08  Bruno Haible  <bruno@clisp.org>
53137
53138         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
53139         macro definition.
53140         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
53141         definition.
53142         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
53143         definition.
53144         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
53145         * modules/fcntl-safer (configure.ac): Likewise.
53146         * modules/fopen-safer (configure.ac): Likewise.
53147         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
53148         GNULIB_FWRITEERROR macro definition.
53149
53150 2007-01-08  Bruno Haible  <bruno@clisp.org>
53151
53152         * m4/gnulib-common.m4: New file.
53153         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
53154         (func_get_filelist): Add m4/gnulib-common.m4.
53155
53156 2007-01-08  Bruno Haible  <bruno@clisp.org>
53157
53158         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
53159         command.
53160
53161 2007-01-08  Jim Meyering  <jim@meyering.net>
53162
53163         Use a more robust test for a "can't happen" condition.
53164         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
53165         narrowed the st_size value.  Presuming the "can't happen" condition
53166         is true, that narrowing could conceivably convert an invalid st_size
53167         value into a valid one.  Instead, use a change based on Matthew
53168         Woehlke's original patch.
53169
53170         Slight readability improvement: use an assert-like macro
53171         in place of literal "abort ()" uses.
53172         * lib/fts.c (fts_assert): Define.
53173         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
53174         Use this macro instead of a bare 'abort'.
53175
53176 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
53177
53178         Don't worry about using IRIX 5.3's wctype.h broken definitions;
53179         simply work around them.
53180         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
53181         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
53182         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
53183         declaring.
53184         Don't bother to define as macros, since the standard doesn't require it.
53185         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
53186         longer worry about IRIX 5.3.
53187         (HAVE_WCTYPE_CTMP_BUG): Remove.
53188
53189 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
53190
53191         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
53192         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
53193         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
53194         Problems reported by Georg Schwarz for IRIX 5.3.
53195
53196         * gnulib-tool (autoconf_minversion): Take the maximum version number
53197         found, not the minimum.  Problem reported by James Youngman.
53198
53199 2007-01-03  Karl Berry  <karl@gnu.org>
53200
53201         * doc/error.texi: new file, explaining interaction with progname.
53202         * doc/gnulib.texi: include it.  Update copyright.
53203
53204 2007-01-03  Simon Josefsson  <simon@josefsson.org>
53205
53206         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
53207         AC_CANONICAL_HOST, to improve autobuild outputs.
53208
53209 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
53210             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
53211
53212         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
53213         sockets, server sockets, and other file descriptors.  Count errors
53214         to compute the return value.  Reorder the code a bit to be easier
53215         to follow.  Don't set event bits that were not requested (except
53216         POLLERR and POLLHUP).
53217
53218 2007-01-01  Bruno Haible  <bruno@clisp.org>
53219
53220         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
53221
53222 2007-01-03  Jim Meyering  <jim@meyering.net>
53223
53224         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
53225
53226 2007-01-02  Bruno Haible  <bruno@clisp.org>
53227
53228         * modules/settime (Include): Require timespec.h.
53229         * modules/nanosleep (Include): Likewise.
53230
53231 2007-01-01  Bruno Haible  <bruno@clisp.org>
53232
53233         * gnulib-tool (func_emit_copyright_notice): Bump year.
53234         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
53235
53236 2007-01-01  Bruno Haible  <bruno@clisp.org>
53237
53238         Improve support for OpenBSD.
53239         * build-aux/config.rpath (libname_spec): Export.
53240         (library_names_spec): New variable. Export.
53241         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
53242         library_names_spec from the config.rpath output. Locate shared library
53243         through the name pattern in library_names_spec.
53244
53245 2007-01-01  Eric Blake  <ebb9@byu.net>
53246
53247         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
53248
53249 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
53250
53251         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
53252         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
53253         assume the C locale, and avoid an "eval" that could cause trouble.
53254         Problem with SORT reported by Bob Proulx.
53255
53256         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
53257         Define.  Trivial patch from Henning Nielsen Lund, originally
53258         sent to bug-grep@gnu.org today.
53259
53260 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
53261
53262         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
53263         struct stat.  Problem reported by Henning Nielsen Lund.
53264         * lib/acl.c: Include acl.h first, to check interface.  Don't
53265         bother to include sys/types.h and sys/stat.h again.
53266
53267 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
53268
53269         Import the following change from libc; problem reported by
53270         Sven Verdoolaege.
53271
53272         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
53273
53274         [BZ #1373]
53275         * lib/argp.h: Remove __NTH for __argp_usage inline function.
53276
53277 2006-12-28  Jim Meyering  <jim@meyering.net>
53278
53279         * build-aux/announce-gen: Do not assume that the package
53280         builds any of tar.gz, tar.bz2, and .xdelta files.
53281         Suggestion from Simon Josefsson.
53282
53283 2006-12-28  Simon Josefsson  <simon@josefsson.org>
53284
53285         * modules/announce-gen: New file.
53286
53287 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
53288
53289         * lib/mbchar.h: Just include <wctype.h>; the wctype module
53290         handles its gotchas now.
53291         * lib/mbswidth.c: Likewise.
53292         * lib/wcwidth.h: Likewise.
53293         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
53294         and iswcntrl; the wctype module does this stuff now.
53295         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
53296         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
53297         * modules/mbchar (Depends-on): Add wctype.
53298         * modules/mbswidth (Depends-on): Likewise.
53299         * modules/wcwidth (Depends-on): Likewise.
53300
53301 2006-12-27  Eric Blake  <ebb9@byu.net>
53302
53303         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
53304         module uses more than what <wctype.h> is required to provide.
53305
53306 2006-12-26  Eric Blake  <ebb9@byu.net>
53307
53308         * gnulib-tool (sed_extract_prog): Avoid space-tab.
53309
53310 2006-12-26  Eric Blake  <ebb9@byu.net>
53311
53312         * modules/absolute-header: New module.
53313         * modules/fcntl (Depends-on): Depend on it.
53314         * modules/inttypes (Depends-on): Likewise.
53315         * modules/stdint (Depends-on): Likewise.
53316         * modules/sys_stat (Depends-on): Likewise.
53317         * modules/wctype (Depends-on): Likewise.
53318         * MODULES.html.sh (Support for building libraries and
53319         executables): Document it.
53320
53321 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
53322
53323         * gnulib-tool (SED): Remove, undoing previous change.
53324         The problem was that it broke coreutils on Solaris, because
53325         "sed --posix" leaked into a makefile.
53326         (sed): New alias, if 'alias' and GNU sed.
53327
53328 2006-12-24  Jim Meyering  <jim@meyering.net>
53329
53330         Work around an fchownat bug in glibc-2.4:
53331         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
53332         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
53333         in spite of the -P option.
53334         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
53335         New macros.
53336         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
53337         * modules/openat (Files): Add lib/fchownat.c.
53338         * lib/openat.c (fchownat): Don't define here.  Move to...
53339         * lib/fchownat.c: ...this new file.
53340
53341 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
53342
53343         Fix bug reported by Bruno Haible in
53344         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
53345         where quotearg.c didn't compile on Mac OS X 10.2 because it
53346         lacks <wchar.h> and wint_t.
53347         * lib/wctype_.h (__wctype_wint_t): New type.
53348         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
53349         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
53350         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
53351         Arg is now of type __wctype_wint_t, not wint_t.
53352         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
53353         substitute HAVE_WINT_T.
53354         * modules/wctype (Files): Add m4/wint_t.m4.
53355         (wctype.h): Substitute HAVE_WINT_T.
53356
53357 2006-12-23  Bruno Haible  <bruno@clisp.org>
53358
53359         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
53360
53361 2006-12-23  Bruno Haible  <bruno@clisp.org>
53362
53363         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
53364         S_ISLNK.
53365         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
53366         mingw.
53367
53368 2006-12-22  Bruno Haible  <bruno@clisp.org>
53369
53370         * lib/copy-file.c: Include acl.h.
53371         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
53372         Close the file descriptors only after being done with copy_acl.
53373         * modules/copy-file (Depends-on): Add acl.
53374
53375 2006-12-22  Bruno Haible  <bruno@clisp.org>
53376
53377         * gnulib-tool (SED): New variable.
53378         Use $SED instead of sed everywhere.
53379
53380 2006-12-22  Bruno Haible  <bruno@clisp.org>
53381
53382         * modules/no-c++: New file.
53383         * m4/no-c++.m4: New file.
53384         * MODULES.html.sh (Support for building libraries and executables):
53385         Add no-c++.
53386
53387 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
53388
53389         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
53390         Include <limits.h>, and use its INT_MAX to rewrite the
53391         j loop so that it does not overflow 'int'.  Problem reported by
53392         Ralf Wildenhues in
53393         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
53394         Play it safe by shifting left by 1 rather than multiplying by 2,
53395         as GCC is less likely to optimize this away when the value
53396         is signed (when it assumes overflow leads to undefined behavior).
53397         Also, don't assume time_t uses two's complement.
53398
53399 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
53400
53401         * MODULES.html.sh: New module wctype.
53402         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
53403         * lib/fnmatch.c: Don't bother to include <wchar.h> before
53404         <wctype.h>, since the new wctype module should fix this.
53405         * lib/quotearg.c: Include <wctype.h> unconditionally, since
53406         the wctype module should arrange for it.
53407         * lib/regex_internal.h: Likewise.
53408         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
53409         since the wctype module should handle this now.
53410         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
53411         * modules/fnmatch (Depends-on): Add wctype.
53412         * modules/quotearg (Depends-on): Likewise.
53413         * modules/regex (Depends-on): Likewise.
53414
53415 2006-12-19  Bruno Haible  <bruno@clisp.org>
53416
53417         * lib/strdup.h [C++]: Wrap definitions in extern "C".
53418         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
53419
53420 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53421
53422         * modules/savewd (Depends-on): Fix dependency on fcntl.
53423
53424 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
53425
53426         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
53427         conforms to C99, rather than relying on the user's environment
53428         setting of STDINT_H.
53429
53430 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
53431         and Eric Blake  <ebb9@byu.net>
53432
53433         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
53434         This is more consistent with the other defines here.
53435         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
53436         Port to z/OS.  Problem reported by Paul Gilmartin.
53437         Change local vars to use gl_ prefix rather than ac_.
53438         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
53439         with other defines.
53440         * modules/double-slash-root: New module.
53441         * modules/dirname (Files): Remove m4/double-slash-root.m4.
53442         (Depends-on): Add double-slash-root.
53443         * MODULES.html.sh (File system functions): Mention new module.
53444
53445 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
53446
53447         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
53448         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
53449         This is for the benefit of gzip, which doesn't do i18n.
53450
53451 2006-12-12  Jim Meyering  <jim@meyering.net>
53452
53453         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
53454         Reported by Andreas Schwab <schwab@suse.de>.
53455
53456 2006-12-12  Bruno Haible  <bruno@clisp.org>
53457
53458         Merge these changes.
53459         2006-09-05  Bruno Haible  <bruno@clisp.org>
53460         * lib/iconvme.c (iconv_string): No need to save and restore errno when
53461         iconv_alloc succeeded.
53462         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
53463         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
53464         test for " && dest " at the end - dest is always != NULL there. Call
53465         iconv with 4xNULL arguments initially, to reset the state. Call iconv
53466         with 2xNULL arguments, also to flush the state storage. Handle the
53467         IRIX iconv behaviour. Realloc the final result, to throw away unused
53468         memory.
53469
53470 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
53471
53472         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
53473         and fchmodat unconditionally, since glibc 2.4 has them.
53474         Problem reported by Arkadiusz Miskiewicz.
53475
53476 2006-12-10  Bruno Haible  <bruno@clisp.org>
53477
53478         * gnulib-tool (func_import): Show the include files only for those
53479         modules that are copied and specified.
53480         Reported by Karl Berry.
53481
53482 2006-12-08  Jim Meyering  <jim@meyering.net>
53483
53484         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
53485         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
53486
53487         * build-aux/announce-gen: Add two new options, both optional:
53488         --bootstrap-tools=TOOL_LIST
53489               a comma-separated list of tools, e.g.,
53490               autoconf,automake,bison,gnulib
53491         --gnulib-snapshot-date=DATE
53492               if gnulib is in the bootstrap tool list,
53493               then report this as the snapshot date.
53494               If not specified, use the current date/time.
53495               If you specify a date here, be sure it's UTC.
53496
53497 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53498
53499         * tests/test-argp-2.sh: Fix test to match actual output.
53500         (func_compare): Fix sed script to be portable.
53501
53502 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
53503
53504         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
53505         workaround for this case.  It is not autoconfigured now; offhand
53506         it's hard to see how to autoconfigure it.
53507
53508 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
53509
53510         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
53511         a directory that is about to be chowned.  Such a directory's
53512         initial file permissions should permit the owner only and this
53513         should not be changed until after the chown, since the group and
53514         other bits would be incorrect if they granted permission before
53515         the chown.
53516
53517         Fix porting problem for iswctype reported by Georg Schwarz in:
53518         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
53519         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
53520         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
53521         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
53522         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
53523
53524 2006-12-03  Jim Meyering  <jim@meyering.net>
53525
53526         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
53527         p->fts_statp may not yet be defined.
53528         (fts_read): Instead, set it in the caller, once p->fts_statp is
53529         sure to be defined, and corresponds to a top-level directory.
53530         This bug made du -x fail.  Here's the coreutils test case:
53531         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
53532         Reported by Mike Frysinger.
53533
53534 2006-12-01  Jim Meyering  <jim@meyering.net>
53535
53536         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
53537         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
53538         Reported by Simon Josefsson.
53539
53540 2006-11-30  Jim Meyering  <jim@meyering.net>
53541
53542         * m4/warning.m4: Use the all-permissive copyright notice
53543         recommended by RMS (rather than LGPL).
53544         * m4/vararrays.m4: Likewise.
53545         * m4/flexmember.m4: Likewise.
53546
53547 2006-11-29  Bruno Haible  <bruno@clisp.org>
53548
53549         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
53550         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
53551         using +=.
53552         Reported by Simon Josefsson <simon@josefsson.org>.
53553
53554 2006-11-28  James Youngman <jay@gnu.org>
53555
53556         * README: Advise users that they might find the bug-gnulib@gnu.org
53557         and autotools-announce@gnu.org mailing lists useful.
53558
53559 2006-11-28  Bruno Haible  <bruno@clisp.org>
53560
53561         * m4/ptrdiff_max.m4: Remove file.
53562
53563 2006-11-21  Bruno Haible  <bruno@clisp.org>
53564
53565         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
53566         _AC_COMPUTE_INT.
53567         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
53568         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
53569         _AC_COMPUTE_INT.
53570         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
53571         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
53572         _AC_COMPUTE_INT.
53573         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
53574
53575 2006-11-28  Jim Meyering  <jim@meyering.net>
53576
53577         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
53578         warning from "gcc -Wshadow" about shadowing the builtin.
53579
53580 2006-11-27  Bruno Haible  <bruno@clisp.org>
53581
53582         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
53583         _AC_COMPUTE_INT.
53584         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
53585
53586 2006-11-27  Bruno Haible  <bruno@clisp.org>
53587             Paul Eggert  <eggert@cs.ucla.edu>
53588
53589         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
53590
53591 2006-11-26  Bruno Haible  <bruno@clisp.org>
53592
53593         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
53594         noinst_LTLIBRARIES.
53595
53596 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
53597             Bruno Haible  <bruno@clisp.org>
53598
53599         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
53600         if compiling with "gcc -ansi".
53601
53602 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
53603
53604         Fix some incompatibilities with gcc -ansi -pedantic.
53605         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
53606         if compiling pedantically with GCC, unless it's C99 or later.
53607         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
53608         it mishandles gcc -ansi -pedantic as well.
53609         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
53610         if gcc -pedantic.
53611         * lib/regexec.c (check_node_accept_bytes): Don't use auto
53612         initializers for struct if -pedantic, unless it's C99 or later.
53613
53614 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
53615
53616         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
53617         Don't close an fd more than once. Identical atimes indicate
53618         success, not failure.
53619
53620 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
53621
53622         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
53623
53624 2006-11-23  Jim Meyering  <jim@meyering.net>
53625
53626         * build-aux/announce-gen: New file.  From coreutils.
53627
53628 2006-11-22  Jim Meyering  <jim@meyering.net>
53629
53630         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
53631         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
53632         (fts_read): Use a temporary to narrow the overused st_size member
53633         before using it in a switch statement.  Reported by Matthew Woehlke.
53634
53635         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
53636         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
53637
53638 2006-11-20  Bruno Haible  <bruno@clisp.org>
53639
53640         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
53641         changequote instead of pairs of brackets.
53642         Reported by Andreas Schwab <schwab@suse.de>.
53643
53644 2006-11-21  Jim Meyering  <jim@meyering.net>
53645
53646         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
53647         so as to remain compatible with older compilers.
53648         Patch from Michael Deutschmann.
53649
53650 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
53651
53652         * MODULES.html.sh (File system functions): Add openat.
53653
53654         * lib/openat.h (rpl_fstatat): New macro, if
53655         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
53656         (fstatat): Define to rpl_fstatat under the same conditions,
53657         unless COMPILING_FSTATAT.
53658         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
53659         seems to have the bug.
53660         * lib/fstatat.c: New file.
53661         * modules/openat (Files): Add it.
53662
53663 2006-11-20  Bruno Haible  <bruno@clisp.org>
53664
53665         * Makefile: New file.
53666
53667 2006-11-20  Jim Meyering  <jim@meyering.net>
53668
53669         The beginnings of syntax-related checks for gnulib.
53670         * lib/Makefile: New file.
53671         * lib/t-idcache: New script.  Ensure that the two halves of
53672         idcache.c stay in sync.
53673
53674         * lib/idcache.c: Adjust comments in user- and group- portions to
53675         be more accurate, and to be consistent with one another.
53676
53677 2006-11-20  Jim Meyering  <jim@meyering.net>
53678
53679         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
53680         continue using the flexible array member (thus, this module performs
53681         half as many malloc calls), with the addition that...
53682         (getgroup, getuser): Consistently record a non-match via an empty
53683         "name" string, and map an empty string match to a NULL return value.
53684         * modules/idcache (Depends-on): Re-add flexmember.
53685
53686         * lib/idcache.c (getuser): Remove all uses of the register keyword.
53687         (getuidbyname, getgroup, getgidbyname): Likewise.
53688
53689         Use cleaner syntax: NULL rather than 0.
53690         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
53691
53692 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
53693
53694         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
53695         It mishandled the case where the group was missing.
53696         Problem reported by Greg Schafer.
53697         * modules/idcache: Likewise.
53698
53699 2006-11-18  Jim Meyering  <jim@meyering.net>
53700
53701         * check-module (%exempt_header): Add exception for some
53702         conditionally-included headers.
53703
53704         * modules/i-ring (Depends-on): Add verify.
53705         (License): Change to LGPL.
53706
53707 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
53708
53709         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
53710         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
53711         and inttostr.h.  Use snprintf rather than uinttostr, so that
53712         LGPLed code doesn't depend on GPLed.
53713
53714 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
53715
53716         * modules/inline (License): Change from GPL to LGPL.
53717
53718 2006-11-17  Jim Meyering  <jim@meyering.net>
53719
53720         * modules/d-type (License): Switch to LGPL.
53721
53722 2006-11-15  Bruno Haible  <bruno@clisp.org>
53723
53724         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
53725
53726 2006-11-15  Eric Blake  <ebb9@byu.net>
53727
53728         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
53729         the module dependency.
53730
53731 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53732             Bruno Haible  <bruno@clisp.org>
53733
53734         * gnulib-tool (func_create_testdir): Add license consistency check.
53735
53736 2006-11-15  Eric Blake  <ebb9@byu.net>
53737
53738         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
53739         random "(cached)" in configure output.
53740
53741 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53742
53743         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
53744         test for conforming inttypes.h is both announced and cached.
53745
53746         * MODULES.html.sh (seen_modules, seen_files): New variables.
53747         (func_module): Rewrite to use a few less gnulib-tool and sed
53748         invocations.  Avoid a couple of quadratic algorithms for ...
53749         (missed_modules, missed_files): ... these, with ...
53750         (func_append, func_tmpdir): ... these new functions, from
53751         gnulib-tool.  Analogously, install traps for cleanup.
53752
53753         * tests/test-gc.c (main): Remove unused variables.
53754         * tests/test-read-file.c: Include stdlib.h, for 'free'.
53755
53756 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
53757
53758         * modules/inttostr (License): Change to LGPL.
53759
53760 2006-11-14  Eric Blake  <ebb9@byu.net>
53761
53762         * modules/tempname (License): Change to LGPL.
53763
53764 2006-11-14  Eric Blake  <ebb9@byu.net>
53765
53766         * doc/functions.texi (Function Portability): *printf functions on
53767         Cygwin now understand all POSIX size specifiers.
53768
53769 2006-11-14  Bruno Haible  <bruno@clisp.org>
53770
53771         * modules/c-ctype (License): Change to LGPL.
53772
53773 2006-11-12  Bruno Haible  <bruno@clisp.org>
53774
53775         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
53776         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
53777         for GNOME libraries, for which the include files are installed in
53778         subdirectories of $prefix/include.
53779
53780 2006-11-12  Bruno Haible  <bruno@clisp.org>
53781
53782         * m4/lib-link.m4: Require at least autoconf-2.54.
53783         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
53784         name to underscores for the --with option.
53785
53786 2006-11-13  Bruno Haible  <bruno@clisp.org>
53787
53788         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
53789         the tests directory.
53790         Reported by Ralf Wildenhues.
53791
53792 2006-11-13  Bruno Haible  <bruno@clisp.org>
53793
53794         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
53795         (func_emit_initmacro_end): Undo the override here.
53796         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
53797         Works around the famous automake error in coreutils.
53798
53799 2006-11-13  Eric Blake  <ebb9@byu.net>
53800
53801         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
53802         element, not its node.
53803
53804 2006-11-12  Bruno Haible  <bruno@clisp.org>
53805
53806         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
53807         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
53808
53809 2006-11-12  Bruno Haible  <bruno@clisp.org>
53810
53811         * gnulib-tool: New option --local-symlink.
53812         (func_usage): Document it.
53813         (lsymbolic): New variable.
53814         (func_import, func_create_testdir): If --symlink was not specified,
53815         test whether --local-symlink was specified and the file comes from
53816         the local_gnulib_dir.
53817
53818 2006-11-12  Bruno Haible  <bruno@clisp.org>
53819
53820         * gnulib-tool (func_ln): New function.
53821         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
53822
53823 2006-11-12  Bruno Haible  <bruno@clisp.org>
53824
53825         Finish support for source files in subdirectories.
53826         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
53827         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
53828         AUTOMAKE_OPTIONS.
53829         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
53830
53831 2006-11-12  Bruno Haible  <bruno@clisp.org>
53832
53833         * gnulib-tool (func_get_automake_snippet): Synthesize also an
53834         EXTRA_lib_SOURCES augmentation.
53835         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
53836
53837 2006-11-12  Jim Meyering  <jim@meyering.net>
53838
53839         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
53840         file descriptors.  This also averts a failure on systems with
53841         native openat support when a traversed directory lacks "x" access.
53842         * lib/fts_.h: Include "i-ring.h"
53843         (struct FTS) [fts_fd_ring]: New member.
53844         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
53845         (FCHDIR): Add parentheses.
53846         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
53847         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
53848         When descending, rather than simply closing the previous
53849         fts_cwd_fd value, push that file descriptor onto the ring.
53850         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
53851         (fts_open): Initialize the new fd_ring member.
53852         (fts_close): Clear the ring.
53853         (fts_safe_changedir): When possible, use our new fd_ring to skip
53854         the diropen and fstat and dev/ino comparison that would normally
53855         accompany a virtual `chdir ("..")'.
53856
53857         * modules/fts (Depends-on): Add i-ring.
53858         * modules/i-ring: New module.
53859         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
53860         * m4/i-ring.m4: New file.
53861
53862 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53863
53864         * gnulib-tool (func_create_testdir): Fix replacement of
53865         `build-aux' in configure.ac.  Run autotools in gltests
53866         subdirectory.
53867         (func_create_testdir, func_create_megatestdir, test): There is
53868         no need for '--force' in most autotool invocations in a new
53869         tree.  Actually fail the whole test if any of the tools, or the
53870         configure or make stages fail.
53871
53872         Sync from Automake.
53873         * build-aux/gnupload: Revert last change.  Add pointer to upload
53874         instructions of the GNU Maintenance Instructions.
53875         Suggestion by Karl Berry.
53876
53877 2006-11-10  Jim Meyering  <jim@meyering.net>
53878
53879         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
53880
53881 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
53882
53883         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
53884         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
53885         (bind_textdomain_codeset) [! ENABLE_NLS]:
53886         Evaluate all the arguments.  That way, callers get compatible behavior
53887         if the arguments have side effects.  Also, it avoids some GCC
53888         diagnostics in some cases; Joel E. Denny reported problems when Bison
53889         was configured with --enable-gcc-warnigs.
53890
53891 2006-11-10  Jim Meyering  <jim@meyering.net>
53892
53893         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
53894         relevant options in CFLAGS (like -O, -fno-inline) are taken into
53895         account.
53896
53897 2006-11-10  Jim Meyering  <jim@meyering.net>
53898
53899         * modules/inline: New file/module.
53900         * modules/xalloc (Files): Remove m4/inline.m4.
53901         (Depends-on): Add inline, instead.
53902         * modules/oset: Likewise.
53903         * modules/list: Likewise.
53904
53905 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
53906
53907         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
53908         Problem reported by Matthew Woehlke.
53909
53910 2006-11-09  Bruno Haible  <bruno@clisp.org>
53911
53912         * lib/tempname.c (gen_tempname): Remove variant that invokes
53913         __gen_tempname.
53914         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
53915         __gen_tempname.
53916
53917 2006-11-08  Bruno Haible  <bruno@clisp.org>
53918
53919         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
53920         to 'yes' instead of 'cross-compiling'.
53921
53922 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
53923
53924         * lib/quotearg.h (quotearg_free): New decl.
53925         * lib/quotearg.c (quotearg_free): New function.
53926         (slot0, nslots, slotvec0, slotvec):
53927         Now file-scope so that quotearg_free can get at them.
53928
53929 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53930
53931         Sync from Automake.
53932         * build-aux/gnupload: Add missing 'gnu' to example URL.
53933         Report by Karl Berry.
53934
53935 2006-11-08  Bruno Haible  <bruno@clisp.org>
53936
53937         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
53938         Suggested by Paul Eggert.
53939
53940 2006-11-08  Jim Meyering  <jim@meyering.net>
53941
53942         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
53943         It's already included if !_LIBC.
53944         (fts_safe_changedir): Add a comment.
53945
53946 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
53947
53948         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
53949         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
53950         Matthew Woehlke.
53951
53952         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
53953         definitions up, to avoid colliding with change below.
53954         (static_inline) [HAVE_INLINE]: New macro.
53955         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
53956         Provide extern decls when !HAVE_INLINE.  Do not define unless
53957         static_inline is defined, either by us or by xmalloc.c.  Use
53958         static_inline rather than static inline.
53959         (XCALLOC): Optimize sizeof(T) = 1 case.
53960         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
53961
53962 2006-11-07  Bruno Haible  <bruno@clisp.org>
53963
53964         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
53965         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
53966         AC_C_INLINE.
53967         * modules/xalloc (Files): Add m4/inline.m4.
53968
53969 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53970
53971         * README: Fix typo.
53972         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
53973         (Miscellanous Notes): ...from this.
53974
53975 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
53976
53977         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
53978         Mention that offsetof should be used instead of sizeof.
53979         From Bruno Haible.
53980
53981 2006-11-07  Bruno Haible  <bruno@clisp.org>
53982
53983         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
53984
53985 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
53986
53987         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
53988         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
53989         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
53990         (gl_tree_add_before, gl_tree_add_after):
53991         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
53992         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
53993         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
53994         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
53995         (gl_linked_add_after, gl_linked_add_at): Likewise.
53996         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
53997         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
53998         (gl_tree_add_before, gl_tree_add_after): Likewise.
53999         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
54000         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
54001         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
54002
54003 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54004
54005         * lib/gl_oset.h: Use C comment style, not C++ comment style.
54006
54007 2006-11-06  Bruno Haible  <bruno@clisp.org>
54008
54009         * m4/inline.m4: New file.
54010         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
54011         * modules/list (Files): Add m4/inline.m4.
54012         * modules/oset (Files): Likewise.
54013
54014 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
54015
54016         * lib/idcache.c: Include <stddef.h>, for offsetof.
54017         (struct userid.name): Change from char * to a flexible array member.
54018         All uses changed.
54019         * modules/idcache (Depends-on): Add flexmember.
54020
54021         * MODULES.html.sh (Core language properties): New module flexmember.
54022         * modules/flexmember, m4/flexmember.m4: New files.
54023
54024         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
54025         inline functions that are identical with the old xnmalloc_inline,
54026         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
54027         that we can avoid some unnecessary integer multiplications and
54028         divisions in the common case where the element size is known at
54029         compile time.
54030         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
54031         needed.
54032         (xnboundedmalloc): Remove.
54033         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
54034         arguments, for consistency with rest of this header.
54035         (xcharalloc): Rewrite using XNMALLOC.
54036         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
54037         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
54038         versions have been moved to lib/xalloc.h and renamed to be the
54039         non-*_inline versions.
54040         (xmalloc, xrealloc): Implement without reference to the xnmalloc
54041         and xnrealloc functions, since those functions are now inline and
54042         now call us.
54043         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
54044         renaming described above.
54045         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
54046         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
54047         captures the dependency in AC_C_INLINE.
54048
54049         New module canonicalize-lgpl, proposed by Charles Wilson in
54050         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
54051         with a few small changes afterwards.
54052         * MODULES.html.sh (File system functions): New module
54053         canonicalize-lgpl.
54054         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
54055         and canonicalize_file_name.
54056         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
54057         * modules/canonicalize-lgpl: New files.
54058
54059 2006-11-05  Bruno Haible  <bruno@clisp.org>
54060
54061         * gnulib-tool (func_import, func_create_testdir): Create directories
54062         also for files in subdirectories of lib/.
54063
54064 2006-11-05  Bruno Haible  <bruno@clisp.org>
54065
54066         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
54067         ANSI C compliant.
54068
54069 2006-11-03  Bruno Haible  <bruno@clisp.org>
54070
54071         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
54072         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
54073         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
54074         (xnboundedmalloc): New inline function.
54075         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
54076         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
54077         xmalloc.
54078         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
54079         xmalloc.
54080         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
54081         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
54082         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
54083         xmalloc.
54084         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
54085         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
54086         xmalloc.
54087         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
54088         gl_tree_add_after): Use XMALLOC instead of xmalloc.
54089         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
54090         xmalloc.
54091         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
54092         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
54093         gl_tree_add_after): Use XMALLOC instead of xmalloc.
54094         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
54095         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
54096         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
54097         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
54098
54099 2006-11-03  Bruno Haible  <bruno@clisp.org>
54100
54101         * lib/c-ctype.h [C++]: Define functions without name mangling.
54102         * lib/fwriteerror.h [C++]: Likewise.
54103         * lib/gcd.h [C++]: Likewise.
54104         * lib/linebreak.h [C++]: Likewise.
54105
54106 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
54107
54108         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
54109         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
54110         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
54111         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
54112         Check for functions and headers just once.
54113         Check for declaration of canonicalize_file_name.
54114         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
54115
54116 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
54117
54118         * gnulib-tool (func_import): Fix typo in actioncmd.
54119
54120 2006-11-02  Bruno Haible  <bruno@clisp.org>
54121
54122         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
54123         newline sequence in the Makefile.am snippet as a space, like "make"
54124         does.
54125         Reported by Roger Persson <perrog@gmail.com>.
54126
54127 2006-11-01  Bruno Haible  <bruno@clisp.org>
54128
54129         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
54130         already declared in <string.h>.
54131         * lib/strcase.h (strncasecmp): Don't declare it if yes.
54132
54133 2006-11-01  Bruno Haible  <bruno@clisp.org>
54134
54135         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
54136         * lib/strcase.h: Include <string.h>.
54137         (strcasecmp): Define to rpl_strcasecmp here.
54138
54139 2006-11-01  Bruno Haible  <bruno@clisp.org>
54140
54141         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
54142
54143 2006-11-01  Eric Blake  <ebb9@byu.net>
54144
54145         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
54146
54147         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
54148
54149 2006-10-29  Bruno Haible  <bruno@clisp.org>
54150
54151         Make it compile in C++ mode.
54152         * lib/full-write.c (full_rw): Add a cast.
54153
54154 2006-11-01  Bruno Haible  <bruno@clisp.org>
54155
54156         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
54157         be POSIX compliant.
54158         Reported by Roger Persson <perrog@gmail.com>.
54159
54160 2006-11-01  Eric Blake  <ebb9@byu.net>
54161
54162         * lib/getopt_.h: Fix comments.
54163
54164 2006-10-31  Eric Blake  <ebb9@byu.net>
54165
54166         * modules/tmpdir (Depends-on): Add sys_stat.
54167         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
54168         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
54169         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
54170         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
54171         tempname.
54172
54173 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
54174
54175         Avoid some C++ diagnostics reported by Bruno Haible.
54176         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
54177         xmalloc.
54178         (quotearg_alloc): Use xcharalloc rather than xmalloc.
54179         (struct slotvec): Move to top level.
54180         (quotearg_n_options): Rewrite to avoid xmalloc.
54181         * lib/xalloc.h (xcharalloc): New function.
54182         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
54183         [defined __cplusplus]: Add function template that provides result
54184         type propagation.  This part of the change is from Bruno Haible.
54185
54186 2006-10-29  Bruno Haible  <bruno@clisp.org>
54187
54188         Make it compile in C++ mode.
54189         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
54190         * lib/strnlen1.c (strnlen1): Cast memchr result.
54191         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
54192         * lib/clean-temp.c (string_equals, string_hash): Add casts.
54193         (create_temp_dir): Rename local variable 'template'.
54194         (compile_csharp_using_sscli): Add cast.
54195         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
54196         * lib/findprog.c (find_in_path): Likewise.
54197         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
54198         * lib/wait-process.c (register_slave_subprocess): Likewise.
54199
54200 2006-10-22  Bruno Haible  <bruno@clisp.org>
54201
54202         * modules/tsearch: New file.
54203         * lib/tsearch.h: New file.
54204         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
54205         * m4/tsearch.m4: New file.
54206         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
54207
54208 2006-10-29  Eric Blake  <ebb9@byu.net>
54209
54210         * lib/arcfour.c: Assume config.h.
54211         * lib/arctwo.c: Likewise.
54212         * lib/base64.c: Likewise.
54213         * lib/check-version.c: Likewise.
54214         * lib/crc.c: Likewise.
54215         * lib/des.c: Likewise.
54216         * lib/gc-gnulib.c: Likewise.
54217         * lib/gc-libgcrypt.c: Likewise.
54218         * lib/gc-pbkdf2-sha1.c: Likewise.
54219         * lib/getaddrinfo.c: Likewise.
54220         * lib/getdelim.c: Likewise.
54221         * lib/getline.c: Likewise.
54222         * lib/hmac-md5.c: Likewise.
54223         * lib/hmac-sha1.c: Likewise.
54224         * lib/iconvme.c: Likewise.
54225         * lib/md2.c: Likewise.
54226         * lib/md4.c: Likewise.
54227         * lib/memxor.c: Likewise.
54228         * lib/read-file.c: Likewise.
54229         * lib/readline.c: Likewise.
54230         * lib/rijndael-alg-fst.c: Likewise.
54231         * lib/rijndael-api-fst.c: Likewise.
54232         * lib/xgetdomainname.c: Likewise.
54233
54234 2006-10-28  Eric Blake  <ebb9@byu.net>
54235
54236         * lib/xstrndup.c: Assume config.h.
54237
54238 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
54239
54240         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
54241         stat-macros.h is now for our own macros, whereas stat_h is for
54242         macros in the <sys/stat.h> name space.
54243         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
54244         (STAT_MACROS_H): Remove.
54245         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
54246         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
54247         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
54248         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
54249         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
54250         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
54251         Move these macros to ...
54252         * lib/stat_.h: here.  Don't include stat-macros.h.
54253         * lib/canonicalize.c: Don't include stat-macros.h.
54254         * lib/chown.c: Likewise.
54255         * lib/euidaccess.c: Likewise.
54256         * lib/file-type.c: Likewise.
54257         * lib/filemode.c: Likewise.
54258         * lib/glob.c: Likewise.
54259         * lib/isapipe.c: Likewise.
54260         * lib/lchown.c: Likewise.
54261         * lib/lstat.c: Likewise.
54262         * lib/mkdir-p.c: Likewise.
54263         * lib/rmdir.c: Likewise.
54264         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
54265         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
54266         unless mkdir isn't declared, to speed up 'configure'.
54267         Always create sys/stat.h, since it's unlikely any real sys/stat.h
54268         would define all the S_* symbols.
54269         * modules/canonicalize (Depends-on):
54270         Depend on sys_stat, not stat-macros.
54271         * modules/chown: Likewise.
54272         * modules/euidaccess: Likewise.
54273         * modules/filemode: Likewise.
54274         * modules/file-type: Likewise.
54275         * modules/glob: Likewise.
54276         * modules/isapipe: Likewise.
54277         * modules/lchown: Likewise.
54278         * modules/lstat: Likewise.
54279         * modules/mkancesdirs: Likewise.
54280         * modules/rmdir: Likewise.
54281         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
54282         * modules/modechange: Likewise.
54283         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
54284         (configure.ac): Remove gl_STAT_MACROS.
54285         * modules/sys_stat (Depends-on): Remove stat-macros.
54286
54287 2006-10-27  Bruno Haible  <bruno@clisp.org>
54288
54289         * m4/signed.m4: Remove file.
54290         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
54291         invocation.
54292         * modules/vasnprintf (Files): Remove m4/signed.m4.
54293
54294 2006-10-27  Bruno Haible  <bruno@clisp.org>
54295
54296         Update to GNU gettext 0.16.
54297         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
54298         m4/inttypes-h.m4, m4/signed.m4.
54299         * m4/gettext.m4: Update to GNU gettext 0.16.
54300         * m4/intl.m4: New file, from GNU gettext.
54301         * m4/intldir.m4: New file, from GNU gettext.
54302         * config/srclist.txt: Update
54303
54304 2006-10-27  Eric Blake  <ebb9@byu.net>
54305
54306         * MODULES.html.sh: Document tempname.
54307         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
54308         dependencies.
54309         (Files): Move lib/tempname.c...
54310         * modules/tempname: ...to this new module.
54311         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
54312         (gl_PREREQ_TEMPNAME): Move...
54313         * m4/tempname.m4: ...to this new file.
54314         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
54315         * modules/sys_stat (Depends-on): Add stat-macros.
54316         * lib/stat_.h (includes): Pick up stat macros.
54317         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
54318         if stat macros are broken.
54319         * lib/tempname.c (includes): No need to include "stat-macros.h".
54320         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
54321         (direxists, __path_search) [!_LIBC]: Don't compile these in
54322         gnulib; the tmpdir module covers that.
54323         * lib/tempname.h: New file.
54324
54325 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
54326
54327         * COPYING: Explain how gnulib-tool converts licence headers.
54328         Almost all wording by Eric Blake.
54329
54330 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
54331
54332         * lib/mbchar.h (is_basic_table): Make read-only.
54333         * lib/mbchar.c (is_basic_table): Likewise.
54334         Reported by John Darrington.
54335
54336 2006-10-25  Bruno Haible  <bruno@clisp.org>
54337
54338         * lib/progname.h (set_program_name): Undefine before defining.
54339
54340 2006-10-25  Bruno Haible  <bruno@clisp.org>
54341
54342         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
54343         false for non-gcc C++ compilers.
54344         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
54345
54346 2006-10-24  Bruno Haible  <bruno@clisp.org>
54347
54348         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
54349         iconv implementations like Irix iconv.
54350
54351 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
54352
54353         * modules/vararrays: New file.
54354         * m4/vararrays.m4: New file, taken from diffutils.
54355         * MODULES.html.sh: New module vararrays.
54356
54357 2006-10-24  Karl Berry  <karl@gnu.org>
54358
54359         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
54360         Don't call GNU Unix.
54361
54362 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54363
54364         * users.txt: Add Libtool.
54365
54366         Sync from Libtool:
54367
54368         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
54369
54370         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
54371         to gnulib's policy of including config.h unconditionally.
54372
54373 2006-10-24  Bruno Haible  <bruno@clisp.org>
54374
54375         * modules/wcwidth (Files): Add m4/wint_t.m4.
54376         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
54377         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
54378
54379 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
54380
54381         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
54382         to pacify GCC with some -W flags enabled.  Problem reported by
54383         Bruno Haible.
54384
54385 2006-10-24  Jim Meyering  <jim@meyering.net>
54386
54387         * MODULES.html.sh: Remove uinttostr.  It's not a module.
54388         Reported by Karl Berry.
54389
54390 2006-10-23  Bruno Haible  <bruno@clisp.org>
54391
54392         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
54393
54394 2006-10-24  Bruno Haible  <bruno@clisp.org>
54395
54396         * lib/gl_list.h: Use C comment style, not C++ comment style.
54397
54398 2006-10-23  Eric Blake  <ebb9@byu.net>
54399
54400         * lib/getaddrinfo.c (includes): Add missing include.
54401
54402 2006-10-23  Bruno Haible  <bruno@clisp.org>
54403             Paul Eggert  <eggert@cs.ucla.edu>
54404
54405         Ability to rename obstack_free.
54406         * lib/obstack.h (__obstack_free): New macro. Declare instead of
54407         obstack_free.
54408         (obstack_free): Invoke the __obstack_free macro.
54409         * lib/obstack.c (obstack_free): Use __obstack_free macro.
54410
54411 2006-10-23  Bruno Haible  <bruno@clisp.org>
54412             Paul Eggert  <eggert@cs.ucla.edu>
54413
54414         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
54415         __argc, __argv from the declaration. (They are defined as macros on
54416         mingw.)
54417
54418 2006-10-22  Bruno Haible  <bruno@clisp.org>
54419
54420         * doc/gnulib-intro.texi: New file.
54421         * doc/gnulib.texi: Include it.
54422
54423 2006-10-21  Bruno Haible  <bruno@clisp.org>
54424
54425         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
54426         "Introduction", "Miscellanous Notes", "Particular Modules".
54427
54428 2006-10-21  Bruno Haible  <bruno@clisp.org>
54429
54430         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
54431         Change mostlyclean-local rule to avoid sh syntax error from bash
54432         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
54433
54434 2006-10-23  Jim Meyering  <jim@meyering.net>
54435
54436         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
54437         in place of snprintf.
54438
54439         * modules/inttostr (Files): Add lib/uinttostr.c.
54440         * lib/uinttostr.c (inttostr): New file/function.
54441         * lib/inttostr.h (uinttostr): Declare.
54442         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
54443         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
54444         Add uinttostr.
54445         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
54446
54447 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
54448
54449         * lib/canonicalize.c (ELOOP): Define if not already defined.
54450         Problem reported by Bruno Haible in
54451         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
54452
54453 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
54454
54455         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
54456         Problem reported by Perry Smith and Ville Laurikari.
54457
54458         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
54459         uses.
54460
54461 2006-10-19  Bruno Haible  <bruno@clisp.org>
54462
54463         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
54464         for mingw.
54465
54466 2006-10-19  Bruno Haible  <bruno@clisp.org>
54467
54468         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
54469         Needed for mingw.
54470
54471 2006-10-19  Bruno Haible  <bruno@clisp.org>
54472
54473         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
54474
54475 2006-10-19  Bruno Haible  <bruno@clisp.org>
54476
54477         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
54478         it.
54479
54480 2006-10-19  Bruno Haible  <bruno@clisp.org>
54481
54482         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
54483         invocation.
54484
54485 2006-10-19  Bruno Haible  <bruno@clisp.org>
54486
54487         * gnulib-tool (func_create_testdir): Don't include ftruncate and
54488         mountlist by default.
54489
54490 2006-10-16  Bruno Haible  <bruno@clisp.org>
54491
54492         * lib/c-strstr.c: Include c-strstr.h.
54493
54494 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
54495
54496         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
54497         in a slash.
54498
54499 2006-10-18  Bruno Haible  <bruno@clisp.org>
54500
54501         * lib/lock.h [C++]: Wrap definitions in extern "C".
54502
54503 2006-10-18  Bruno Haible  <bruno@clisp.org>
54504
54505         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
54506         gl_LIBOBJS list.
54507
54508 2006-10-18  Bruno Haible  <bruno@clisp.org>
54509
54510         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
54511
54512 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
54513
54514         * lib/xstrtol.h: Include gettext.h.
54515         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
54516         Problem reported by Eric Blake.
54517         * modules/xstrtol (Depends-on): Add gettext-h.
54518
54519 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
54520
54521         * lib/strftime.c (advance): New macro.
54522         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
54523         incomplete type, so you can't add 0 to it.  Problem and patch
54524         reported by Eelco Dolstra for dietlibc.
54525
54526 2006-10-18  Jim Meyering  <jim@meyering.net>
54527
54528         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
54529         type for a local, and rename it: s/up/user_proc/.
54530
54531 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
54532
54533         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
54534         READ_UTMP_USER_PROCESS.
54535         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
54536
54537 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
54538
54539         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
54540         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
54541
54542 2006-10-17  Eric Blake  <ebb9@byu.net>
54543
54544         * lib/sigprocmask.c (sigprocmask): Fix typo.
54545
54546         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
54547
54548         * modules/clean-temp (Makefile.am): Don't add to make output...
54549         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
54550         config.h.
54551
54552 2006-10-17  Bruno Haible  <bruno@clisp.org>
54553
54554         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
54555         differently if DEFAULT_TEXT_DOMAIN is set.
54556
54557 2006-10-16  Bruno Haible  <bruno@clisp.org>
54558
54559         * lib/clean-temp.c: Include fwriteerror.h.
54560
54561 2006-10-16  Bruno Haible  <bruno@clisp.org>
54562
54563         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
54564
54565 2006-10-16  Bruno Haible  <bruno@clisp.org>
54566
54567         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
54568         * lib/sigprocmask.h: Include <sys/types.h>.
54569         (sigset_t): Use the system's definition if present.
54570
54571 2006-10-17  Eric Blake  <ebb9@byu.net>
54572
54573         * lib/xvasprintf.c (includes): Assume config.h.
54574         * lib/xasprintf.c (includes): Likewise.
54575
54576 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54577
54578         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
54579         at least as wide as intmax_t.
54580
54581 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
54582
54583         (Imported from Automake.)
54584         * build-aux/gnupload: Update to version 1.1 of directive file.
54585
54586 2006-10-16  Eric Blake  <ebb9@byu.net>
54587
54588         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
54589         match Automake 1.10a.
54590
54591 2006-10-14  Bruno Haible  <bruno@clisp.org>
54592
54593         * modules/sigprocmask: New file.
54594         * lib/sigprocmask.h: New file.
54595         * lib/sigprocmask.c: New file.
54596         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
54597         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
54598         request sigprocmask.o.
54599         (gl_PREREQ_SIGPROCMASK): New macro.
54600         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
54601         (Depends-on): Add sigprocmask.
54602         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
54603         gt_SIGNALBLOCKING. Test for 'raise' only once.
54604         * lib/fatal-signal.c: Include sigprocmask.h.
54605         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
54606         unblock_fatal_signals): Define always.
54607         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54608         sigprocmask.
54609
54610 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
54611
54612         Sync from Automake.
54613         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
54614         which incorrectly sets the mode of an existing destination
54615         directory.  In some cases the unpatched install-sh could do the
54616         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
54617         system.  We hope this is rare in practice, but it's clearly worth
54618         fixing.  Problem reported by Alex Unleashed in
54619         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
54620         Also, don't bother to check for -m bugs unless we're using -m;
54621         suggested by Stepan Kasal.
54622
54623 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54624
54625         Sync from Automake.
54626         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
54627         `-c' flag, so they appear at the same position as in %FASTDEP%
54628         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
54629         which ignores unknown options only after the first non-option.
54630         Bug report against M4 by Nelson H. F. Beebe.
54631
54632 2006-10-13  Jim Meyering  <jim@meyering.net>
54633
54634         Fix a bug in yesterday's change.
54635         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
54636         p->fts_statp->st_dev would be used uninitialized.
54637         Ensures that we always call fts_stat on the very first entry.
54638         Miklos Szeredi reported that find -xdev stopped working.
54639
54640 2006-10-12  Bruno Haible  <bruno@clisp.org>
54641
54642         * gnulib-tool (func_get_automake_snippet): Append an automatically
54643         computed EXTRA_DIST augmentation.
54644         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
54645         * modules/alloca-opt (Makefile.am): Likewise.
54646         * modules/allocsa (Makefile.am): Likewise.
54647         * modules/arcfour (Makefile.am): Likewise.
54648         * modules/arctwo (Makefile.am): Likewise.
54649         * modules/argmatch (Makefile.am): Likewise.
54650         * modules/argz (Makefile.am): Likewise.
54651         * modules/atexit (Makefile.am): Likewise.
54652         * modules/backupfile (Makefile.am): Likewise.
54653         * modules/byteswap (Makefile.am): Likewise.
54654         * modules/c-strtod (Makefile.am): Likewise.
54655         * modules/c-strtold (Makefile.am): Likewise.
54656         * modules/calloc (Makefile.am): Likewise.
54657         * modules/canon-host (Makefile.am): Likewise.
54658         * modules/canonicalize (Makefile.am): Likewise.
54659         * modules/chdir-long (Makefile.am): Likewise.
54660         * modules/chdir-safer (Makefile.am): Likewise.
54661         * modules/check-version (Makefile.am): Likewise.
54662         * modules/chown (Makefile.am): Likewise.
54663         * modules/cloexec (Makefile.am): Likewise.
54664         * modules/close-stream (Makefile.am): Likewise.
54665         * modules/closeout (Makefile.am): Likewise.
54666         * modules/crc (Makefile.am): Likewise.
54667         * modules/csharpexec (Makefile.am): Likewise.
54668         * modules/cycle-check (Makefile.am): Likewise.
54669         * modules/des (Makefile.am): Likewise.
54670         * modules/dev-ino (Makefile.am): Likewise.
54671         * modules/dirfd (Makefile.am): Likewise.
54672         * modules/dirname (Makefile.am): Likewise.
54673         * modules/dup2 (Makefile.am): Likewise.
54674         * modules/eealloc (Makefile.am): Likewise.
54675         * modules/error (Makefile.am): Likewise.
54676         * modules/euidaccess (Makefile.am): Likewise.
54677         * modules/exclude (Makefile.am): Likewise.
54678         * modules/exitfail (Makefile.am): Likewise.
54679         * modules/fcntl-safer (Makefile.am): Likewise.
54680         * modules/fcntl (Makefile.am): Likewise.
54681         * modules/file-type (Makefile.am): Likewise.
54682         * modules/fileblocks (Makefile.am): Likewise.
54683         * modules/filemode (Makefile.am): Likewise.
54684         * modules/filenamecat (Makefile.am): Likewise.
54685         * modules/fnmatch (Makefile.am): Likewise.
54686         * modules/fopen-safer (Makefile.am): Likewise.
54687         * modules/fpending (Makefile.am): Likewise.
54688         * modules/fprintftime (Makefile.am): Likewise.
54689         * modules/free (Makefile.am): Likewise.
54690         * modules/fsusage (Makefile.am): Likewise.
54691         * modules/ftruncate (Makefile.am): Likewise.
54692         * modules/fts (Makefile.am): Likewise.
54693         * modules/gc-arcfour (Makefile.am): Likewise.
54694         * modules/gc-des (Makefile.am): Likewise.
54695         * modules/gc-hmac-md5 (Makefile.am): Likewise.
54696         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
54697         * modules/gc-md4 (Makefile.am): Likewise.
54698         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
54699         * modules/gc-sha1 (Makefile.am): Likewise.
54700         * modules/gc (Makefile.am): Likewise.
54701         * modules/getaddrinfo (Makefile.am): Likewise.
54702         * modules/getcwd (Makefile.am): Likewise.
54703         * modules/getdelim (Makefile.am): Likewise.
54704         * modules/getdomainname (Makefile.am): Likewise.
54705         * modules/getgroups (Makefile.am): Likewise.
54706         * modules/gethostname (Makefile.am): Likewise.
54707         * modules/gethrxtime (Makefile.am): Likewise.
54708         * modules/getline (Makefile.am): Likewise.
54709         * modules/getloadavg (Makefile.am): Likewise.
54710         * modules/getlogin_r (Makefile.am): Likewise.
54711         * modules/getndelim2 (Makefile.am): Likewise.
54712         * modules/getopt (Makefile.am): Likewise.
54713         * modules/getpagesize (Makefile.am): Likewise.
54714         * modules/getpass-gnu (Makefile.am): Likewise.
54715         * modules/getpass (Makefile.am): Likewise.
54716         * modules/getsubopt (Makefile.am): Likewise.
54717         * modules/gettime (Makefile.am): Likewise.
54718         * modules/gettimeofday (Makefile.am): Likewise.
54719         * modules/getugroups (Makefile.am): Likewise.
54720         * modules/getusershell (Makefile.am): Likewise.
54721         * modules/glob (Makefile.am): Likewise.
54722         * modules/group-member (Makefile.am): Likewise.
54723         * modules/hard-locale (Makefile.am): Likewise.
54724         * modules/hash (Makefile.am): Likewise.
54725         * modules/hmac-md5 (Makefile.am): Likewise.
54726         * modules/hmac-sha1 (Makefile.am): Likewise.
54727         * modules/human (Makefile.am): Likewise.
54728         * modules/idcache (Makefile.am): Likewise.
54729         * modules/imaxabs (Makefile.am): Likewise.
54730         * modules/imaxdiv (Makefile.am): Likewise.
54731         * modules/inet_ntop (Makefile.am): Likewise.
54732         * modules/inet_pton (Makefile.am): Likewise.
54733         * modules/intprops (Makefile.am): Likewise.
54734         * modules/inttostr (Makefile.am): Likewise.
54735         * modules/inttypes (Makefile.am): Likewise.
54736         * modules/isapipe (Makefile.am): Likewise.
54737         * modules/javaversion (Makefile.am): Likewise.
54738         * modules/lchmod (Makefile.am): Likewise.
54739         * modules/lchown (Makefile.am): Likewise.
54740         * modules/localcharset (Makefile.am): Likewise.
54741         * modules/long-options (Makefile.am): Likewise.
54742         * modules/lstat (Makefile.am): Likewise.
54743         * modules/malloc (Makefile.am): Likewise.
54744         * modules/mathl (Makefile.am): Likewise.
54745         * modules/mbchar (Makefile.am): Likewise.
54746         * modules/md2 (Makefile.am): Likewise.
54747         * modules/md4 (Makefile.am): Likewise.
54748         * modules/md5 (Makefile.am): Likewise.
54749         * modules/memcasecmp (Makefile.am): Likewise.
54750         * modules/memchr (Makefile.am): Likewise.
54751         * modules/memcmp (Makefile.am): Likewise.
54752         * modules/memcoll (Makefile.am): Likewise.
54753         * modules/memcpy (Makefile.am): Likewise.
54754         * modules/memmem (Makefile.am): Likewise.
54755         * modules/memmove (Makefile.am): Likewise.
54756         * modules/mempcpy (Makefile.am): Likewise.
54757         * modules/memrchr (Makefile.am): Likewise.
54758         * modules/memset (Makefile.am): Likewise.
54759         * modules/memxor (Makefile.am): Likewise.
54760         * modules/mkancesdirs (Makefile.am): Likewise.
54761         * modules/mkdir-p (Makefile.am): Likewise.
54762         * modules/mkdir (Makefile.am): Likewise.
54763         * modules/mkdtemp (Makefile.am): Likewise.
54764         * modules/mkstemp (Makefile.am): Likewise.
54765         * modules/mktime (Makefile.am): Likewise.
54766         * modules/modechange (Makefile.am): Likewise.
54767         * modules/mountlist (Makefile.am): Likewise.
54768         * modules/nanosleep (Makefile.am): Likewise.
54769         * modules/obstack (Makefile.am): Likewise.
54770         * modules/openat (Makefile.am): Likewise.
54771         * modules/pagealign_alloc (Makefile.am): Likewise.
54772         * modules/pathmax (Makefile.am): Likewise.
54773         * modules/physmem (Makefile.am): Likewise.
54774         * modules/poll (Makefile.am): Likewise.
54775         * modules/posixtm (Makefile.am): Likewise.
54776         * modules/posixver (Makefile.am): Likewise.
54777         * modules/putenv (Makefile.am): Likewise.
54778         * modules/quote (Makefile.am): Likewise.
54779         * modules/quotearg (Makefile.am): Likewise.
54780         * modules/raise (Makefile.am): Likewise.
54781         * modules/read-file (Makefile.am): Likewise.
54782         * modules/readline (Makefile.am): Likewise.
54783         * modules/readlink (Makefile.am): Likewise.
54784         * modules/readtokens (Makefile.am): Likewise.
54785         * modules/readutmp (Makefile.am): Likewise.
54786         * modules/realloc (Makefile.am): Likewise.
54787         * modules/regex (Makefile.am): Likewise.
54788         * modules/rename-dest-slash (Makefile.am): Likewise.
54789         * modules/rename (Makefile.am): Likewise.
54790         * modules/rijndael (Makefile.am): Likewise.
54791         * modules/rmdir (Makefile.am): Likewise.
54792         * modules/rpmatch (Makefile.am): Likewise.
54793         * modules/safe-read (Makefile.am): Likewise.
54794         * modules/safe-write (Makefile.am): Likewise.
54795         * modules/same-inode (Makefile.am): Likewise.
54796         * modules/same (Makefile.am): Likewise.
54797         * modules/save-cwd (Makefile.am): Likewise.
54798         * modules/savedir (Makefile.am): Likewise.
54799         * modules/setenv (Makefile.am): Likewise.
54800         * modules/settime (Makefile.am): Likewise.
54801         * modules/sha1 (Makefile.am): Likewise.
54802         * modules/sig2str (Makefile.am): Likewise.
54803         * modules/snprintf (Makefile.am): Likewise.
54804         * modules/stat-macros (Makefile.am): Likewise.
54805         * modules/stat-time (Makefile.am): Likewise.
54806         * modules/stdbool (Makefile.am): Likewise.
54807         * modules/stdint (Makefile.am): Likewise.
54808         * modules/stdlib-safer (Makefile.am): Likewise.
54809         * modules/stpcpy (Makefile.am): Likewise.
54810         * modules/stpncpy (Makefile.am): Likewise.
54811         * modules/strcase (Makefile.am): Likewise.
54812         * modules/strcasestr (Makefile.am): Likewise.
54813         * modules/strchrnul (Makefile.am): Likewise.
54814         * modules/strcspn (Makefile.am): Likewise.
54815         * modules/strdup (Makefile.am): Likewise.
54816         * modules/strerror (Makefile.am): Likewise.
54817         * modules/strftime (Makefile.am): Likewise.
54818         * modules/strndup (Makefile.am): Likewise.
54819         * modules/strnlen (Makefile.am): Likewise.
54820         * modules/strpbrk (Makefile.am): Likewise.
54821         * modules/strsep (Makefile.am): Likewise.
54822         * modules/strstr (Makefile.am): Likewise.
54823         * modules/strtod (Makefile.am): Likewise.
54824         * modules/strtoimax (Makefile.am): Likewise.
54825         * modules/strtok_r (Makefile.am): Likewise.
54826         * modules/strtol (Makefile.am): Likewise.
54827         * modules/strtoll (Makefile.am): Likewise.
54828         * modules/strtoul (Makefile.am): Likewise.
54829         * modules/strtoull (Makefile.am): Likewise.
54830         * modules/strtoumax (Makefile.am): Likewise.
54831         * modules/strverscmp (Makefile.am): Likewise.
54832         * modules/sys_socket (Makefile.am): Likewise.
54833         * modules/sys_stat (Makefile.am): Likewise.
54834         * modules/sysexits (Makefile.am): Likewise.
54835         * modules/time_r (Makefile.am): Likewise.
54836         * modules/timegm (Makefile.am): Likewise.
54837         * modules/timespec (Makefile.am): Likewise.
54838         * modules/tmpfile-safer (Makefile.am): Likewise.
54839         * modules/trim (Makefile.am): Likewise.
54840         * modules/unistd-safer (Makefile.am): Likewise.
54841         * modules/unlinkdir (Makefile.am): Likewise.
54842         * modules/unlocked-io (Makefile.am): Likewise.
54843         * modules/userspec (Makefile.am): Likewise.
54844         * modules/utime (Makefile.am): Likewise.
54845         * modules/utimecmp (Makefile.am): Likewise.
54846         * modules/utimens (Makefile.am): Likewise.
54847         * modules/vasnprintf (Makefile.am): Likewise.
54848         * modules/vasprintf (Makefile.am): Likewise.
54849         * modules/vsnprintf (Makefile.am): Likewise.
54850         * modules/xalloc (Makefile.am): Likewise.
54851         * modules/xgetcwd (Makefile.am): Likewise.
54852         * modules/xnanosleep (Makefile.am): Likewise.
54853         * modules/xreadlink (Makefile.am): Likewise.
54854         * modules/xstrtod (Makefile.am): Likewise.
54855         * modules/xstrtol (Makefile.am): Likewise.
54856         * modules/xstrtold (Makefile.am): Likewise.
54857         * modules/yesno (Makefile.am): Likewise.
54858         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
54859
54860 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
54861
54862         * modules/error (Makefile.am): Distribute files through
54863         EXTRA_DIST, not lib_SOURCES.
54864
54865 2006-10-12  Eric Blake  <ebb9@byu.net>
54866
54867         * modules/error (Makefile.am): Distribute files in /lib.
54868         * modules/obstack (Makefile.am): Likewise.
54869
54870 2006-10-12  Bruno Haible  <bruno@clisp.org>
54871
54872         * modules/acl (Makefile.am): Distribute all files in lib/ through
54873         EXTRA_DIST.
54874         * modules/arcfour (Makefile.am): Likewise.
54875         * modules/arctwo (Makefile.am): Likewise.
54876         * modules/argmatch (Makefile.am): Likewise.
54877         * modules/argz (Makefile.am): Likewise.
54878         * modules/atexit (Makefile.am): Likewise.
54879         * modules/backupfile (Makefile.am): Likewise.
54880         * modules/c-strtod (Makefile.am): Likewise.
54881         * modules/c-strtold (Makefile.am): Likewise.
54882         * modules/calloc (Makefile.am): Likewise.
54883         * modules/canon-host (Makefile.am): Likewise.
54884         * modules/canonicalize (Makefile.am): Likewise.
54885         * modules/chdir-long (Makefile.am): Likewise.
54886         * modules/chdir-safer (Makefile.am): Likewise.
54887         * modules/check-version (Makefile.am): Likewise.
54888         * modules/chown (Makefile.am): Likewise.
54889         * modules/cloexec (Makefile.am): Likewise.
54890         * modules/close-stream (Makefile.am): Likewise.
54891         * modules/closeout (Makefile.am): Likewise.
54892         * modules/crc (Makefile.am): Likewise.
54893         * modules/cycle-check (Makefile.am): Likewise.
54894         * modules/des (Makefile.am): Likewise.
54895         * modules/dirfd (Makefile.am): Likewise.
54896         * modules/dirname (Makefile.am): Likewise.
54897         * modules/dup2 (Makefile.am): Likewise.
54898         * modules/euidaccess (Makefile.am): Likewise.
54899         * modules/exclude (Makefile.am): Likewise.
54900         * modules/exitfail (Makefile.am): Likewise.
54901         * modules/fcntl-safer (Makefile.am): Likewise.
54902         * modules/file-type (Makefile.am): Likewise.
54903         * modules/fileblocks (Makefile.am): Likewise.
54904         * modules/filemode (Makefile.am): Likewise.
54905         * modules/filenamecat (Makefile.am): Likewise.
54906         * modules/fnmatch (Makefile.am): Likewise.
54907         * modules/fopen-safer (Makefile.am): Likewise.
54908         * modules/fpending (Makefile.am): Likewise.
54909         * modules/fprintftime (Makefile.am): Likewise.
54910         * modules/free (Makefile.am): Likewise.
54911         * modules/fsusage (Makefile.am): Likewise.
54912         * modules/ftruncate (Makefile.am): Likewise.
54913         * modules/fts (Makefile.am): Likewise.
54914         * modules/gc (Makefile.am): Likewise.
54915         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
54916         * modules/getaddrinfo (Makefile.am): Likewise.
54917         * modules/getcwd (Makefile.am): Likewise.
54918         * modules/getdelim (Makefile.am): Likewise.
54919         * modules/getdomainname (Makefile.am): Likewise.
54920         * modules/getgroups (Makefile.am): Likewise.
54921         * modules/gethostname (Makefile.am): Likewise.
54922         * modules/gethrxtime (Makefile.am): Likewise.
54923         * modules/getline (Makefile.am): Likewise.
54924         * modules/getloadavg (Makefile.am): Likewise.
54925         * modules/getlogin_r (Makefile.am): Likewise.
54926         * modules/getopt (Makefile.am): Likewise.
54927         * modules/getpass (Makefile.am): Likewise.
54928         * modules/getpass-gnu (Makefile.am): Likewise.
54929         * modules/getsubopt (Makefile.am): Likewise.
54930         * modules/gettime (Makefile.am): Likewise.
54931         * modules/gettimeofday (Makefile.am): Likewise.
54932         * modules/getugroups (Makefile.am): Likewise.
54933         * modules/getusershell (Makefile.am): Likewise.
54934         * modules/glob (Makefile.am): Likewise.
54935         * modules/group-member (Makefile.am): Likewise.
54936         * modules/hard-locale (Makefile.am): Likewise.
54937         * modules/hash (Makefile.am): Likewise.
54938         * modules/hmac-md5 (Makefile.am): Likewise.
54939         * modules/hmac-sha1 (Makefile.am): Likewise.
54940         * modules/human (Makefile.am): Likewise.
54941         * modules/idcache (Makefile.am): Likewise.
54942         * modules/imaxabs (Makefile.am): Likewise.
54943         * modules/imaxdiv (Makefile.am): Likewise.
54944         * modules/inet_ntop (Makefile.am): Likewise.
54945         * modules/inet_pton (Makefile.am): Likewise.
54946         * modules/inttostr (Makefile.am): Likewise.
54947         * modules/isapipe (Makefile.am): Likewise.
54948         * modules/lchown (Makefile.am): Likewise.
54949         * modules/long-options (Makefile.am): Likewise.
54950         * modules/lstat (Makefile.am): Likewise.
54951         * modules/malloc (Makefile.am): Likewise.
54952         * modules/mathl (Makefile.am): Likewise.
54953         * modules/mbchar (Makefile.am): Likewise.
54954         * modules/md2 (Makefile.am): Likewise.
54955         * modules/md4 (Makefile.am): Likewise.
54956         * modules/md5 (Makefile.am): Likewise.
54957         * modules/memcasecmp (Makefile.am): Likewise.
54958         * modules/memchr (Makefile.am): Likewise.
54959         * modules/memcmp (Makefile.am): Likewise.
54960         * modules/memcoll (Makefile.am): Likewise.
54961         * modules/memcpy (Makefile.am): Likewise.
54962         * modules/memmem (Makefile.am): Likewise.
54963         * modules/memmove (Makefile.am): Likewise.
54964         * modules/mempcpy (Makefile.am): Likewise.
54965         * modules/memrchr (Makefile.am): Likewise.
54966         * modules/memset (Makefile.am): Likewise.
54967         * modules/memxor (Makefile.am): Likewise.
54968         * modules/mkancesdirs (Makefile.am): Likewise.
54969         * modules/mkdir (Makefile.am): Likewise.
54970         * modules/mkdir-p (Makefile.am): Likewise.
54971         * modules/mkdtemp (Makefile.am): Likewise.
54972         * modules/mkstemp (Makefile.am): Likewise.
54973         * modules/mktime (Makefile.am): Likewise.
54974         * modules/modechange (Makefile.am): Likewise.
54975         * modules/mountlist (Makefile.am): Likewise.
54976         * modules/nanosleep (Makefile.am): Likewise.
54977         * modules/openat (Makefile.am): Likewise.
54978         * modules/pagealign_alloc (Makefile.am): Likewise.
54979         * modules/physmem (Makefile.am): Likewise.
54980         * modules/poll (Makefile.am): Likewise.
54981         * modules/posixtm (Makefile.am): Likewise.
54982         * modules/posixver (Makefile.am): Likewise.
54983         * modules/putenv (Makefile.am): Likewise.
54984         * modules/quote (Makefile.am): Likewise.
54985         * modules/quotearg (Makefile.am): Likewise.
54986         * modules/raise (Makefile.am): Likewise.
54987         * modules/read-file (Makefile.am): Likewise.
54988         * modules/readline (Makefile.am): Likewise.
54989         * modules/readlink (Makefile.am): Likewise.
54990         * modules/readtokens (Makefile.am): Likewise.
54991         * modules/readutmp (Makefile.am): Likewise.
54992         * modules/realloc (Makefile.am): Likewise.
54993         * modules/regex (Makefile.am): Likewise.
54994         * modules/rename (Makefile.am): Likewise.
54995         * modules/rename-dest-slash (Makefile.am): Likewise.
54996         * modules/rijndael (Makefile.am): Likewise.
54997         * modules/rmdir (Makefile.am): Likewise.
54998         * modules/rpmatch (Makefile.am): Likewise.
54999         * modules/safe-read (Makefile.am): Likewise.
55000         * modules/safe-write (Makefile.am): Likewise.
55001         * modules/same (Makefile.am): Likewise.
55002         * modules/save-cwd (Makefile.am): Likewise.
55003         * modules/savedir (Makefile.am): Likewise.
55004         * modules/setenv (Makefile.am): Likewise.
55005         * modules/settime (Makefile.am): Likewise.
55006         * modules/sha1 (Makefile.am): Likewise.
55007         * modules/sig2str (Makefile.am): Likewise.
55008         * modules/snprintf (Makefile.am): Likewise.
55009         * modules/stdlib-safer (Makefile.am): Likewise.
55010         * modules/stpcpy (Makefile.am): Likewise.
55011         * modules/stpncpy (Makefile.am): Likewise.
55012         * modules/strcase (Makefile.am): Likewise.
55013         * modules/strcasestr (Makefile.am): Likewise.
55014         * modules/strchrnul (Makefile.am): Likewise.
55015         * modules/strcspn (Makefile.am): Likewise.
55016         * modules/strdup (Makefile.am): Likewise.
55017         * modules/strerror (Makefile.am): Likewise.
55018         * modules/strftime (Makefile.am): Likewise.
55019         * modules/strndup (Makefile.am): Likewise.
55020         * modules/strnlen (Makefile.am): Likewise.
55021         * modules/strpbrk (Makefile.am): Likewise.
55022         * modules/strsep (Makefile.am): Likewise.
55023         * modules/strstr (Makefile.am): Likewise.
55024         * modules/strtod (Makefile.am): Likewise.
55025         * modules/strtoimax (Makefile.am): Likewise.
55026         * modules/strtok_r (Makefile.am): Likewise.
55027         * modules/strtol (Makefile.am): Likewise.
55028         * modules/strtoll (Makefile.am): Likewise.
55029         * modules/strtoul (Makefile.am): Likewise.
55030         * modules/strtoull (Makefile.am): Likewise.
55031         * modules/strtoumax (Makefile.am): Likewise.
55032         * modules/strverscmp (Makefile.am): Likewise.
55033         * modules/time_r (Makefile.am): Likewise.
55034         * modules/timegm (Makefile.am): Likewise.
55035         * modules/tmpfile-safer (Makefile.am): Likewise.
55036         * modules/unistd-safer (Makefile.am): Likewise.
55037         * modules/unlinkdir (Makefile.am): Likewise.
55038         * modules/userspec (Makefile.am): Likewise.
55039         * modules/utime (Makefile.am): Likewise.
55040         * modules/utimecmp (Makefile.am): Likewise.
55041         * modules/utimens (Makefile.am): Likewise.
55042         * modules/vasnprintf (Makefile.am): Likewise.
55043         * modules/vasprintf (Makefile.am): Likewise.
55044         * modules/vsnprintf (Makefile.am): Likewise.
55045         * modules/xalloc (Makefile.am): Likewise.
55046         * modules/xgetcwd (Makefile.am): Likewise.
55047         * modules/xnanosleep (Makefile.am): Likewise.
55048         * modules/xreadlink (Makefile.am): Likewise.
55049         * modules/xstrtod (Makefile.am): Likewise.
55050         * modules/xstrtol (Makefile.am): Likewise.
55051         * modules/xstrtold (Makefile.am): Likewise.
55052         * modules/yesno (Makefile.am): Likewise.
55053
55054 2006-10-12  Jim Meyering  <jim@meyering.net>
55055
55056         * m4/getloadavg.m4: Revert the change below.
55057
55058         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
55059         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
55060         fail with a symlink, which is what coreutils' ./bootstrap now
55061         creates by default.
55062
55063 2006-10-12  Bruno Haible  <bruno@clisp.org>
55064
55065         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
55066         mingw.
55067         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
55068         MSVC and mingw explicitly.
55069
55070 2006-10-11  Simon Josefsson  <jas@extundo.com>
55071             Bruno Haible  <bruno@clisp.org>
55072
55073         Add support for multiple gnulib-tool invocations in the scope of a
55074         single configure.ac file.
55075         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
55076         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
55077         with the same contents as the _LIBADD variable.
55078         (func_emit_initmacro_start, func_emit_initmacro_end,
55079         func_emit_initmacro_done): New functions.
55080         (func_import, func_create_testdir): Invoke them. Allow the identifiers
55081         gl_LIBOBJS and gl_LTLIBOBJS.
55082
55083 2006-10-11  Bruno Haible  <bruno@clisp.org>
55084
55085         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
55086         (func_create_testdir): Don't create po/Makefile.am, don't invoke
55087         autoreconf. Instead, invoke autopoint explicitly but move back the
55088         *.m4 files from gnulib.
55089
55090 2006-10-11  Bruno Haible  <bruno@clisp.org>
55091
55092         * gnulib-tool (func_usage): Make module names after --create-testdir
55093         optional.
55094         (func_create_testdir): If no module was specified, use nearly all
55095         modules.
55096
55097 2006-10-12  Jim Meyering  <jim@meyering.net>
55098
55099         Big performance improvement for fts-based tools that use FTS_NOSTAT.
55100         Avoid spurious inode-mismatch problems on non-POSIX file systems.
55101         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
55102         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
55103         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
55104         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
55105         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
55106         (fts_set_stat_required): New function.
55107         (fts_open): Defer the calls to fts_stat, if possible or requested.
55108         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
55109         into fts_stat itself.
55110         (fts_read): Perform any required (deferred) fts_stat call.
55111         (fts_build): Likewise, for the directory we're about to open and read.
55112         In the readdir loop, carefully decide whether each entry will require
55113         an eventual call to fts_stat, using dirent.d_type info if available.
55114         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
55115         a command line argument into this function.  Update all callers.
55116         Map a return value of FTS_DOT to FTS_D for a command line argument.
55117         * modules/fts (Depends-on): Add d-type.  Alphabetize.
55118         Thanks to Miklos Szeredi for his tenacity and for the initial
55119         bug report about "find" failing on a FUSE-based file system.
55120
55121         * lib/fts.c (fts_open): Use consistent indentation.
55122
55123 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
55124
55125         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
55126         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
55127         reported by Jim Meyering.  All uses of cache variables renamed
55128         to match Autoconf's.
55129         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
55130         the other one.
55131
55132         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
55133         Fix misspelling in diagnostic.
55134
55135 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
55136
55137         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
55138         defined.  Problem reported by Matthew Woehlke.
55139
55140         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
55141         Add support for Tandem NonStop R series.
55142         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
55143         Use new macro.
55144
55145         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
55146         (has_trailing_slash): Omit size arg; all callers changed.
55147         Omit 'inline', since it doesn't help performance and we'd
55148         need to configure it.
55149         Don't count //, ///, etc. as having a trailing slash.
55150         As a side effect, this removes a C99ism reported by Matthew Woehlke.
55151         (rpl_rename_dest_slash): On failure, use rename's errno rather
55152         than (in some cases) an incorrect or junk errno.
55153         Simplify code by removing need to compute length; this does
55154         cause it to make two passes instead of one over the file name,
55155         but it's worth it.
55156
55157         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
55158         change, since Autoconf's version may no longer be appropriate now
55159         that we are using CVS Autoconf's version.  Add support for Tandem.
55160
55161 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
55162             Bruno Haible  <bruno@clisp.org>
55163
55164         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
55165         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
55166         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
55167         gl_AC_TYPE_LONG_LONG.
55168
55169         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
55170         instead of HAVE_LONG_LONG.
55171         * lib/printf-args.c (printf_fetchargs): Likewise.
55172         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
55173         * lib/vasnprintf.c (VASNPRINTF): Likewise.
55174         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
55175         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
55176         gl_AC_TYPE_LONG_LONG.
55177
55178 2006-10-11  Bruno Haible  <bruno@clisp.org>
55179
55180         * m4/longlong.m4: Add comments.
55181         * m4/ulonglong.m4: Likewise.
55182
55183 2006-10-10  Bruno Haible  <bruno@clisp.org>
55184
55185         Make it possible to #define stpcpy, strdup to aliases.
55186         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
55187         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
55188
55189 2006-10-10  Bruno Haible  <bruno@clisp.org>
55190
55191         Make it possible to #define gcd to an alias.
55192         * lib/gcd.c: Include config.h.
55193
55194 2006-10-10  Bruno Haible  <bruno@clisp.org>
55195
55196         Make it possible to #define c_isascii to an alias.
55197         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
55198         defined. Undefine the macros before defining them, to avoid gcc
55199         warnings.
55200         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
55201         define NO_C_CTYPE_MACROS early.
55202
55203 2006-10-10  Bruno Haible  <bruno@clisp.org>
55204
55205         Make it possible to #define set_program_name to an alias.
55206         * lib/progname.c: Don't undefine set_program_name; instead, undefine
55207         ENABLE_RELOCATABLE early.
55208
55209 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
55210
55211         Port to Tandem NSK OSS, which has 64-bit signed int but at most
55212         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
55213         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
55214         More generally, don't assume that 64-bit signed int is available
55215         if unsigned int is, and vice versa.
55216         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
55217         unsigned symbols, not on their signed counterparts.
55218         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
55219         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
55220         (UINT64_C, UINTMAX_C):
55221         Likewise.
55222         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
55223         unsigned counterparts.
55224         (Have_long_long, Unsigned): New macros.
55225         (Int): Renamed from INT.
55226         (strtoimax): Use the new macros.
55227         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
55228         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
55229         * modules/inttypes (inttypes.h): Substitute
55230         HAVE_UNSIGNED_LONG_LONG_INT.
55231         * modules/stdint (stdint.h): Likewise.
55232         (Files): Add m4/ulonglong.m4.
55233
55234 2006-10-10  Bruno Haible  <bruno@clisp.org>
55235
55236         Fix a gcc -Wshadow warning.
55237         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
55238         to 'bucket'.
55239         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
55240         gl_linked_indexof_from_to): Likewise.
55241         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
55242         Likewise.
55243         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
55244         Likewise.
55245         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
55246         Reported by Eric Blake.
55247
55248 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
55249
55250         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
55251         for NetBSD.  Problem reported by Bruno Haible.
55252
55253 2006-10-09  Jim Meyering  <jim@meyering.net>
55254
55255         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
55256         Patch from Bruno Haible.
55257
55258 2006-10-09  Jim Meyering  <jim@meyering.net>
55259
55260         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
55261         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
55262         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
55263
55264 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
55265
55266         Don't include <config.h> twice; this doesn't work in some cases,
55267         e.g., when config.h has "#define intmax_t long long int" and
55268         we include <config.h>, <inttypes.h>, <config.h> in that order.
55269         Problem reported by Matthew Woehlke in:
55270         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
55271         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
55272         * lib/fts-cycle.c: Don't include config.h.
55273         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
55274         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
55275         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
55276         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
55277         inttypes.h.
55278         * lib/xstrtoumax.c: Likewise.
55279         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
55280         __strtol and the like, so that this module is more like its siblings.
55281         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
55282         Remove; no longer needed now that we assume gnulib inttypes.h.
55283
55284 2006-10-08  Bruno Haible  <bruno@clisp.org>
55285
55286         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
55287         option.
55288
55289 2006-10-07  Jim Meyering  <jim@meyering.net>
55290
55291         * modules/inttypes (inttypes.h): Revert what seems to have been
55292         an inadvertent part of today's change: use "|", not "/" in the
55293         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
55294
55295 2006-10-07  Bruno Haible  <bruno@clisp.org>
55296
55297         * modules/sublist: New file.
55298
55299 2006-10-07  Bruno Haible  <bruno@clisp.org>
55300
55301         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
55302         * modules/argz (argz.h): Likewise.
55303         * modules/arpa_inet (arpa/inet.h): Likewise.
55304         * modules/byteswap (byteswap.h): Likewise.
55305         * modules/configmake (configmake.h): Likewise.
55306         * modules/fcntl (fcntl.h): Likewise.
55307         * modules/fnmatch (fnmatch.h): Likewise.
55308         * modules/getopt (getopt.h): Likewise.
55309         * modules/glob (glob.h): Likewise.
55310         * modules/inttypes (inttypes.h): Likewise.
55311         * modules/netinet_in (netinet/in.h): Likewise.
55312         * modules/poll (poll.h): Likewise.
55313         * modules/stdbool (stdbool.h): Likewise.
55314         * modules/stdint (stdint.h): Likewise.
55315         * modules/sys_select (sys/select.h): Likewise.
55316         * modules/sys_socket (sys/socket.h): Likewise.
55317         * modules/sys_stat (sys/stat.h): Likewise.
55318         * modules/sysexits (sysexits.h): Likewise.
55319         * modules/unistd (unistd.h): Likewise.
55320         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
55321         Add a "DO NOT EDIT" comment to the generated file.
55322         (func_import): Likewise for gnulib-comp.m4.
55323
55324 2006-10-07  Bruno Haible  <bruno@clisp.org>
55325
55326         * lib/gl_sublist.h: New file.
55327         * lib/gl_sublist.c: New file.
55328
55329 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
55330
55331         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
55332         name (relative to the original working directory) and the file
55333         name component (relative to the temporary working directory).  All
55334         callers changed.
55335         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
55336         * lib/mkdir-p.c (make_dir_parents): Likewise.
55337         * lib/mkdir-p.h (make_dir_parents): Likewise.
55338
55339 2006-10-06  Eric Blake  <ebb9@byu.net>
55340
55341         Define several macros for use by the clean-temp module.
55342         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
55343         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
55344         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
55345
55346         * lib/clean-temp.h (close_stream_temp): New declaration.
55347         * lib/clean-temp.c (includes): Pull in headers according to what
55348         other modules are in use.
55349         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
55350
55351 2006-10-06  Bruno Haible  <bruno@clisp.org>
55352
55353         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
55354         instead of fopen, fwriteerror.
55355
55356 2006-10-06  Bruno Haible  <bruno@clisp.org>
55357
55358         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
55359         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
55360         int.
55361         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
55362         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
55363         Return an error indicator.
55364         Suggested by Eric Blake.
55365
55366 2006-10-06  Bruno Haible  <bruno@clisp.org>
55367
55368         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
55369         Reported by Eric Blake.
55370
55371 2006-10-06  Bruno Haible  <bruno@clisp.org>
55372
55373         * modules/closeout (Description): Mention stderr too.
55374
55375 2006-10-06  Bruno Haible  <bruno@clisp.org>
55376         and Paul Eggert  <eggert@cs.ucla.edu>
55377
55378         * lib/closeout.c (close_stdout): Also close stderr.
55379         * lib/closeout.h: Update comment.
55380
55381 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
55382
55383         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
55384         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
55385         * lib/dirchownmod.c: Include lchown.h.
55386         * lib/lchown.c: Don't include files that lchown.h now includes.
55387         Don't declare chown, since lchown.h now does that.
55388         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
55389         (lchown): Define to rpl_chown if lchown is declared but
55390         does not exist.  Declare using a prototype if lchown is not
55391         declared.  Add a copyright notice.
55392         * lib/mkstemp.h: Include <unistd.h>.
55393         * lib/openat.c: Include lchown.h.
55394
55395         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
55396         we now test for that separately.
55397         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
55398         rather than O_NOFOLLOW, when testing whether it's possible to
55399         avoid a race condition reliably.
55400         * lib/savewd.c (savewd_chdir): Likewise.
55401
55402         Remove macros that are no longer needed now that stdint.h is
55403         reliable.
55404         * lib/fsusage.c (UINTMAX_MAX): Remove.
55405         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
55406         * lib/utimecmp.c (SIZE_MAX): Remove.
55407
55408         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
55409
55410         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
55411         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
55412         O_NOATIME works.
55413
55414 2006-10-05  Bruno Haible  <bruno@clisp.org>
55415
55416         * lib/gl_list.h (gl_sortedlist_search_from_to,
55417         gl_sortedlist_indexof_from_to): New declarations.
55418         (gl_list_implementation): New fields sortedlist_search_from_to,
55419         sortedlist_indexof_from_to.
55420         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
55421         inline functions.
55422         * lib/gl_list.c (gl_sortedlist_search_from_to,
55423         gl_sortedlist_indexof_from_to): New functions.
55424         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
55425         function.
55426         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
55427         (gl_array_sortedlist_search_from_to): New function.
55428         (gl_array_list_implementation): Update.
55429         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
55430         function.
55431         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
55432         (gl_carray_sortedlist_search_from_to): New function.
55433         (gl_carray_list_implementation): Update.
55434         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
55435         gl_linked_sortedlist_indexof_from_to): New functions.
55436         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
55437         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
55438         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
55439         gl_tree_sortedlist_indexof_from_to): New functions.
55440         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
55441         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
55442         Update.
55443         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
55444         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
55445         Update.
55446
55447 2006-10-05  Bruno Haible  <bruno@clisp.org>
55448
55449         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
55450         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
55451         (struct gl_list_implementation): Add fields search_from_to,
55452         indexof_from_to. Remove fields search, indexof.
55453         (gl_list_search): Use the search_from_to method.
55454         (gl_list_search_from, gl_list_search_from_to): New functions.
55455         (gl_list_indexof): Use the indexof_from_to method.
55456         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
55457         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
55458         (gl_list_search_from, gl_list_search_from_to): New functions.
55459         (gl_list_indexof): Use the indexof_from_to method.
55460         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
55461         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
55462         gl_array_indexof. Add start_index, end_index arguments.
55463         (gl_array_search_from_to): Renamed from gl_array_search. Add
55464         start_index, end_index arguments.
55465         (gl_array_remove, gl_array_list_implementation): Update.
55466         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
55467         gl_carray_indexof. Add start_index, end_index arguments.
55468         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
55469         start_index, end_index arguments.
55470         (gl_carray_remove, gl_carray_list_implementation): Update.
55471         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
55472         gl_linked_search. Add start_index, end_index arguments.
55473         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
55474         start_index, end_index arguments.
55475         (gl_linked_remove): Update.
55476         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
55477         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
55478         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
55479         field to 'size_t'.
55480         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
55481         gl_tree_search. Add start_index, end_index arguments.
55482         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
55483         start_index, end_index arguments.
55484         (gl_tree_remove): Update.
55485         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
55486         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
55487         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
55488         function.
55489         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
55490         gl_tree_search. Add start_index, end_index arguments.
55491         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
55492         start_index, end_index arguments.
55493         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
55494         Update.
55495         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
55496
55497 2006-10-05  Bruno Haible  <bruno@clisp.org>
55498
55499         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
55500
55501         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
55502         fwriteerror_temp): New declarations.
55503         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
55504         (descriptors): New variable.
55505         (cleanup): First, close the descriptors.
55506         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
55507         fclose_temp, fwriteerror_temp): New functions.
55508
55509 2006-10-04  Jim Meyering  <jim@meyering.net>
55510
55511         * lib/fts.c (fts_open): Tiny comment change.
55512
55513 2006-10-04  Bruno Haible  <bruno@clisp.org>
55514
55515         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
55516         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
55517         gl_LOCK_BODY.
55518         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
55519         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
55520         gl_LOCK_EARLY_BODY.
55521         (gl_LOCK): Require gl_LOCK_BODY.
55522
55523 2006-10-04  Bruno Haible  <bruno@clisp.org>
55524
55525         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
55526         (gl_oset_search_atleast): New declaration.
55527         (struct gl_oset_implementation): Add field 'search_atleast'.
55528         (gl_oset_search_atleast): New inline function.
55529         * lib/gl_oset.c (gl_oset_search_atleast): New function.
55530         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
55531         (gl_array_oset_implementation): Update.
55532         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
55533         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
55534         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
55535
55536 2006-10-04  Bruno Haible  <bruno@clisp.org>
55537
55538         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
55539
55540 2006-10-03  Bruno Haible  <bruno@clisp.org>
55541
55542         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
55543         from gl_avltreehash_list_implementation.
55544
55545 2006-10-03  Bruno Haible  <bruno@clisp.org>
55546
55547         * lib/gl_oset.c (gl_oset_add): Fix return type.
55548
55549 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
55550
55551         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
55552
55553 2006-10-02  Eric Blake  <ebb9@byu.net>
55554
55555         * modules/strnlen (Depends-on): Add extensions.
55556
55557 2006-10-02  Eric Blake  <ebb9@byu.net>
55558
55559         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
55560         definition in 2.60+.
55561
55562 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
55563
55564         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
55565         checks.
55566
55567 2006-10-02  Bruno Haible  <bruno@clisp.org>
55568
55569         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
55570         to the AUTOMAKE_OPTIONS.
55571         Reported by Jim Meyering.
55572
55573 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
55574
55575         Work around bug in Solaris 10 /proc file system:
55576         /proc/self/fd/NNN/.. isn't the parent directory of
55577         the directory whose file descriptor is NNN.  This needs to
55578         be worked around at run time, not compile time, since a
55579         program might be built on Solaris 8, where things work, and
55580         run on Solaris 10.
55581         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
55582         to use the following interface instead:
55583         (OPENAT_BUFFER_SIZE): New macro.
55584         (openat_proc_name): New function.
55585         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
55586         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
55587         Likewise.
55588         * lib/openat-proc.c: New file.
55589         * modules/openat (Files): Add lib/openat-proc.c.
55590         (Depends-on): Add same-inode, stdbool.
55591         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
55592
55593 2006-09-29  Bruno Haible  <bruno@clisp.org>
55594
55595         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
55596         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
55597         argument. Set stdout_closed before testing for ferror, not after.
55598         (fwriteerror, fwriteerror_no_ebadf): New functions.
55599
55600 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55601
55602         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
55603
55604 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
55605
55606         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
55607         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
55608
55609 2006-09-28  Jim Meyering  <jim@meyering.net>
55610
55611         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
55612         Include <unistd.h>.
55613
55614 2006-09-28  Bruno Haible  <bruno@clisp.org>
55615
55616         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
55617         * modules/linkedhash-list (Depends-on): Likewise.
55618         * modules/rbtreehash-list (Depends-on): Likewise.
55619
55620 2006-09-28  Bruno Haible  <bruno@clisp.org>
55621
55622         * lib/strndup.h: Simplify the redefinition of strndup.
55623         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
55624         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
55625
55626 2006-09-28  Bruno Haible  <bruno@clisp.org>
55627
55628         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
55629         * lib/gl_linkedhash_list.c: Likewise.
55630         * lib/gl_rbtreehash_list.c: Likewise.
55631
55632 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
55633
55634         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
55635         getaddrinfo.
55636
55637         * lib/__fpending.h: Don't include <stdio_ext.h> unless
55638         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
55639         it causes <stdio_ext.h> to cause a compile-time error.
55640         Problem reported by Nelson H. F. Beebe.
55641         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
55642         of HAVE_DECL___PENDING.
55643
55644         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
55645         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
55646         declaration.
55647
55648 2006-09-27  Jim Meyering  <jim@meyering.net>
55649
55650         This file could end up with a definition for a function
55651         named __strndup, rather than rpl_strndup on a system with
55652         incomplete weak_alias support.
55653         * lib/strndup.c (strndup): Rename from __strndup.
55654         Remove #defines that used to map __strndup to strndup.
55655         Don't use K&R prototypes.
55656         Remove LIBC-related code, since this file is not sync'd with glibc.
55657         * lib/strndup.h: Revamp, accordingly.
55658         * m4/strndup.m4: Modernize.
55659
55660 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
55661
55662         * modules/savewd (Depends-on): Add 'raise'.
55663         * lib/savewd.c: Include <signal.h>, for 'raise'.
55664
55665 2006-09-26  Jim Meyering  <jim@meyering.net>
55666
55667         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
55668         when we detect Darwin 8.7.0's acl_get_file bug.
55669         Rearrange to perform the new (below) run-test while $LIBS
55670         contains any acl-related library.  Set USE_ACL at the end.
55671         (gl_ACL_GET_FILE): New function.
55672
55673 2006-09-26  Eric Blake  <ebb9@byu.net>
55674
55675         * lib/verror.c: Include <config.h> unconditionally.
55676
55677 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
55678
55679         * modules/clock-time (Maintainer): Add self.
55680         * modules/getlogin_r (Depends-on): Add extensions.
55681
55682 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55683
55684         * modules/clock-time: New module.
55685         * modules/nanosleep (Depends-on): Add clock-time.
55686         * modules/gethrxtime (Depends-on): Likewise.
55687         * modules/gettime (Depends-on): Likewise.
55688         * modules/settime (Depends-on): Likewise.
55689
55690         * modules/fts-lgpl: Depend on openat.
55691         * modules/mkancesdirs: Depend on savewd.
55692         * modules/mkdir-p: Likewise.
55693
55694 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55695
55696         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
55697
55698         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
55699         `gl_have_arbitrary_file_name_length_limit' to
55700         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
55701         actually works between configure runs.
55702
55703 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55704             Bruno Haible  <bruno@clisp.org>
55705
55706         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
55707
55708 2006-09-25  Jim Meyering  <jim@meyering.net>
55709
55710         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
55711         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
55712
55713 2006-09-25  Eric Blake  <ebb9@byu.net>
55714
55715         * gnulib-tool (func_import, func_create_testdir): Fix typos in
55716         exec's in 2006-09-18 patch when shuffling fds.
55717
55718 2006-09-25  Bruno Haible  <bruno@clisp.org>
55719
55720         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
55721         Reported by Jim Meyering.
55722
55723 2006-09-24  Jim Meyering  <jim@meyering.net>
55724
55725         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
55726         compare a pointer against a literal "0".  That caused failures with
55727         at least HP-UX's hpcc.
55728
55729 2006-09-22  Simon Josefsson  <jas@extundo.com>
55730
55731         * modules/gc-sha1:
55732         * modules/gc-md4:
55733         * modules/gc-hmac-sha1:
55734         * modules/gc-hmac-md5:
55735         * modules/gc-des:
55736         * modules/gc-arcfour: Distribute more files.
55737
55738 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55739
55740         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
55741         (gl_linked_iterator_from_to): Initialize struct completely.
55742         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
55743         (gl_tree_iterator_from_to): Likewise
55744         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
55745         * lib/gl_array_list.c [lint] (gl_array_iterator)
55746         (gl_array_iterator_from_to): Likewise.
55747         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
55748         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
55749         (gl_carray_iterator_from_to): Likewise.
55750
55751         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
55752         * lib/md4.c (md4_process_block): Remove unused variable.
55753         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
55754         parentheses for clarity.
55755
55756 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55757
55758         * modules/bison-i18n (Depends-on): Add gettext.
55759
55760 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55761
55762         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
55763         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
55764         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
55765         also add missing comma that caused broken test.
55766         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
55767         stdlib.h, for `abort'.
55768         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
55769         variables.
55770         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
55771         include unistd.h if present, for `rmdir'.
55772         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
55773         variables.
55774         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
55775         in the process include standard headers for prototypes.
55776         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
55777         gets declared on GNU/Linux.
55778         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
55779         unistd.h, for `rmdir'.
55780         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
55781
55782         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
55783         always true.
55784         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
55785
55786         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
55787
55788 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55789
55790         * gnulib-tool (func_version): Create output all at once.  This
55791         may help avoid triggering unnecessary SIGPIPEs, and at any
55792         rate it doesn't hurt.
55793
55794 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55795             Bruno Haible  <bruno@clisp.org>
55796
55797         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
55798         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
55799         * m4/signed.m4 (bh_C_SIGNED): Likewise.
55800
55801         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
55802         (gl_FUNC_VASPRINTF): Invoke it.
55803
55804 2006-09-22  Bruno Haible  <bruno@clisp.org>
55805
55806         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
55807         getloadavg.c as first argument.
55808
55809 2006-09-22  Bruno Haible  <bruno@clisp.org>
55810
55811         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
55812         at the beginning of the gl_INIT macro.
55813         * modules/getloadavg (configure.ac): Pass $gl_source_base to
55814         gl_GETLOADAVG.
55815
55816 2006-09-22  Bruno Haible  <bruno@clisp.org>
55817
55818         * gnulib-tool (func_create_megatestdir): Don't include the config-h
55819         module.
55820         Suggested by Ralf Wildenhues.
55821
55822 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
55823
55824         Import this patch from libc:
55825
55826         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
55827
55828         * lib/regex_internal.c (re_string_reconstruct): Handle
55829         offset < pstr->valid_raw_len && pstr->offsets_needed case.
55830         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
55831         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
55832         re_string_context_at.
55833
55834         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
55835         now requires it.
55836         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
55837         gl_REGEX now does it for us.
55838         (gl_REGEX): Add test taken from
55839         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
55840
55841         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
55842         Check that large offsets work.  Modernize Autoconf usages.
55843         Prefer "yes" to mean a good thing rather than a bad.
55844         Don't put "#define mkstemp" in config.h, as this might interfere
55845         with standard system headers that "#define mkstemp mkstemp64".
55846
55847         * modules/mkstemp (Depends-on): Add extensions, so that
55848         mkstemp is visible on some platforms.
55849         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
55850         (Include): Change to "mkstemp.h" from <stdlib.h>.
55851         (Files): Add mkstemp.h.
55852
55853         * lib/mkstemp.h: New file, since some standard headers
55854         #define mkstemp.
55855         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
55856         Include "mkstemp.h".
55857         Make the _LIBC code resemble glibc original more,
55858         e.g., use K&R style.
55859         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
55860         (mkstemp): Remove, since mkstemp.h does this for us.
55861         * lib/stdlib--.h: Include mkstemp.h.
55862
55863         Import this patch from libc:
55864
55865         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
55866
55867         * lib/tempname.c (__gen_tempname): Change attempts_min
55868         into a macro.  Use preprocessor to decide how to initialize
55869         attempts [Coverity CID 67].
55870
55871 2006-09-20  Bruno Haible  <bruno@clisp.org>
55872
55873         * lib/mkdtemp.c: Import from libc.
55874         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
55875                 * sysdeps/posix/tempname.c (__gen_tempname): Change
55876                 attempts_min into a macro.  Use preprocessor to decide how to
55877                 initialize attempts [Coverity CID 67].
55878         2001-11-27  Paul Eggert  <eggert@twinsun.com>
55879                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
55880                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
55881
55882 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55883
55884         * gnulib-tool (func_exit): New function, to allow to pass the
55885         exit status portably through the trap.  Use everywhere.
55886         (--help, --version): Signal a write error.
55887         (trap): catch SIGPIPE, for write errors.
55888         Exit at the end of the trap, with the correct exit status.
55889
55890 2006-09-19  Karl Berry  <karl@gnu.org>
55891
55892         * doc/gnulib.texi: note about the license texinfo files.
55893
55894 2006-09-19  Eric Blake  <ebb9@byu.net>
55895
55896         * gnulib-tool: Avoid space-tab.
55897
55898 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
55899
55900         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
55901         that prevented coreutils 6.1 from building.  Problem reported
55902         by Petter Reinholdtsen.
55903
55904 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
55905
55906         * gnulib-tool (avoidlist): Fix typo that broke options like
55907         --avoid=lock that are used by coreutils bootstrap.
55908
55909 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
55910
55911         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
55912         more systematically.
55913
55914 2006-09-18  Jim Meyering  <jim@meyering.net>
55915
55916         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
55917
55918 2006-09-18  Bruno Haible  <bruno@clisp.org>
55919
55920         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
55921
55922 2006-09-18  Bruno Haible  <bruno@clisp.org>
55923
55924         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
55925         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
55926         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
55927         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
55928         * m4/gettext.m4: Require autoconf >= 2.52.
55929         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
55930         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
55931         of gl_cv_header_inttypes_h.
55932
55933 2006-09-18  Bruno Haible  <bruno@clisp.org>
55934
55935         * lib/javaversion.c: Include configmake.h.
55936
55937 2006-09-18  Bruno Haible  <bruno@clisp.org>
55938
55939         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
55940         avoid that the while loops be executed in a subshell.
55941
55942 2006-09-18  Bruno Haible  <bruno@clisp.org>
55943
55944         * MODULES.html.sh (func_module): Break long lines.
55945         Suggested by Bruce Korb <bkorb@gnu.org>.
55946
55947 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55948
55949         Speed up by a factor of 1.12.
55950         * gnulib-tool (nl): New variable.
55951         (func_import): Rewrite include directive extraction to only read each
55952         directive once.
55953
55954 2006-09-17  Bruno Haible  <bruno@clisp.org>
55955
55956         * modules/javaversion (Makefile.am): Remove DEFS setting.
55957         (Depends-on): Add configmake, for PKGDATADIR definition.
55958
55959 2006-09-17  Bruno Haible  <bruno@clisp.org>
55960
55961         * gnulib-tool (func_create_testdir): Rewrite all files at once.
55962
55963 2006-09-17  Bruno Haible  <bruno@clisp.org>
55964
55965         * gnulib-tool (func_append): New function, stolen from libtool.m4.
55966         (func_modules_transitive_closure, func_modules_add_dummy,
55967         func_modules_to_filelist, func_import, func_create_testdir,
55968         func_create_megatestdir, ...): Use it wherever possible.
55969         Suggested by Ralf Wildenhues.
55970
55971 2006-09-16  Karl Berry  <karl@gnu.org>
55972
55973         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
55974         to avoid sectioning errors.
55975         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
55976         [ifinfo]: blank line after @center-ed titles.
55977         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
55978         Spell FSF address consistently with others.
55979         (These changes approved by rms.)
55980
55981 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55982
55983         Speed up by a factor of 1.61.
55984         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
55985         already checked module names again.
55986
55987 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55988
55989         Speed up by a factor of 1.13.
55990         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
55991         for new_files, and the input to func_add_or_update.
55992
55993 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55994
55995         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
55996         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
55997
55998 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
55999
56000         * modules/mkancesdirs (Depends-on): Add fcntl.
56001         * modules/savewd: New file.
56002         * MODULES.html.sh (File system functions): Add savewd.
56003
56004         * modules/configmake (Makefile.am): Add support for the
56005         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
56006
56007 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
56008
56009         * m4/savewd.m4: New file.
56010
56011 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
56012
56013         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
56014         (dirchownmod): New arg FD.  All callers changed.
56015         Use FD rather than opening the directory ourself, as opening is
56016         now the caller's responsibility.
56017         * lib/dirchownmod.h: Likewise.
56018         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
56019         hosts that require <sys/types.h> before <sys/stat.h>.  Include
56020         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
56021         (test_dir): Remove.
56022         (mkancesdirs): Return length of prefix of FILE that has already
56023         been made, or -2 if there is a child doing the work.  Redo
56024         algorithm so that it is O(N) rather than O(N**2).  Optimize away
56025         ".", and treat ".." specially since it might stray back into
56026         already-created areas.  Use a subprocess if necessary.  New arg
56027         WD; all users changed.  MAKE_DIR function should now return 1
56028         if it creates a directory that is not readable.  Return -2 if
56029         a child process is spun off.
56030         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
56031         Adjust signature to match code.
56032         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
56033         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
56034         all users changed.
56035         * lib/savewd.c, lib/savewd.h: New files.
56036
56037 2006-09-15  Jim Meyering  <jim@meyering.net>
56038
56039         * modules/rename-dest-slash: New module.
56040         * MODULES.html.sh (posix_compat): Add it here.
56041
56042         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
56043
56044 2006-09-15  Jim Meyering  <jim@meyering.net>
56045
56046         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
56047         file.
56048
56049         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
56050
56051 2006-09-15  Jim Meyering  <jim@meyering.net>
56052
56053         * lib/rename-dest-slash.c (has_trailing_slash): Use
56054         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
56055         (rpl_rename_dest_slash): Perform the cheaper trailing slash
56056         test before testing whether SRC is a directory.
56057         Suggestions from Bruno Haible.
56058
56059         Avoid a warning about an unused variable.
56060         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
56061         into the #ifdef block where it's used.
56062
56063         * lib/rename-dest-slash.c: New file.
56064
56065 2006-09-14  Bruno Haible  <bruno@clisp.org>
56066
56067         * lib/allocsa.c: Include <config.h> unconditionally.
56068         * lib/asnprintf.c: Likewise.
56069         * lib/asprintf.c: Likewise.
56070         * lib/c-strcasecmp.c: Likewise.
56071         * lib/c-strcasestr.c: Likewise.
56072         * lib/c-strncasecmp.c: Likewise.
56073         * lib/c-strstr.c: Likewise.
56074         * lib/classpath.c: Likewise.
56075         * lib/clean-temp.c: Likewise.
56076         * lib/concatpath.c: Likewise.
56077         * lib/copy-file.c: Likewise.
56078         * lib/csharpcomp.c: Likewise.
56079         * lib/csharpexec.c: Likewise.
56080         * lib/execute.c: Likewise.
56081         * lib/fatal-signal.c: Likewise.
56082         * lib/findprog.c: Likewise.
56083         * lib/fwriteerror.c: Likewise.
56084         * lib/gl_array_list.c: Likewise.
56085         * lib/gl_array_oset.c: Likewise.
56086         * lib/gl_avltree_list.c: Likewise.
56087         * lib/gl_avltree_oset.c: Likewise.
56088         * lib/gl_avltreehash_list.c: Likewise.
56089         * lib/gl_carray_list.c: Likewise.
56090         * lib/gl_linked_list.c: Likewise.
56091         * lib/gl_linkedhash_list.c: Likewise.
56092         * lib/gl_list.c: Likewise.
56093         * lib/gl_oset.c: Likewise.
56094         * lib/gl_rbtree_list.c: Likewise.
56095         * lib/gl_rbtree_oset.c: Likewise.
56096         * lib/gl_rbtreehash_list.c: Likewise.
56097         * lib/imaxabs.c: Likewise.
56098         * lib/imaxdiv.c: Likewise.
56099         * lib/javacomp.c: Likewise.
56100         * lib/javaexec.c: Likewise.
56101         * lib/javaversion.c: Likewise.
56102         * lib/linebreak.c: Likewise.
56103         * lib/localcharset.c: Likewise.
56104         * lib/lock.c: Likewise.
56105         * lib/mbchar.c: Likewise.
56106         * lib/mbswidth.c: Likewise.
56107         * lib/mkdtemp.c: Likewise.
56108         * lib/pipe.c: Likewise.
56109         * lib/printf-args.c: Likewise.
56110         * lib/printf-parse.c: Likewise.
56111         * lib/progname.c: Likewise.
56112         * lib/progreloc.c: Likewise.
56113         * lib/readlink.c: Likewise.
56114         * lib/sh-quote.c: Likewise.
56115         * lib/stpcpy.c: Likewise.
56116         * lib/stpncpy.c: Likewise.
56117         * lib/strcasecmp.c: Likewise.
56118         * lib/strcasestr.c: Likewise.
56119         * lib/strcspn.c: Likewise.
56120         * lib/striconv.c: Likewise.
56121         * lib/strncasecmp.c: Likewise.
56122         * lib/strnlen1.c: Likewise.
56123         * lib/strstr.c: Likewise.
56124         * lib/strtok_r.c: Likewise.
56125         * lib/tls.c: Likewise.
56126         * lib/tmpdir.c: Likewise.
56127         * lib/unicodeio.c: Likewise.
56128         * lib/unsetenv.c: Likewise.
56129         * lib/vasnprintf.c: Likewise.
56130         * lib/vasprintf.c: Likewise.
56131         * lib/wait-process.c: Likewise.
56132         * lib/xallocsa.c: Likewise.
56133         * lib/xsetenv.c: Likewise.
56134         * lib/xstriconv.c: Likewise.
56135
56136 2006-09-13  Simon Josefsson  <jas@extundo.com>
56137
56138         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
56139         that internally, suggested by Ralf Wildenhues
56140         <Ralf.Wildenhues@gmx.de>.
56141
56142 2006-09-13  Simon Josefsson  <jas@extundo.com>
56143
56144         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
56145         @LIBOBJS@.
56146         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56147
56148 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
56149
56150         * lib/_fpending.c: Include <config.h> unconditionally, since we no
56151         longer worry about uses that don't define HAVE_CONFIG_H.
56152         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
56153         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
56154         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
56155         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
56156         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
56157         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
56158         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
56159         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
56160         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
56161         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
56162         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
56163         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
56164         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
56165         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
56166         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
56167         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
56168         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
56169         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
56170         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
56171         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
56172         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
56173         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
56174         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
56175         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
56176         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
56177         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
56178         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
56179         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
56180         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
56181         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
56182         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
56183         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
56184         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
56185         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
56186         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
56187         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
56188         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
56189         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
56190         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
56191         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
56192         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
56193         Likewise.
56194
56195 2006-09-13  Eric Blake  <ebb9@byu.net>
56196
56197         * lib/getopt.c: Fix typo in last commit.
56198
56199 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
56200
56201         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
56202         dgettext.
56203
56204 2006-09-12  Jim Meyering  <jim@meyering.net>
56205
56206         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
56207         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
56208         Reported by Nelson H. F. Beebe.
56209
56210 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
56211
56212         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
56213         program_invocation_name and program_invocation_short_name are
56214         initialized.
56215         * lib/argp-namefrob.h: Move declarations of program_invocation_name
56216         and program_invocation_short_name to argp.h, so they are visible
56217         to user programs.
56218         * lib/argp.h: Likewise
56219
56220 2006-09-10  Bruno Haible  <bruno@clisp.org>
56221
56222         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
56223         m4/inttypes_h.m4, m4/uintmax_t.m4.
56224
56225 2006-09-10  Bruno Haible  <bruno@clisp.org>
56226
56227         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
56228         gl_AC_TYPE_UINTMAX_T.
56229
56230 2006-09-10  Bruno Haible  <bruno@clisp.org>
56231
56232         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
56233
56234 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
56235
56236         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
56237         convention.  Text proposed by Bruno Haible.
56238         (struct argp_option): Document the use of N_() wrappers.
56239
56240         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
56241         '\v', and translate the two parts separately, instead of feeding
56242         the whole string to gettext.  This allows to exclude
56243         '\v' from the strings visible to the translator by writing doc
56244         strings as N_("..") "\v" N_("..").
56245
56246 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
56247
56248         * config/srclist.txt: Undo latest change; the bug was fixed.
56249
56250 2006-09-09  Bruno Haible  <bruno@clisp.org>
56251
56252         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
56253         assignments if building a library without libtool.
56254         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
56255         in func_emit_lib_Makefile_am.
56256         (func_import): When building a static library libfoo.a, arrange to
56257         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
56258         (func_create_testdir): Likewise.
56259         * modules/gc (configure.ac, Makefile.am): If building statically,
56260         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
56261         * modules/iconvme (configure.ac, Makefile.am): Likewise.
56262         * modules/striconv (configure.ac, Makefile.am): Likewise.
56263         Based on a suggestion by Ralf Wildenhues.
56264
56265 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56266
56267         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
56268         Check for unistd.h too, since Autoconf doesn't assume POSIX.
56269         Also:
56270
56271         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56272         Add year_2050_test to catch glibc bug 2821
56273         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
56274
56275         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
56276         Prefer #ifdef to #if.
56277
56278         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
56279         Return from 'main' instead of calling 'exit'.
56280
56281 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56282
56283         * lib/mktime.c (guess_time_tm): Fix bug where mktime
56284         returned the maximum time_t value rather than (time_t) -1.
56285         Problem originally reported by William Bardwell
56286         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
56287
56288         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
56289         Moved to here ...
56290         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
56291         ... from here.
56292
56293 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56294
56295         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
56296         2821 is fixed.
56297
56298 2006-09-08  Jim Meyering  <jim@meyering.net>
56299
56300         Don't make generated files read-only.  That would bother too many
56301         people.  However, do retain the ability to work when targets are
56302         read-only: remove the destination and temporary files before writing
56303         them (when generated via sed or echo), or by using the -f option for
56304         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
56305         * modules/alloca-opt, modules/argz, modules/arpa_inet:
56306         * modules/byteswap, modules/configmake, modules/fcntl:
56307         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
56308         * modules/localcharset, modules/netinet_in, modules/poll:
56309         * modules/stdbool, modules/stdint, modules/sys_select:
56310         * modules/sys_socket, modules/sys_stat, modules/sysexits:
56311
56312 2006-09-08  Jim Meyering  <jim@meyering.net>
56313
56314         Avoid new build failure on FreeBSD 6.0.
56315         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
56316         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
56317         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
56318
56319 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56320
56321         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
56322
56323 2006-09-07  Jim Meyering  <jim@meyering.net>
56324
56325         Fix global typo in last change: use chmod u-w, not chmod u-x.
56326         Spotted by Paul Eggert and Bruce Korb.
56327         * modules/alloca-opt, modules/argz, modules/arpa_inet:
56328         * modules/byteswap, modules/configmake, modules/fcntl:
56329         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
56330         * modules/localcharset, modules/netinet_in, modules/poll:
56331         * modules/stdbool, modules/stdint, modules/sys_select:
56332         * modules/sys_socket, modules/sys_stat, modules/sysexits:
56333
56334 2006-09-06  Jim Meyering  <jim@meyering.net>
56335
56336         Make generated files be read-only.
56337         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
56338         Ensure that each generated file is now read-only.
56339         * modules/argz: Likewise.
56340         * modules/arpa_inet: Likewise.
56341         * modules/byteswap: Likewise.
56342         * modules/configmake: Likewise.
56343         * modules/fcntl: Likewise.
56344         * modules/fnmatch: Likewise.
56345         * modules/getopt: Likewise.
56346         * modules/glob: Likewise.
56347         * modules/inttypes: Likewise.
56348         * modules/netinet_in: Likewise.
56349         * modules/poll: Likewise.
56350         * modules/stdbool: Likewise.
56351         * modules/stdint: Likewise.
56352         * modules/sys_select: Likewise.
56353         * modules/sys_socket: Likewise.
56354         * modules/sys_stat: Likewise.
56355         * modules/sysexits: Likewise.
56356         * modules/localcharset: Same as above, but continue using temporary
56357         file named "t-$@" (why different?) rather than the "$@-t" used
56358         everywhere else.
56359
56360         * modules/sysexits (Makefile.am): Replace literal occurrences
56361         of "sysexit.h" more readable, and more consistent, "$@".
56362
56363 2006-09-06  Bruno Haible  <bruno@clisp.org>
56364
56365         * modules/striconv: New file.
56366         * modules/xstriconv: New file.
56367         * MODULES.html.sh (Internationalization functions): Add striconv,
56368         xstriconv.
56369
56370 2006-09-06  Bruno Haible  <bruno@clisp.org>
56371
56372         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
56373         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
56374         not using libtool correctly.
56375
56376 2006-09-06  Bruno Haible  <bruno@clisp.org>
56377
56378         * lib/striconv.h: New file.
56379         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
56380         iconvstring.c.
56381         * lib/xstriconv.h: New file.
56382         * lib/xstriconv.c: New file.
56383
56384 2006-09-06  Bruno Haible  <bruno@clisp.org>
56385
56386         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
56387         lib_..._LDFLAGS.
56388
56389 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56390
56391         * lib/argz_.h: Sync from Libtool.
56392
56393         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
56394                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
56395
56396         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
56397
56398 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
56399
56400         * modules/trim: New file.
56401
56402 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
56403
56404         * lib/trim.h: New file.
56405         * lib/trim.c: New file.
56406
56407 2006-09-05  Bruno Haible  <bruno@clisp.org>
56408
56409         * MODULES.html.sh (String handling): Add trim.
56410
56411 2006-09-04  Karl Berry  <karl@gnu.org>
56412
56413         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
56414         until next release.
56415
56416 2006-09-03  Bruno Haible  <bruno@clisp.org>
56417
56418         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
56419         correctly.
56420
56421 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
56422
56423         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
56424         not gl_GETLOADAVG.  Omit unneeded semicolons.
56425         Problems reported by Ralf Wildenhues in
56426         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
56427         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
56428         at the end, which is the usual gnulib style.
56429
56430         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
56431         of doing all the work ourselves.
56432         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
56433         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
56434
56435 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
56436
56437         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
56438         Problem reported by Ralf Wildenhues in
56439         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
56440
56441         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
56442         HAVE_STRUCT_STATFS_F_FSTYPENAME.
56443
56444 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
56445
56446         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
56447         yesterday's patch by changing test -n to test -z.
56448
56449 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
56450
56451         * modules/getloadavg (Files): Add m4/getloadavg.m4.
56452         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
56453         the former is now obsolescent.
56454
56455         * modules/chdir-long (Depends-on): Add fcntl.
56456
56457 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
56458
56459         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
56460         obsolescent, and programs should use gnulib instead.
56461         * m4/getloadavg.m4: New file, with contents taken from Autoconf
56462         but with prefixes changed.
56463
56464 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
56465
56466         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
56467         or stdbool.h, because they might not exist while configuring.
56468
56469         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
56470         Don't include unistd.h or limits.h; not needed, since chdir-long.h
56471         does that for us.
56472         (O_DIRECTORY): Remove.
56473
56474 2006-08-31  Eric Blake  <ebb9@byu.net>
56475
56476         * gnulib-tool: Don't let emacs change spaces to TAB.
56477
56478 2006-08-31  Bruno Haible  <bruno@clisp.org>
56479
56480         * gnulib-tool: When calling func_import more than once, do it in a
56481         subshell.
56482         Reported by Eric Blake <ebb9@byu.net>.
56483
56484 2006-08-31  Bruno Haible  <bruno@clisp.org>
56485
56486         * gnulib-tool (nl): Remove variable.
56487         (sed_transform_lib_file): Use more robust test for config-h module.
56488         (func_import): Fix typo in 2006-08-25 patch.
56489
56490 2006-08-31  Bruno Haible  <bruno@clisp.org>
56491
56492         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
56493         specified, augment Makefile.am variables instead of assigning them.
56494
56495 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
56496
56497         Work around a bug in both the Linux and SunOS 64-bit kernels:
56498         nanosleep mishandles sleeps for longer than 2**31 seconds.
56499         Problem reported by Frank v Waveren in
56500         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
56501         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
56502         Check for nanosleep bug.
56503         (LIB_NANOSLEEP): Append clock_gettime library if needed.
56504
56505 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
56506
56507         Work around a bug in both the Linux and SunOS 64-bit kernels:
56508         nanosleep mishandles sleeps for longer than 2**31 seconds.
56509         Problem reported by Frank v Waveren in
56510         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
56511         * lib/nanosleep.c (BILLION): New constant.
56512         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
56513         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
56514         implementation.
56515
56516 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
56517
56518         * modules/nanosleep (Depends-on): Add gettime.
56519
56520 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
56521         and Simon Josefsson  <jas@extundo.com>
56522         and Oskar Liljeblad  <oskar@osk.mine.nu>
56523
56524         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
56525         * gnulib-tool (func_import): New license type 'unmodifiable license
56526         text'.
56527         * modules/fdl: Use it.  Longer description.
56528         * module/gpl, module/lgpl: New files.
56529
56530 2006-08-30  Jim Meyering  <jim@meyering.net>
56531
56532         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
56533         shadowing the parameter.
56534
56535 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56536
56537         Sync from Libtool:
56538
56539         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56540
56541         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
56542         sharing with gnulib.  Report by Eric Blake.
56543
56544 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
56545
56546         * modules/isapipe: New file.
56547         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
56548
56549 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
56550
56551         * modules/configmake (Makefile.am): Add a comment, and omit
56552         the CONFIGMAKE_ prefix from generated macro names.  Suggested
56553         by Bruno Haible.
56554
56555 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
56556
56557         * m4/isapipe.m4: New file.
56558
56559 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
56560
56561         * lib/isapipe.c, lib/isapipe.h: New files.
56562
56563 2006-08-29  Jim Meyering  <jim@meyering.net>
56564
56565         * modules/configmake (Makefile.am): Make configmake.h depend on
56566         Makefile.  Otherwise, a stale configmake.h could hang around.
56567
56568 2006-08-29  Eric Blake  <ebb9@byu.net>
56569
56570         * lib/error.c (error_at_line, print_errno_message): Match libc, after
56571         resolution of upstream bug 3044.
56572
56573 2006-08-29  Bruno Haible  <bruno@clisp.org>
56574
56575         * modules/localcharset (Depends-on): Add configmake.
56576         (Makefile.am): Remove setting of LIBDIR through DEFS.
56577
56578 2006-08-29  Bruno Haible  <bruno@clisp.org>
56579
56580         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
56581         defined.
56582
56583 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
56584
56585         * modules/fcntl: New file.
56586         * modules/chdir-safer (Depends-on): Add fcntl.
56587         * modules/fts: Likewise.
56588         * modules/mkdir-p: Likewise.
56589
56590         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
56591         This undoes the most recent change, since we're now addressing the
56592         problem in a different way.
56593
56594         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
56595         into output, since the output might be called Makefile.am even
56596         if $makefile_name is something different.
56597         (func_import): Use $makefile_am rather than
56598         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
56599         empty.
56600
56601         * modules/inttypes (Files): Add m4/inttypes-h.m4.
56602
56603 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
56604
56605         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
56606         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
56607         recent change to stdint.m4, since we're now addressing the problem in a
56608         different way.
56609
56610 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
56611
56612         * m4/fcntl_h.m4: New file.
56613
56614 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
56615
56616         * lib/fcntl_.h: New file.
56617         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
56618         the fcntl module.
56619         * lib/dirchownmod.c: Likewise.
56620         * lib/fts.c: Likewise.
56621
56622         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
56623         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
56624         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
56625         just before including <inttypes.h>, to avoid circular inclusion.
56626
56627 2006-08-28  Jim Meyering  <jim@meyering.net>
56628
56629         * doc/visibility.texi: Actually read and correct the grammar of the
56630         sentence affected by yesterday's change.
56631
56632 2006-08-28  Eric Blake  <ebb9@byu.net>
56633
56634         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
56635         needs wrapper.
56636
56637 2006-08-28  Eric Blake  <ebb9@byu.net>
56638
56639         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
56640
56641 2006-08-28  Eric Blake  <ebb9@byu.net>
56642
56643         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
56644
56645 2006-08-28  Bruno Haible  <bruno@clisp.org>
56646
56647         * modules/c-strstr: New file, from GNU gettext.
56648         * MODULES.html.sh (String handling): Add c-strstr.
56649
56650 2006-08-28  Bruno Haible  <bruno@clisp.org>
56651
56652         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
56653         macros.
56654         Reported by Eric Blake.
56655
56656 2006-08-28  Bruno Haible  <bruno@clisp.org>
56657
56658         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
56659         (VASNPRINTF): Return a string of length > INT_MAX without failing.
56660         * lib/vasprintf.c: Include errno.h, limits.h.
56661         (EOVERFLOW): New fallback definition.
56662         (vasprintf): Test here whether the string length is > INT_MAX.
56663         * lib/vsnprintf.c: Include errno.h, limits.h.
56664         (EOVERFLOW): New fallback definition.
56665         (vsnprintf): Fix bug when generated string was too long for the buffer.
56666         Test here whether the string length is > INT_MAX.
56667
56668 2006-08-28  Bruno Haible  <bruno@clisp.org>
56669
56670         * lib/inttypes_.h (SCNX*): Remove definitions.
56671         Reported by Eric Blake.
56672
56673 2006-08-28  Bruno Haible  <bruno@clisp.org>
56674
56675         * lib/c-strstr.h: New file, from GNU gettext.
56676         * lib/c-strstr.c: New file, from GNU gettext.
56677
56678 2006-08-28  Bruno Haible  <bruno@clisp.org>
56679
56680         * gnulib-tool: Reorder some statements.
56681
56682 2006-08-28  Bruno Haible  <bruno@clisp.org>
56683
56684         * gnulib-tool: New option --makefile-name.
56685         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
56686         $makefile_name.
56687         (func_import): Write $makefile_name to the cache file, and read it from
56688         there unless explicitly specified. Use $makefile_name as file name
56689         instead of Makefile.am. Adjust the recommendations accordingly.
56690
56691 2006-08-28  Bruno Haible  <bruno@clisp.org>
56692
56693         * gnulib-tool (func_verify_module): Check against misapplying patch.
56694
56695 2006-08-28  Bruno Haible  <bruno@clisp.org>
56696
56697         * gnulib-tool (func_relativize, func_relconcat): New functions.
56698         Give an error if --local-dir is given with --update.
56699         Remove trailing slashes from $local_gnulib_dir.
56700         (func_import): Store the relativized $local_gnulib_dir in
56701         gnulib-cache.m4, and read it from there if not specified explicitly.
56702
56703 2006-08-28  Bruno Haible  <bruno@clisp.org>
56704
56705         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
56706         is the current directory. Respect also $local_gnulib_dir.
56707
56708 2006-08-28  Bruno Haible  <bruno@clisp.org>
56709             Simon Josefsson  <jas@extundo.com>
56710
56711         BeOS portability.
56712         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
56713
56714 2006-08-27  Jim Meyering  <jim@meyering.net>
56715
56716         * doc/visibility.texi: Remove duplicate word: "pointer".
56717
56718 2006-08-26  Bruno Haible  <bruno@clisp.org>
56719
56720         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
56721         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
56722         (Makefile.am): Create inttypes.h from inttypes_.h.
56723         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
56724
56725         * modules/imaxabs: New file.
56726
56727         * modules/imaxdiv: New file.
56728
56729 2006-08-26  Bruno Haible  <bruno@clisp.org>
56730
56731         * m4/inttypes.m4: New file.
56732         * m4/_inttypes_h.m4: Remove file.
56733         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
56734         PRI_MACROS_BROKEN.
56735         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
56736
56737         * m4/imaxabs.m4: New file.
56738
56739         * m4/imaxdiv.m4: New file.
56740
56741 2006-08-26  Bruno Haible  <bruno@clisp.org>
56742
56743         * lib/inttypes_.h: New file.
56744         * lib/inttypes.h: Remove file.
56745         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
56746
56747         * lib/imaxabs.c: New file.
56748
56749         * lib/imaxdiv.c: New file.
56750
56751 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
56752
56753         New config-h module, so that "make" output needn't be cluttered
56754         by -DHAVE_CONFIG_H.
56755         * MODULES.html.sh (Support for building libraries and executables):
56756         Add config-h.
56757         * modules/config-h: New file.
56758         * gnulib-tool (nl, sed_transform_lib_file): New vars.
56759         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
56760         the config-h module is used.
56761
56762         New configmake module, so that "make" output needn't be cluttered
56763         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
56764         * MODULES.html.sh (Support for building libraries and executables):
56765         Add configmake.
56766         * modules/configmake: New file.
56767
56768 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
56769
56770         * m4/config-h.m4: New file.
56771
56772 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
56773
56774         * config/srclist.txt: Add elisp-comp.
56775
56776 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
56777
56778         * MODULES.html.sh (Support for building libraries and executables):
56779         Add elisp-comp.
56780         * build-aux/elisp-comp: New file.
56781         * modules/elisp-comp: New file.
56782
56783 2006-08-24  Bruno Haible  <bruno@clisp.org>
56784
56785         * gnulib-tool (func_create_testdir): Use non-default values of
56786         sourcebase and m4base.
56787
56788 2006-08-24  Bruno Haible  <bruno@clisp.org>
56789
56790         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
56791         HTML structure.
56792
56793 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
56794
56795         * modules/openat (Depends-on): Add lchown.
56796
56797 2006-08-23  Bruno Haible  <bruno@clisp.org>
56798
56799         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
56800         of gl_LOCK_EARLY instead of gl_LOCK.
56801
56802 2006-08-23  Bruno Haible  <bruno@clisp.org>
56803
56804         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
56805         on OSF/1 to no.
56806         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
56807
56808 2006-08-23  Bruno Haible  <bruno@clisp.org>
56809
56810         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
56811         as unusable.
56812
56813         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
56814         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
56815         (gl_LOCK): New macro.
56816
56817 2006-08-22  Simon Josefsson  <jas@extundo.com>
56818
56819         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
56820         to md5 module.
56821
56822 2006-08-22  Simon Josefsson  <jas@extundo.com>
56823
56824         * MODULES.html.sh: Add "Support for maintaining and release
56825         projects".
56826
56827         * build-aux/gnupload: New file, from coreutils.
56828
56829 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
56830
56831         Avoid the need for AC_LIBSOURCES in m4 macros.
56832         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
56833         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
56834         * modules/check-version (EXTRA_DIST): Add check-version.h.
56835         * modules/crc (EXTRA_DIST): Add crc.h.
56836         * modules/des (EXTRA_DIST): Add des.h.
56837         * modules/gc (EXTRA_DIST): Add gc.h.
56838         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
56839         * modules/getline (EXTRA_DIST): Add getline.h.
56840         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
56841         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
56842         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
56843         * modules/md2 (EXTRA_DIST): Add md2.h.
56844         * modules/md4 (EXTRA_DIST): Add md4.h.
56845         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
56846         * modules/read-file (EXTRA_DIST): Add read-file.h.
56847         * modules/readline (EXTRA_DIST): Add readline.h.
56848         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
56849         rijndael-api-fst.h.
56850
56851 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
56852
56853         * m4/rijndael.m4 (gl_ARCFOUR):
56854         * m4/arctwo.m4 (gl_ARCTWO):
56855         * m4/check-version.m4 (gl_CHECK_VERSION):
56856         * m4/crc.m4 (gl_CRC):
56857         * m4/des.m4 (gl_DES):
56858         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
56859         * m4/gc.m4 (gl_GC):
56860         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
56861         * m4/getline.m4 (gl_FUNC_GETLINE):
56862         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
56863         * m4/hmac-md5.m4 (gl_HMAC_MD5):
56864         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
56865         * m4/md2.m4 (gl_MD2):
56866         * m4/md4.m4 (gl_MD4):
56867         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
56868         * m4/read-file.m4 (gl_FUNC_READ_FILE):
56869         * m4/readline.m4 (gl_FUNC_READLINE):
56870         * m4/rijndael.m4 (gl_RIJNDAEL):
56871         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
56872         to get the necessary .h files and whatnot.
56873
56874 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
56875
56876         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
56877         gnulib rather than the other way around.
56878         * config/srclistvars.sh (COREUTILS): Remove.
56879
56880 2006-08-22  Jim Meyering  <jim@meyering.net>
56881
56882         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
56883
56884         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
56885
56886 2006-08-22  Eric Blake  <ebb9@byu.net>
56887
56888         * modules/regexprops-generic: New file.
56889         * MODULES.html.sh (Support for building documentation): List it.
56890
56891 2006-08-22  Eric Blake  <ebb9@byu.net>
56892
56893         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
56894         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
56895         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
56896         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
56897
56898 2006-08-22  Bruno Haible  <bruno@clisp.org>
56899
56900         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
56901         and lib_LTLIBRARIES like the other lib_* variables.
56902
56903 2006-08-22  Bruno Haible  <bruno@clisp.org>
56904
56905         * build-aux/x-to-1.in: New file, from GNU gettext.
56906
56907 2006-08-22  Bruno Haible  <bruno@clisp.org>
56908
56909         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
56910         <utmpx.h> exists.
56911
56912 2006-08-22  Bruno Haible  <bruno@clisp.org>
56913
56914         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
56915         <utmpx.h> exists.
56916
56917 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
56918
56919         BeOS portability.
56920         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
56921         exist.
56922         Problem reported by Bruno Haible.
56923
56924 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
56925
56926         Avoid the need for AC_LIBSOURCES in m4 macros.
56927         * modules/acl (EXTRA_DIST): Add acl.h.
56928         * modules/argmatch (Files): Add m4/argmatch.m4.
56929         (configure.ac): Add gl_ARGMATCH.
56930         (EXTRA_DIST): Renamed from lib_SOURCES, for
56931         consistency with the other modules.  Remove argmatch.c.
56932         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
56933         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
56934         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
56935         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
56936         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
56937         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
56938         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
56939         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
56940         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
56941         * modules/closeout (EXTRA_DIST): Add closeout.h.
56942         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
56943         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
56944         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
56945         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
56946         dirname.h; remove basename.c and stripslash.c.
56947         * modules/exclude (EXTRA_DIST): Add exclude.h.
56948         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
56949         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
56950         * modules/file-type (EXTRA_DIST): Add file-type.h.
56951         * modules/filemode (EXTRA_DIST): Add filemode.h.
56952         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
56953         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
56954         * modules/fpending (EXTRA_DIST): Add __fpending.h.
56955         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
56956         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
56957         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
56958         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
56959         * modules/getdate (EXTRA_DIST): Add getdate.c.
56960         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
56961         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
56962         * modules/getpass (EXTRA_DIST): Add getpass.h.
56963         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
56964         * modules/group-member (EXTRA_DIST): Add group-member.h.
56965         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
56966         * modules/hash (EXTRA_DIST): Add hash.h.
56967         * modules/human (EXTRA_DIST): Add human.h.
56968         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
56969         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
56970         * modules/lchown (EXTRA_DIST): Add lchown.h.
56971         * modules/long-options (EXTRA_DIST): Add long-options.h.
56972         * modules/lstat (EXTRA_DIST): Add lstat.h.
56973         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
56974         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
56975         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
56976         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
56977         * modules/memxor (EXTRA_DIST): Add memxor.h.
56978         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
56979         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
56980         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
56981         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
56982         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
56983         * modules/physmem (EXTRA_DIST): Add physmem.h.
56984         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
56985         * modules/posixver (EXTRA_DIST): Add posixver.h.
56986         * modules/quote (EXTRA_DIST): Add quote.h.
56987         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
56988         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
56989         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
56990         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
56991         regex_internal.h regexec.c.
56992         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
56993         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
56994         * modules/same (EXTRA_DIST): Add same.h.
56995         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
56996         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
56997         * modules/savedir (EXTRA_DIST): Add savedir.h.
56998         * modules/sha1 (EXTRA_DIST): Add sha1.h.
56999         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
57000         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
57001         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
57002         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
57003         * modules/strdup (EXTRA_DIST): Add strdup.h.
57004         * modules/strftime (EXTRA_DIST): Add strftime.h.
57005         * modules/strndup (EXTRA_DIST): Add strndup.h.
57006         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
57007         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
57008         * modules/time_r (EXTRA_DIST): Add time_r.h.
57009         * modules/timespec (EXTRA_DIST): Add timespec.h.
57010         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
57011         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
57012         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
57013         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
57014         * modules/userspec (EXTRA_DIST): Add userspec.h.
57015         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
57016         * modules/utimens (EXTRA_DIST): Add utimens.h.
57017         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
57018         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
57019         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
57020         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
57021         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
57022         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
57023         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
57024         * modules/yesno (EXTRA_DIST): Add yesno.h.
57025
57026 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
57027
57028         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
57029
57030         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
57031         * m4/dev-ino.m4, same-inode.m4: Remove.
57032
57033         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
57034         * m4/acl.m4 (AC_FUNC_ACL):
57035         * m4/backupfile.m4 (gl_BACKUPFILE):
57036         * m4/c-strtod.m4 (gl_C99_STRTOLD):
57037         * m4/canon-host.m4 (gl_CANON_HOST):
57038         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
57039         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
57040         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
57041         * m4/cloexec.m4 (gl_CLOEXEC):
57042         * m4/close-stream.m4 (gl_CLOSE_STREAM):
57043         * m4/closeout.m4 (gl_CLOSEOUT):
57044         * m4/dirfd.m4 (gl_FUNC_DIRFD):
57045         * m4/dirname.m4 (gl_DIRNAME):
57046         * m4/exclude.m4 (gl_EXCLUDE):
57047         * m4/exitfail.m4 (gl_EXITFAIL):
57048         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
57049         * m4/file-type.m4 (gl_FILE_TYPE):
57050         * m4/filemode.m4 (gl_FILEMODE):
57051         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
57052         * m4/fpending.m4 (gl_FUNC_FPENDING):
57053         * m4/fprintftime.m4 (gl_FPRINTFTIME):
57054         * m4/fts.m4 (gl_FUNC_FTS):
57055         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
57056         * m4/getdate.m4 (gl_GETDATE):
57057         * m4/gethrxtime.m4 (gl_GETHRXTIME):
57058         * m4/getpagesize.m4 (gl_GETPAGESIZE):
57059         * m4/getpass.m4 (gl_FUNC_GETPASS):
57060         * m4/gettime.m4 (gl_GETTIME):
57061         * m4/getugroups.m4 (gl_GETUGROUPS):
57062         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
57063         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
57064         * m4/hard-locale.m4 (gl_HARD_LOCALE):
57065         * m4/hash.m4 (gl_HASH):
57066         * m4/idcache.m4 (gl_IDCACHE):
57067         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
57068         * m4/lchown.m4 (gl_FUNC_LCHOWN):
57069         * m4/long-options.m4 (gl_LONG_OPTIONS):
57070         * m4/lstat.m4 (gl_FUNC_LSTAT):
57071         * m4/md5.m4 (gl_MD5):
57072         * m4/memcasecmp.m4 (gl_MEMCASECMP):
57073         * m4/memcoll.m4 (gl_MEMCOLL):
57074         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
57075         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
57076         * m4/memxor.m4 (gl_MEMXOR):
57077         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
57078         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
57079         * m4/modechange.m4 (gl_MODECHANGE):
57080         * m4/mountlist.m4 (gl_MOUNTLIST):
57081         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
57082         * m4/openat.m4 (gl_FUNC_OPENAT):
57083         * m4/pathmax.m4 (gl_PATHMAX):
57084         * m4/physmem.m4 (gl_PHYSMEM):
57085         * m4/posixtm.m4 (gl_POSIXTM):
57086         * m4/posixver.m4 (gl_POSIXVER):
57087         * m4/quote.m4 (gl_QUOTE):
57088         * m4/quotearg.m4 (gl_QUOTEARG):
57089         * m4/readtokens.m4 (gl_READTOKENS):
57090         * m4/readutmp.m4 (gl_READUTMP):
57091         * m4/regex.m4 (gl_REGEX):
57092         * m4/safe-read.m4 (gl_SAFE_READ):
57093         * m4/safe-write.m4 (gl_SAFE_WRITE):
57094         * m4/same.m4 (gl_SAME):
57095         * m4/save-cwd.m4 (gl_SAVE_CWD):
57096         * m4/savedir.m4 (gl_SAVEDIR):
57097         * m4/settime.m4 (gl_SETTIME):
57098         * m4/sha1.m4 (gl_SHA1):
57099         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
57100         * m4/stat-macros.m4 (gl_STAT_MACROS):
57101         * m4/stat-time.m4 (gl_STAT_TIME):
57102         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
57103         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
57104         * m4/strdup.m4 (gl_FUNC_STRDUP):
57105         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
57106         * m4/strndup.m4 (gl_FUNC_STRNDUP):
57107         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
57108         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
57109         * m4/time_r.m4 (gl_TIME_R):
57110         * m4/timespec.m4 (gl_TIMESPEC):
57111         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
57112         * m4/unlinkdir.m4 (gl_UNLINKDIR):
57113         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
57114         * m4/userspec.m4 (gl_USERSPEC):
57115         * m4/utimecmp.m4 (gl_UTIMECMP):
57116         * m4/utimens.m4 (gl_UTIMENS):
57117         * m4/xalloc.m4 (gl_XALLOC):
57118         * m4/xgetcwd.m4 (gl_XGETCWD):
57119         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
57120         * m4/xreadlink.m4 (gl_XREADLINK):
57121         * m4/xstrtod.m4 (gl_XSTRTOD):
57122         * m4/yesno.m4 (gl_YESNO):
57123         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
57124         to get the necessary .h files and whatnot.
57125
57126 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
57127             Bruno Haible  <bruno@clisp.org>
57128
57129         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
57130         /bin/sh understanding of '!' conditional negation.
57131
57132 2006-08-21  Jim Meyering  <jim@meyering.net>
57133
57134         * modules/openat (Depends-on): Really alphabetize.
57135
57136         * modules/acl (Depends-on): Add error and quote.
57137
57138         * check-module (find_included_lib_files): Add at-func.c to the
57139         ok-to-include-more-than-once white list.
57140
57141         * modules/openat (Depends-on): Add lstat.  Alphabetize.
57142
57143 2006-08-21  Bruno Haible  <bruno@clisp.org>
57144
57145         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57146         Emit a pkgdata_DATA variable only if some snippets add contents to it.
57147         Reported by Martin Lambers <marlam@marlam.de>.
57148
57149 2006-08-21  Bruno Haible  <bruno@clisp.org>
57150
57151         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
57152         specify an installation location, don't emit a noinst_LIBRARIES or
57153         noinst_LTLIBRARIES assignment.
57154
57155 2006-08-21  Bruno Haible  <bruno@clisp.org>
57156
57157         BeOS portability.
57158         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
57159         BeOS has mbrtowc() but no <wctype.h>.
57160
57161 2006-08-21  Bruno Haible  <bruno@clisp.org>
57162
57163         BeOS portability.
57164         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
57165         exist.
57166
57167 2006-08-21  Bruno Haible  <bruno@clisp.org>
57168
57169         BeOS portability.
57170         * lib/mbchar.h: Include <wctype.h> only if it exists.
57171
57172 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57173
57174         Remove files that are no longer needed by their respective modules.
57175         * m4/obstack.m4: Remove.
57176         * m4/strerror_r.m4: Remove.
57177         * m4/uint32_t.m4: Remove.
57178         * m4/uintptr_t.m4: Remove.
57179         * m4/ullong_max.m4: Remove.
57180         * m4/xstrtoimax.m4: Remove.
57181         * m4/xstrtoumax.m4: Remove.
57182
57183         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
57184         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
57185         dependencies now capture this.
57186
57187         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
57188         Do not use AC_LIBSOURCES, since gnulib modules now do this.
57189         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
57190         * m4/human.m4 (gl_HUMAN): Likewise.
57191         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
57192         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
57193
57194         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
57195
57196         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
57197         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
57198         stdint.
57199         * m4/human.m4 (gl_HUMAN): Likewise.
57200         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
57201         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
57202         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
57203         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
57204         * m4/xstrtol (gl_XSTRTOL): Likewise.
57205
57206         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
57207         AC_TYPE_LONG_LONG_INT.
57208         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
57209         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
57210         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
57211         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
57212
57213         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
57214         on stdbool.
57215
57216         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
57217         (gl_PREREQ_XSTRTOUL): Remove.
57218
57219         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
57220
57221         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
57222         mode.
57223
57224 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57225
57226         Add and change modules to make it easier for coreutils to use
57227         gnulib-tool.
57228         * modules/backupfile (Files): Remove m4/d-ino.m4.
57229         (Depends-on): Add d-ino.
57230         * modules/cycle-check (Depends-on): Add stdint.
57231         (lib_SOURCES): Add cycle-check.h.
57232         * modules/d-ino: New module.
57233         * modules/d-type: New module.
57234         * modules/error (Files): Remove m4/strerror_r.m4.
57235         * modules/filemode (Files): Add m4/st_dm_mode.m4.
57236         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
57237         m4/inttypes_h.m4, m4/uintmax_t.m4.
57238         (Depends-on): Add stdint.
57239         (lib_SOURCES): Add fsusage.h.
57240         * modules/getcwd (Files): Remove d-ino.m4.
57241         (Depends-on): Add d-ino.
57242         * modules/getndelim2 (Depends-on): Add stdint.
57243         * modules/glob (Files): Remove m4/d-type.m4.
57244         (Depends-on): Add d-type.
57245         * modules/host-os: New module.
57246         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
57247         m4/inttypes_h.m4, m4/uintmax_t.m4.
57248         * Depends-on: Add stdint.
57249         (lib_SOURCES): Add human.h.
57250         * modules/inttostr (Files): Remove m4/intmax_t.m4,
57251         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
57252         m4/uintmax_t.m4, m4/ulonglong.m4.
57253         (Depends-on): Add stdint.
57254         (EXTRA_DIST): Add inttostr.h.
57255         * modules/lchmod: New module.
57256         * modules/link-follow: New module.
57257         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
57258         (Depends-on): Add lchmod.
57259         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
57260         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
57261         (Depends-on): Add stdint.
57262         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
57263         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
57264         (Depends-on): Add stdint.
57265         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
57266         * modules/perl: New module.
57267         * modules/regex (Depends-on): Add stdint.
57268         * modules/rmdir-errno: New module.
57269         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
57270         m4/intmax_t.m4.
57271         (Depends-on): Add stdint.
57272         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
57273         m4/uintmax_t.m4.
57274         (Depends-on): Add stdint.
57275         * modules/unlink-busy: New module.
57276         * modules/utimecmp (Depends-on): Add stdint.
57277         * modules/uptime: New module.
57278         * modules/winsz-ioctl: New module.
57279         * modules/winsz-termios: New module.
57280         * modules/xnanosleep (Depends-on): Add nanosleep.
57281         * modules/ullong_max: Remove.
57282         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
57283         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
57284         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
57285         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
57286         (Depends-on): Add inttypes.
57287         (lib_SOURCES): Add xstrtol.h.
57288         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
57289         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
57290         * MODULES.html.sh: Move 'assert' into the assert section.
57291         Move 'dummy' into the linking section.
57292         Remove ullong_max.
57293         Add section for compatibility checks for POSIX:2001 functions,
57294         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
57295         winsz-ioctl, and winsz-termios into it.
57296         Add lchmod.
57297         Add top-level Misc section and put host-os, perl, and uptime
57298         into it.
57299
57300 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57301
57302         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
57303         now assume the stdint module.  Do not include inttypes.h.
57304         * lib/fsusage.h: Likewise.
57305         * lib/getndelim2.c: Likewise.
57306         * lib/human.h: Likewise.
57307         * lib/inttostr.h: Likewise.
57308         * lib/obstack.c: Likewise.
57309         * lib/regex_internal.h: Likewise.
57310         * lib/tempname.c: Likewise.
57311         * lib/utimecmp.c: Likewise.
57312         * lib/xstrtol.h: Likewise.
57313
57314         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
57315
57316         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
57317         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
57318         * lib/xtime.h: Likewise.
57319
57320 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57321
57322         * modules/openat (Files): Add lib/fchmodat.c.
57323         Fixes problem reported by Jay Youngman.
57324
57325 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57326
57327         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
57328         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
57329
57330 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
57331             Bruno Haible  <bruno@clisp.org>
57332
57333         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
57334         and is a script that invokes bison. Tighten the code. Add comments.
57335
57336 2006-08-18  Jim Meyering  <jim@meyering.net>
57337
57338         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
57339         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
57340         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
57341         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
57342
57343 2006-08-18  Bruno Haible  <bruno@clisp.org>
57344
57345         * modules/bison-i18n: New file.
57346         * MODULES.html.sh (Internationalization functions): Add it.
57347
57348 2006-08-18  Bruno Haible  <bruno@clisp.org>
57349
57350         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
57351         sys/statvfs.h. When getmntinfo was found, check its declaration and
57352         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
57353
57354 2006-08-18  Bruno Haible  <bruno@clisp.org>
57355
57356         * m4/bison-i18n.m4: New file, from bison.
57357
57358 2006-08-18  Bruno Haible  <bruno@clisp.org>
57359
57360         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
57361         (ME_DUMMY): Treat "kernfs" as a dummy.
57362         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
57363
57364 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
57365
57366         Update from coreutils.
57367
57368         2006-08-15  Jim Meyering  <jim@meyering.net>
57369
57370         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
57371
57372         2006-01-17  Jim Meyering  <jim@meyering.net>
57373
57374         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
57375
57376         2006-01-11  Jim Meyering  <jim@meyering.net>
57377
57378         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
57379         Check for the lchmod function.
57380
57381 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
57382
57383         Update from coreutils.
57384
57385         * lib/__fpending.h: Add copyright notice.
57386         * lib/fprintftime.h: Likewise.
57387         * lib/savedir.c: Use (C) in copyright notice.
57388         * lib/savedir.h: Likewise.
57389
57390         2006-08-15  Jim Meyering  <jim@meyering.net>
57391
57392         * lib/at-func.c: New file, with the logic of all emulated at-functions.
57393         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
57394         in support of the EXPECTED_ERRNO macro.
57395         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
57396         definitions.  Instead, define the appropriate symbols and include
57397         "at-func.c".
57398         * lib/mkdirat.c (mkdirat): Likewise.
57399         * lib/fchmodat.c (fchmodat): Likewise.
57400         (ENOSYS): Remove definition.
57401         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
57402         it.  Don't include "unistd--.h" -- it wasn't ever used.
57403
57404         2006-01-17  Jim Meyering  <jim@meyering.net>
57405
57406         Rewrite fts.c not to change the current working directory,
57407         by using openat, fstatat, fdopendir, etc..
57408
57409         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
57410         (HAVE_OPENAT_SUPPORT): Define.
57411         [_LIBC] (fchdir): Don't undef or define; no longer used.
57412         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
57413         Now, this `function' always succeeds, and consumes its file descriptor
57414         parameter -- so callers must not close such FDs.  Update callers.
57415         (diropen_fd, opendirat, cwd_advance_fd): New functions.
57416         (diropen): Add parameter, SP.  Adjust all callers.
57417         Implement using diropen_fd, rather than open.
57418         (fts_open): Initialize new member, fts_cwd_fd.
57419         Remove fts_rft-setting code.
57420         (fts_close): Close fts_cwd_fd, if necessary.
57421         (__opendir2): Define in terms of opendir or opendirat,
57422         depending on whether the FST_NOCHDIR flag is set.
57423         (fts_build): Since fts_safe_changedir consumes its FD, and since
57424         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
57425         and close the dup'd file descriptor upon failure.
57426         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
57427         (fts_safe_changedir): Tweak semantics to reflect that this function
57428         now calls cwd_advance_fd and hence consumes its FD argument.
57429         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
57430         [struct FTS] (fts_rft): Remove now-unused member.
57431         [struct FTS] (fts_cycle.state): Improve comment.
57432
57433         * lib/openat.c (openat_needs_fchdir): New function.
57434         * lib/openat.h (openat_needs_fchdir): Declare it.
57435
57436 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
57437
57438         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
57439         Problem and fix reported by Pádraig Brady in
57440         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
57441
57442 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
57443
57444         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
57445
57446 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
57447
57448         * lib/memcoll.c (memcoll): Optimize for the common case where the
57449         arguments are bytewise equal.
57450
57451 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
57452
57453         * doc/regexprops-generic.texi: Add a copyright notice.
57454
57455 2006-08-15  Bruno Haible  <bruno@clisp.org>
57456
57457         * modules/tmpdir (License): Change to LGPL.
57458
57459 2006-08-15  Bruno Haible  <bruno@clisp.org>
57460
57461         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
57462         module.
57463
57464 2006-08-14  Simon Josefsson  <jas@extundo.com>
57465
57466         * config/srclist.txt: Add gnupload.
57467
57468 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
57469
57470         Change copyright notice from LGPL 2 to GPL 2, since that's the
57471         standard form used in the gnulib repository.
57472         * tests/test-lock.c: Likewise.
57473         * tests/test-stdint.c: Likewise.
57474         * tests/test-tls.c: Likewise.
57475
57476         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
57477         prelude-manager.  User shorter URLs for GNU projects, without '?'.
57478         Add copyright notice.
57479
57480         * check-module: Add copyright notice.  Output a copyright
57481         notice if "--version" is specified.
57482         * modules/COPYING: New file.
57483         * tests/test-getaddrinfo.c: Add copyright notice.
57484         * tests/test-verify.c: Likewise.
57485
57486 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
57487
57488         Change copyright notice from LGPL 2 to GPL 2, since that's the
57489         standard form used in the gnulib repository.
57490         * lib/lock.c: LGPL -> GPL.
57491         * lib/lock.h: Likewise.
57492         * lib/strnlen1.c: Likewise.
57493         * lib/strnlen1.h: Likewise.
57494         * lib/tls.c: Likewise.
57495         * lib/tls.h: Likewise.
57496         * lib/tmpdir.c: Likewise.
57497
57498         * lib/TODO: Remove; this belongs only in coreutils.
57499
57500 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
57501
57502         Add copyright notices to long-enough files that lack them, since
57503         otherwise the files aren't clearly free.  Use the same notice that
57504         getdate.texi already uses.
57505         * doc/alloca-opt.texi: Add copyright notice.
57506         * doc/alloca.texi: Likewise.
57507         * doc/ctime.texi: Likewise.
57508         * doc/functions.texi: Likewise.
57509         * doc/gcd.texi: Likewise.
57510         * doc/gnulib-tool.texi: Likewise.
57511         * doc/inet_ntoa.texi: Likewise.
57512         * doc/visibility.texi: Likewise.
57513
57514         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
57515         * doc/quote.texi: Add copyright notice.
57516
57517         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
57518         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
57519         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
57520         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
57521         is now obsolete, and give a pointer to the Sun list.
57522         Add copyright notice.
57523
57524 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
57525
57526         * config/srclistvars.sh: Add copyright notice.
57527
57528 2006-08-14  Eric Blake  <ebb9@byu.net>
57529
57530         Import the following change from libc:
57531
57532         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
57533
57534         Upstream bug 2997.
57535         * lib/misc/error.c: Add space between program name and message if file
57536         name is missing.
57537
57538 2006-08-12  Karl Berry  <karl@gnu.org>
57539
57540         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
57541         remove, these originate in gnulib now.
57542
57543 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57544
57545         * doc/Makefile (standards.info standards.html standards.dvi):
57546         Also depend on make-stds.texi.
57547
57548 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
57549
57550         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
57551         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
57552
57553         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
57554         in wchar_t.  Problem reported by Eric Blake.
57555
57556         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
57557         LEN is smaller than SIZE.  Suggested by Bruno Haible.
57558         Also, help the compiler to keep LEN in a register.
57559
57560 2006-08-11  Eric Blake  <ebb9@byu.net>
57561
57562         * users.txt: Sort.  Add tar.
57563
57564 2006-08-11  Bruno Haible  <bruno@clisp.org>
57565
57566         * users.txt: New file.
57567
57568 2006-08-11  Bruno Haible  <bruno@clisp.org>
57569
57570         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
57571         before <wchar.h>. Needed for OSF/1 and BSD/OS.
57572
57573 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
57574
57575         * modules/snprintf (Depends-on): Remove minmax.
57576         (Maintainer): Add self and Bruno.
57577
57578 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
57579
57580         * lib/.cppi-disable: Add snprintf.h, socket_.h.
57581         * lib/snprintf.c: Include <errno.h> and <limits.h>.
57582         (EOVERFLOW): Define if the system does not.
57583         Do not include "minmax.h"; it wasn't used.
57584         (snprintf): Don't assume size_t promotes to an unsigned type.
57585         Fix bug when generated string was too long for the buffer: the
57586         buffer's contents are supposed to be the initial prefix of the
57587         output.  Don't assume vasnprintf returns EOVERFLOW if the size
57588         exceeds INT_MAX; do the check ourselves.
57589
57590         Import the following changes from libc:
57591
57592         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
57593
57594         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
57595         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
57596         set wc to the byte which couldn't be converted.
57597         (re_string_reconstruct): Don't clear valid_raw_len before calling
57598         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
57599         tip_context using re_string_context_at.
57600
57601         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
57602
57603         * lib/posix/regex.h: g++ still cannot handled [restrict].
57604
57605         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
57606
57607         * lib/posix/regex.h: Remove special handling for VMS.
57608
57609 2006-08-10  Jim Meyering  <jim@meyering.net>
57610
57611         * modules/same-inode: New module.
57612         * modules/dev-ino: New module.
57613         * modules/cycle-check: Depend on these modules, rather than simply
57614         including their .h files.
57615         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
57616         required via m4/cycle-check.m4.
57617         * modules/same: Depend on new same-inode module, rather than
57618         including same-inode.h.
57619         * modules/chdir-safer: New file.
57620
57621         * modules/chown (Depends-on): Add stat-macros.
57622
57623 2006-08-10  Jim Meyering  <jim@meyering.net>
57624
57625         * m4/cycle-check.m4: New file.
57626         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
57627         * m4/dev-ino.m4, m4/same-inode.m4: New files.
57628
57629 2006-08-10  Eric Blake  <ebb9@byu.net>
57630
57631         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
57632         in from original proposal.
57633
57634 2006-08-10  Eric Blake  <ebb9@byu.net>
57635         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
57636
57637         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
57638         namespace.
57639
57640 2006-08-10  Bruno Haible  <bruno@clisp.org>
57641
57642         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
57643         as well.
57644
57645 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
57646
57647         Sync from coreutils.
57648
57649         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
57650
57651         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
57652         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
57653
57654 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
57655
57656         * modules/restrict: Remove; no longer needed now that we assume
57657         Autoconf 2.59 or later.
57658         * MODULES.html.sh: Remove 'restrict'.
57659         * modules/argp (Depends-on): Remove 'restrict'.
57660         * modules/base64 (Depends-on): Likewise.
57661         * modules/gc (Depends-on): Likewise.
57662         * modules/getaddrinfo (Depends-on): Likewise.
57663         * modules/glob (Depends-on): Likewise.
57664         * modules/inet_ntop (Depends-on): Likewise.
57665         * modules/inet_pton (Depends-on): Likewise.
57666         * modules/memxor (Depends-on): Likewise.
57667         * modules/regex (Depends-on): Likewise.
57668         * modules/strtok_r (Depends-on): Likewise.
57669         * modules/time_r (Depends-on): Likewise.
57670
57671 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
57672
57673         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
57674         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
57675         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
57676         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
57677         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
57678         * m4/memxor.m4 (gl_MEMXOR): Likewise.
57679         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
57680         gl_C_RESTRICT replaced by AC_C_RESTRICT.
57681
57682         Merge from coreutils.
57683         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
57684         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
57685         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
57686         * m4/time_r.m4 (gl_TIME_R): Likewise.
57687
57688 2006-08-09  Karl Berry  <karl@gnu.org>
57689
57690         * config/srclist.txt: no more gettext-tools, per Bruno.
57691
57692 2006-08-08  Eric Blake  <ebb9@byu.net>
57693
57694         * modules/verror: New module.
57695         * MODULES.html.sh: Document it.
57696
57697 2006-08-08  Eric Blake  <ebb9@byu.net>
57698
57699         * lib/verror.h, lib/verror.c: New files.
57700
57701 2006-08-08  Eric Blake  <ebb9@byu.net>
57702
57703         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
57704         verror_at_line output complies with GNU Coding Standards even when
57705         file is NULL.
57706
57707 2006-08-07  Bruno Haible  <bruno@clisp.org>
57708
57709         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
57710         versions of AIX.
57711         Reported by Ralf Wildenhues.
57712
57713 2006-08-07  Bruno Haible  <bruno@clisp.org>
57714
57715         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
57716         in an AC_DEFUN. Needed so that the autoconf snippets can use
57717         AC_REQUIRE.
57718
57719 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57720
57721         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57722         Initialize pkgdata_DATA.
57723         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
57724         overriding it.
57725
57726 2006-08-06  Eric Blake  <ebb9@byu.net>
57727
57728         * lib/error.h: Fold in some upstream changes from glibc.
57729         * lib/error.c: Likewise.
57730
57731 2006-08-04  Bruno Haible  <bruno@clisp.org>
57732
57733         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57734         Make the mostlyclean-local rule depend on mostlyclean-generic.
57735         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
57736
57737 2006-07-31  Bruno Haible  <bruno@clisp.org>
57738
57739         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
57740         <stdlib.h>, <string.h>.
57741
57742 2006-07-30  Bruno Haible  <bruno@clisp.org>
57743
57744         * modules/readlink (License): Change to LGPL.
57745
57746 2006-07-30  Bruno Haible  <bruno@clisp.org>
57747
57748         * modules/javaversion (Makefile.am): Distribute javaversion.java and
57749         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
57750         set PKGDATADIR to point to it.
57751
57752 2006-07-30  Bruno Haible  <bruno@clisp.org>
57753
57754         * modules/csharpexec (configure.ac): Comment out macro invocation.
57755         * modules/javaexec (configure.ac): Likewise.
57756         * modules/javacomp-script (configure.ac): Likewise.
57757
57758         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
57759
57760 2006-07-30  Bruno Haible  <bruno@clisp.org>
57761
57762         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
57763         linked-list.
57764
57765 2006-07-30  Bruno Haible  <bruno@clisp.org>
57766
57767         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
57768
57769 2006-07-30  Bruno Haible  <bruno@clisp.org>
57770
57771         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57772         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
57773         get removed.
57774
57775 2006-07-29  Bruno Haible  <bruno@clisp.org>
57776
57777         Make it possible for gnulib-tool to work with locally modified or
57778         augmented gnulib repositories.
57779         * gnulib-tool (func_usage): Document --local-dir option.
57780         (local_gnulib_dir): New variable.
57781         Handle --local-dir option.
57782         (func_lookup_file): New function.
57783         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
57784         (func_get_description, func_get_filelist, func_get_description,
57785         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
57786         func_get_automake_snippet, func_get_include_directive,
57787         func_get_license, func_get_maintainer): Use func_lookup_file.
57788         (func_import, func_create_testdir): Use func_lookup_file.
57789
57790 2006-07-29  Bruno Haible  <bruno@clisp.org>
57791
57792         * modules/setenv (Depends-on): Add unistd.
57793
57794 2006-07-29  Bruno Haible  <bruno@clisp.org>
57795
57796         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
57797
57798 2006-07-29  Bruno Haible  <bruno@clisp.org>
57799
57800         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
57801
57802 2006-07-29  Bruno Haible  <bruno@clisp.org>
57803
57804         * gnulib-tool (import, update): If there is no Makefile.am, look at
57805         aclocal.m4, instead of bailing out.
57806
57807 2006-07-29  Bruno Haible  <bruno@clisp.org>
57808
57809         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
57810         Categorize the options by when they are useful.
57811
57812 2006-07-29  Bruno Haible  <bruno@clisp.org>
57813
57814         * gnulib-tool (func_usage): Document option --no-libtool.
57815         Handle option --no-libtool.
57816         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
57817         for changed semantics of $libtool variable.
57818         (func_import): Likewise. If libtool is not used, show this through
57819         an option --no-libtool.
57820         (func_create_testdir): Update.
57821
57822 2006-07-29  Bruno Haible  <bruno@clisp.org>
57823
57824         * gnulib-tool (func_import): Extend error message about missing
57825         --doc-base.
57826
57827 2006-07-29  Bruno Haible  <bruno@clisp.org>
57828
57829         * gnulib-tool (func_import): Don't create the $docbase directory if
57830         there is no file to store there.
57831
57832 2006-07-29  Bruno Haible  <bruno@clisp.org>
57833
57834         * gnulib-tool (autoconf_minversion): If a --dir option is given and
57835         relevant, look for configure.ac there, not in the current directory.
57836         Also use a simple search for AC_PREREQ, not "autoconf --trace".
57837
57838 2006-07-29  Bruno Haible  <bruno@clisp.org>
57839
57840         * gnulib-tool (SORT): New variable.
57841         (func_usage): Undocument --assume-autoconf option.
57842         Remove --assume-autoconf option handling.
57843         (autoconf_minversion): Determine from the contents of configure.ac.
57844         (func_import): Remove autoconf_minversion handling.
57845         Suggested by Eric Blake.
57846
57847 2006-07-29  Bruno Haible  <bruno@clisp.org>
57848
57849         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
57850
57851 2006-07-29  Bruno Haible  <bruno@clisp.org>
57852
57853         * config/srclist.txt (*setenv.[ch]): Remove rules.
57854
57855 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57856
57857         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
57858
57859 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57860
57861         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
57862         arpa/inet.h.
57863
57864 2006-07-28  Simon Josefsson  <jas@extundo.com>
57865
57866         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
57867         * modules/inet_pton (Depends-on): Likewise.
57868
57869 2006-07-28  Simon Josefsson  <jas@extundo.com>
57870
57871         * m4/netinet_in_h.m4: New file.
57872
57873 2006-07-28  Simon Josefsson  <jas@extundo.com>
57874
57875         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
57876         #include's.
57877
57878 2006-07-28  Simon Josefsson  <jas@extundo.com>
57879
57880         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
57881         #include's.
57882
57883 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
57884
57885         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
57886         setgid on directories only if they set these bits.
57887         * lib/modechange.h: Remove obsolete comment about masks.
57888
57889 2006-07-28  Eric Blake  <ebb9@byu.net>
57890
57891         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
57892         macro expansion.
57893
57894 2006-07-28  Bruno Haible  <bruno@clisp.org>
57895
57896         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
57897
57898 2006-07-28  Bruno Haible  <bruno@clisp.org>
57899
57900         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
57901
57902 2006-07-28  Bruno Haible  <bruno@clisp.org>
57903
57904         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
57905         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
57906         Define fallbacks.
57907         Avoids link error on FreeBSD 4.x.
57908         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
57909
57910         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
57911         encoding.
57912         * lib/mbswidth.c (iswcntrl): Likewise.
57913
57914 2006-07-27  Bruno Haible  <bruno@clisp.org>
57915
57916         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
57917         test.
57918
57919 2006-07-27  Bruno Haible  <bruno@clisp.org>
57920
57921         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
57922         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
57923         defined.
57924
57925 2006-07-26  Eric Blake  <ebb9@byu.net>
57926
57927         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
57928
57929 2006-07-26  Eric Blake  <ebb9@byu.net>
57930
57931         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
57932         like mingw that lack mkstemp.
57933         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
57934         avoid compilation warning on mingw.
57935
57936 2006-07-26  Bruno Haible  <bruno@clisp.org>
57937
57938         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
57939         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
57940         INT_FAST*_MIN, INTPTR_MIN.
57941
57942 2006-07-25  Bruno Haible  <bruno@clisp.org>
57943
57944         * modules/version-etc (Depends-on): Add stdarg.
57945
57946 2006-07-25  Bruno Haible  <bruno@clisp.org>
57947
57948         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
57949         complex commands.
57950
57951 2006-07-25  Bruno Haible  <bruno@clisp.org>
57952
57953         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
57954         defined in <stdarg.h> or config.h.
57955
57956 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
57957
57958         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
57959         (gl_STDIO_SAFER): Remove.
57960
57961 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
57962
57963         * MODULES.html.sh (File stream based Input/Output):
57964         Add fopen-safer, tmpfile-safer; remove stdio-safer.
57965         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
57966         * modules/fopen-safer, modules/tmpfile-safer: New files.
57967         * modules/stdio-safer: Remove.
57968
57969 2006-07-24  Bruno Haible  <bruno@clisp.org>
57970
57971         * modules/tmpdir: New file.
57972         * MODULES.html.sh (File system functions): Add it.
57973
57974 2006-07-24  Bruno Haible  <bruno@clisp.org>
57975
57976         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
57977         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
57978
57979 2006-07-24  Bruno Haible  <bruno@clisp.org>
57980
57981         * modules/clean-temp: New file.
57982
57983 2006-07-24  Bruno Haible  <bruno@clisp.org>
57984
57985         * m4/tmpdir.m4: New file, from GNU gettext.
57986
57987 2006-07-24  Bruno Haible  <bruno@clisp.org>
57988
57989         * lib/tmpdir.h: New file, from GNU gettext.
57990         * lib/tmpdir.c: New file, from GNU gettext.
57991
57992 2006-07-24  Bruno Haible  <bruno@clisp.org>
57993
57994         * lib/clean-temp.h: New file, from GNU gettext.
57995         * lib/clean-temp.c: New file, from GNU gettext.
57996
57997 2006-07-23  Eric Blake  <ebb9@byu.net>
57998
57999         * modules/stdio-safer (Files): Add tmpfile-safer.c.
58000         (Depends-on): Add binary-io.
58001
58002 2006-07-23  Eric Blake  <ebb9@byu.net>
58003
58004         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
58005
58006 2006-07-23  Eric Blake  <ebb9@byu.net>
58007
58008         * lib/tmpfile-safer.c: New file.
58009         * lib/stdio-safer.h (fopen_safer): Add prototype.
58010         * lib/stdio--.h (tmpfile): Make safer.
58011
58012 2006-07-23  Bruno Haible  <bruno@clisp.org>
58013
58014         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
58015         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
58016         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
58017         gl_linked_remove_at): Use it.
58018
58019 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58020         and Simon Josefsson <jas@extundo.com>
58021
58022         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
58023
58024         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
58025
58026 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
58027
58028         * modules/close-stream: New file.
58029         * modules/closeout (Description): Make it clear that it exits
58030         with a diagnostic on error.
58031         (Depends-on): Add close-stream.  Remove fpending, stdbool.
58032         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
58033
58034 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
58035
58036         * m4/close-stream.m4: New file.
58037
58038 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
58039
58040         * lib/close-stream.c, lib/close-stream.h: New files.
58041
58042 2006-07-22  Bruno Haible  <bruno@clisp.org>
58043
58044         Merge from GNU gettext 0.15.
58045
58046         2006-05-01  Bruno Haible  <bruno@clisp.org>
58047
58048                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
58049
58050         2006-07-22  Bruno Haible  <bruno@clisp.org>
58051
58052                 * modules/javaversion: New file.
58053                 * MODULES.html.sh (Java): Add javaversion.
58054
58055         2006-03-12  Bruno Haible  <bruno@clisp.org>
58056
58057                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
58058
58059         2005-12-04  Bruno Haible  <bruno@clisp.org>
58060
58061                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
58062                 (untested).
58063
58064         2006-06-21  Bruno Haible  <bruno@clisp.org>
58065
58066                 Avoid warnings from recent versions of mcs.
58067                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
58068                 -o, -L, -r any more. Use options documented since mcs-1.0
58069                 instead. Similarly for -g.
58070
58071         2005-12-04  Bruno Haible  <bruno@clisp.org>
58072
58073                 * build-aux/csharpcomp.sh.in: Suffix for resources is
58074                 .resources, not .resource.
58075
58076         2005-07-09  Bruno Haible  <bruno@clisp.org>
58077
58078                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
58079                 add a .dll suffix.
58080                 Reported by Mark Junker <mjscod@gmx.de>.
58081
58082         2006-07-22  Bruno Haible  <bruno@clisp.org>
58083
58084                 * modules/gettext: Upgrade to gettext-0.15.
58085                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
58086                 m4/visibility.m4.
58087                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
58088
58089 2006-07-22  Bruno Haible  <bruno@clisp.org>
58090
58091         Merge from GNU gettext 0.15.
58092
58093         2006-03-25  Bruno Haible  <bruno@clisp.org>
58094
58095                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
58096
58097         2006-07-21  Bruno Haible  <bruno@clisp.org>
58098
58099                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
58100                 "1.1".
58101
58102         2006-05-09  Bruno Haible  <bruno@clisp.org>
58103
58104                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
58105                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
58106                 for the conftestver execution.
58107
58108         2006-05-01  Bruno Haible  <bruno@clisp.org>
58109
58110                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
58111                 optional target-version argument. Verify that the compiler
58112                 groks source of the specified source-version, or add -source
58113                 option as necessary. Verify that the compiler produces
58114                 bytecode in the specified target-version, or add -target and
58115                 -source options as necessary. Make the result of the test
58116                 available as variable CONF_JAVAC. Also log error output in
58117                 config.log.
58118
58119         2006-03-11  Bruno Haible  <bruno@clisp.org>
58120
58121                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
58122
58123         2006-05-09  Bruno Haible  <bruno@clisp.org>
58124
58125                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
58126                 CLASSPATH_SEPARATOR to a semicolon.
58127
58128         2006-03-12  Bruno Haible  <bruno@clisp.org>
58129
58130                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
58131                 available as variable CONF_JAVA, for subsequent autoconf
58132                 tests. Also log error output in config.log.
58133
58134         2006-07-19  Bruno Haible  <bruno@clisp.org>
58135
58136                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
58137                 that getline works on glibc2 systems. Needed to avoid trouble
58138                 in relocatable.c.
58139                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
58140
58141         2005-12-04  Bruno Haible  <bruno@clisp.org>
58142
58143                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
58144                 launcher (untested).
58145
58146         2005-12-04  Bruno Haible  <bruno@clisp.org>
58147
58148                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
58149
58150         2006-07-22  Bruno Haible  <bruno@clisp.org>
58151
58152                 * gettext.m4: Update from GNU gettext-0.15.
58153                 * nls.m4: Likewise.
58154                 * po.m4: Likewise.
58155                 * inttypes-pri.m4: Likewise.
58156                 * inttypes-h.m4: Renamed from inttypes.m4.
58157                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
58158
58159 2006-07-22  Bruno Haible  <bruno@clisp.org>
58160
58161         Merge from GNU gettext 0.15.
58162
58163         2005-07-05  Bruno Haible  <bruno@clisp.org>
58164
58165                 * printf-args.c (printf_fetchargs): Work around broken
58166                 definition of wint_t on mingw.
58167
58168         2005-02-12  Bruno Haible  <bruno@clisp.org>
58169
58170                 * xallocsa.h: Add extern "C" for C++.
58171
58172         2006-05-17  Bruno Haible  <bruno@clisp.org>
58173
58174                 Cygwin portability.
58175                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
58176
58177         2006-04-30  Bruno Haible  <bruno@clisp.org>
58178
58179                 * progreloc.c: Include <mach-o/dyld.h> if available.
58180                 (find_executable): Use _NSGetExecutablePath when possible.
58181
58182         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
58183
58184                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
58185                 function.
58186
58187         2005-12-29  Bruno Haible  <bruno@clisp.org>
58188
58189                 * progreloc.c (set_program_name_and_installdir): Fix
58190                 compilation error.
58191
58192         2005-12-04  Bruno Haible  <bruno@clisp.org>
58193
58194                 Cygwin portability.
58195                 * progreloc.c: Include <windows.h> also on Cygwin.
58196                 (find_executable): Add support for Cygwin.
58197                 (set_program_name_and_installdir): Handle also platforms with
58198                 nonempty EXEEXT.
58199
58200         2006-07-11  Bruno Haible  <bruno@clisp.org>
58201
58202                 * javacomp.c: Fix a comment.
58203                 Reported by Jim Meyering.
58204
58205         2006-04-30  Bruno Haible  <bruno@clisp.org>
58206
58207                 * javacomp.h (compile_java_class): Add source_version,
58208                 target_version arguments.
58209                 * javacomp.c: Rewritten to choose only a compiler that
58210                 respects the specified source_version and target_version.
58211
58212         2006-06-27  Bruno Haible  <bruno@clisp.org>
58213
58214                 Assume correct S_ISDIR macro.
58215                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
58216
58217         2006-07-22  Bruno Haible  <bruno@clisp.org>
58218
58219                 * javaversion.h: New file, from GNU gettext.
58220                 * javaversion.c: New file, from GNU gettext.
58221                 * javaversion.java: New file, from GNU gettext.
58222                 * javaversion.class: New file, from GNU gettext.
58223
58224         2006-05-17  Bruno Haible  <bruno@clisp.org>
58225
58226                 Cygwin portability.
58227                 * javaexec.c (execute_java_class): Test for jview program
58228                 also on Cygwin.
58229
58230         2006-04-09  Bruno Haible  <bruno@clisp.org>
58231
58232                 * fatal-signal.c: Don't include string.h.
58233                 (at_fatal_signal): Use a copying loop instead of memcpy.
58234
58235         2005-12-04  Bruno Haible  <bruno@clisp.org>
58236
58237                 * csharpexec.c: Add support for 'clix' launcher (untested).
58238                 (execute_csharp_using_sscli): New function.
58239                 (execute_csharp_program): Call it.
58240
58241         2006-06-21  Bruno Haible  <bruno@clisp.org>
58242
58243                 Avoid warnings from recent versions of mcs.
58244                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
58245                 -o, -L, -r any more. Use options documented since mcs-1.0
58246                 instead. Similarly for -g.
58247
58248         2005-07-09  Bruno Haible  <bruno@clisp.org>
58249
58250                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
58251                 add a .dll suffix.
58252                 Reported by Mark Junker <mjscod@gmx.de>.
58253
58254         2006-06-17  Bruno Haible  <bruno@clisp.org>
58255
58256                 * config.charset: Update for NetBSD 3.0.
58257
58258         2006-05-17  Bruno Haible  <bruno@clisp.org>
58259
58260                 Cygwin portability.
58261                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
58262
58263         2006-05-16  Bruno Haible  <bruno@clisp.org>
58264
58265                 * localcharset.c [CYGWIN]: Include <windows.h>.
58266                 (get_charset_aliases): For Cygwin, return the same CPxxx
58267                 aliases list as under WIN32.
58268                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
58269                 the environment variables. Fall back to GetACP().
58270
58271         2006-04-05  Bruno Haible  <bruno@clisp.org>
58272
58273                 * config.charset: Update Juan Manuel Guerrero's address.
58274
58275         2005-02-12  Bruno Haible  <bruno@clisp.org>
58276
58277                 * allocsa.h: Add extern "C" for C++.
58278
58279         2005-02-10  Bruno Haible  <bruno@clisp.org>
58280
58281                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
58282                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
58283
58284         2006-07-22  Bruno Haible  <bruno@clisp.org>
58285
58286                 * gettext.h: Update to GNU gettext-0.15.
58287
58288 2006-07-22  Bruno Haible  <bruno@clisp.org>
58289
58290         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
58291         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
58292         lib-prefix.m4, longdouble.m4, ssize_t.m4.
58293
58294 2006-07-21  Eric Blake  <ebb9@byu.net>
58295
58296         * modules/stdlib-safer: New file.
58297         * MODULES.html.sh (File stream based Input/Output): Add
58298         stdlib-safer.
58299
58300 2006-07-21  Eric Blake  <ebb9@byu.net>
58301
58302         * lib/stdlib-safer.h: New file from coreutils, required by
58303         stdlib--.h.
58304
58305 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
58306
58307         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
58308
58309 2006-07-20  Bruno Haible  <bruno@clisp.org>
58310
58311         * gnulib-tool: Recognize new option --assume-autoconf.
58312         (autoconf_minversion): New variable.
58313         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
58314
58315 2006-07-20  Bruno Haible  <bruno@clisp.org>
58316
58317         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
58318
58319 2006-07-19  Derek R. Price  <derek@ximbiot.com>
58320
58321         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
58322         Reindent and repaginate.
58323
58324 2006-07-19  Derek Price  <derek@ximbiot.com>
58325
58326         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
58327         Correct grammar.
58328
58329 2006-07-17  Bruno Haible  <bruno@clisp.org>
58330
58331         * modules/list: New file.
58332         * modules/array-list: New file.
58333         * modules/carray-list, modules/carray-list-tests: New files.
58334         * modules/linked-list, modules/linked-list-tests: New files.
58335         * modules/avltree-list, modules/avltree-list-tests: New files.
58336         * modules/rbtree-list, modules/rbtree-list-tests: New files.
58337         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
58338         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
58339         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
58340         * modules/oset: New file.
58341         * modules/array-oset: New file.
58342         * modules/avltree-oset, modules/avltree-oset-tests: New files.
58343         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
58344         * tests/test-carray_list.c: New file.
58345         * tests/test-linked_list.c: New file.
58346         * tests/test-avltree_list.c: New file.
58347         * tests/test-rbtree_list.c: New file.
58348         * tests/test-linkedhash_list.c: New file.
58349         * tests/test-avltreehash_list.c: New file.
58350         * tests/test-rbtreehash_list.c: New file.
58351         * tests/test-avltree_oset.c: New file.
58352         * tests/test-rbtree_oset.c: New file.
58353         * MODULES.html.sh (Container data structures): New section.
58354
58355 2006-07-17  Bruno Haible  <bruno@clisp.org>
58356
58357         * m4/gl_list.m4: New file.
58358
58359 2006-07-17  Bruno Haible  <bruno@clisp.org>
58360
58361         * lib/gl_list.h: New file.
58362         * lib/gl_list.c: New file.
58363         * lib/gl_array_list.h: New file.
58364         * lib/gl_array_list.c: New file.
58365         * lib/gl_carray_list.h: New file.
58366         * lib/gl_carray_list.c: New file.
58367         * lib/gl_linked_list.h: New file.
58368         * lib/gl_linked_list.c: New file.
58369         * lib/gl_anylinked_list1.h: New file.
58370         * lib/gl_anylinked_list2.h: New file.
58371         * lib/gl_avltree_list.h: New file.
58372         * lib/gl_avltree_list.c: New file.
58373         * lib/gl_anyavltree_list1.h: New file.
58374         * lib/gl_anyavltree_list2.h: New file.
58375         * lib/gl_rbtree_list.h: New file.
58376         * lib/gl_rbtree_list.c: New file.
58377         * lib/gl_anyrbtree_list1.h: New file.
58378         * lib/gl_anyrbtree_list2.h: New file.
58379         * lib/gl_anytree_list1.h: New file.
58380         * lib/gl_anytree_list2.h: New file.
58381         * lib/gl_linkedhash_list.h: New file.
58382         * lib/gl_linkedhash_list.c: New file.
58383         * lib/gl_anyhash_list1.h: New file.
58384         * lib/gl_anyhash_list2.h: New file.
58385         * lib/gl_avltreehash_list.h: New file.
58386         * lib/gl_avltreehash_list.c: New file.
58387         * lib/gl_rbtreehash_list.h: New file.
58388         * lib/gl_rbtreehash_list.c: New file.
58389         * lib/gl_anytreehash_list1.h: New file.
58390         * lib/gl_anytreehash_list2.h: New file.
58391
58392         * lib/gl_oset.h: New file.
58393         * lib/gl_oset.c: New file.
58394         * lib/gl_array_oset.h: New file.
58395         * lib/gl_array_oset.c: New file.
58396         * lib/gl_avltree_oset.h: New file.
58397         * lib/gl_avltree_oset.c: New file.
58398         * lib/gl_rbtree_oset.h: New file.
58399         * lib/gl_rbtree_oset.c: New file.
58400         * lib/gl_anytree_oset.h: New file.
58401
58402 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
58403
58404         * m4/mkancesdirs.m4: New file.
58405         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
58406         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
58407         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
58408         it.
58409
58410 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
58411
58412         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
58413         * lib/mkancesdirs.h: New files.
58414         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
58415         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
58416         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
58417         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
58418         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
58419         callers changed.  Revamp internals significantly, by not
58420         attempting to create directories that are temporarily more
58421         permissive than the final results.  Do not attempt to use
58422         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
58423         This removes some race conditions, fixes some bugs, and simplifies
58424         things.  Use new dirchownmod function to do owner and mode changes.
58425         * lib/mkdir-p.h: Likewise.
58426         * lib/modechange.c (octal_to_mode): New function.
58427         (struct mode_change): New member mentioned.
58428         (make_node_op_equals): New arg mentioned.  All callers changed.
58429         (mode_compile): Keep track of which mode bits the user has explicitly
58430         mentioned.
58431         (mode_adjust): New arg DIR, so that we implement the X op correctly.
58432         New arg PMODE_BITS, to keep track of which mode bits the user
58433         mentioned; it treats S_ISUID and S_ISGID speciall.
58434         All callers changed.
58435         * lib/modechange.h: Likewise.
58436
58437 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
58438
58439         * MODULES.html.sh: Add mkancestors.
58440         * modules/mkancesdirs: New module.
58441         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
58442         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
58443         The chdir-safer and afs files are now orphans; I'll remove them
58444         unless someone speaks up.
58445         Add lib/dirchownmod.c, lib/dirchownmod.h.
58446         (Depends-on): Remove alloca, chown, save-cwd, dirname.
58447         Add lchown, mkancesdirs.
58448         (Maintainer): Add self.
58449
58450 2006-07-15  Karl Berry  <karl@gnu.org>
58451
58452         * gnulib-tool: help message wording/arrangement.
58453
58454 2006-07-14  Simon Josefsson  <jas@extundo.com>
58455
58456         * doc/gnulib.texi (Libtool and Windows): New section.
58457
58458 2006-07-12  Simon Josefsson  <jas@extundo.com>
58459
58460         * modules/gendocs (License): Fix license, approved by Karl.
58461
58462 2006-07-12  Eric Blake  <ebb9@byu.net>
58463
58464         * MODULES.html.sh: Add gendocs.
58465
58466 2006-07-11  Eric Blake  <ebb9@byu.net>
58467
58468         * modules/fdl: New module, to install doc/fdl.texi.
58469         * MODULES.html.sh: Add new section for documentation modules.
58470         * gnulib-tool: Avoid space-tab.
58471         (--doc-base): New option, to manage files from doc.
58472
58473 2006-07-11  Eric Blake  <ebb9@byu.net>
58474
58475         * m4/absolute-header.m4: Fix comments to match recent change.
58476
58477 2006-07-11  Eric Blake  <ebb9@byu.net>
58478
58479         * gnulib-tool: List --doc-base before --tests-base.
58480
58481 2006-07-11  Derek R. Price  <derek@ximbiot.com>
58482
58483         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
58484
58485 2006-07-11  Bruno Haible  <bruno@clisp.org>
58486
58487         * README: Mention where to put documentation.
58488
58489 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58490
58491         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
58492
58493 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
58494
58495         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
58496         to stdint.m4.
58497
58498 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
58499
58500         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
58501         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
58502         "no/such/file/stdint.h" when there is no such file, so that
58503         the resulting C code can be parsed by dodgy compilers.
58504         Problems reported by Bob Proulx.
58505
58506 2006-07-10  Derek R. Price  <derek@ximbiot.com>
58507
58508         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
58509         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
58510         macros into the GNU _D_EXACT_NAMLEN.
58511         * lib/savedir.c:  Likewise.
58512         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
58513
58514 2006-07-10  Derek R. Price  <derek@ximbiot.com>
58515         and Paul Eggert  <eggert@cs.ucla.edu>
58516
58517         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
58518         * m4/savedir.m4:
58519         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
58520         macros into the GNU _D_EXACT_NAMLEN.
58521
58522 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
58523
58524         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
58525         around the absolute name, to work around a problem with the HP-UX
58526         11.23 native C compiler, reported by Bob Proulx.
58527
58528 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
58529
58530         * doc/maintain.texi, make-stds.texi: Sync from
58531         <http://savannah.gnu.org/projects/gnustandards>.
58532
58533 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
58534
58535         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
58536
58537 2006-07-09  Jim Meyering  <jim@meyering.net>
58538
58539         * m4/glob.m4: Remove a doubled word in a comment.
58540
58541 2006-07-09  Jim Meyering  <jim@meyering.net>
58542
58543         * lib/argp-pv.c: Remove a doubled word in a comment.
58544         * lib/check-version.c (check_version): Likewise.
58545         * lib/javacomp.c (compile_java_class): Likewise.
58546
58547 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
58548
58549         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
58550         for the benefit of people using Autoconf 2.60.  If you want to
58551         support older Autoconf versions you can copy m4/onceonly_2_57.m4
58552         (or m4/onceonly.m4, if pre-2.57) manually.
58553
58554 2006-07-08  Jim Meyering  <jim@meyering.net>
58555
58556         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
58557         comment.
58558         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
58559         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
58560         comment.
58561
58562 2006-07-08  Jim Meyering  <jim@meyering.net>
58563
58564         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
58565
58566 2006-07-07  Simon Josefsson  <jas@extundo.com>
58567
58568         * tests/test-crc.c: Change expected crc value, the test vector
58569         were probably computed using the old broken crc.c?
58570
58571 2006-07-06  Simon Josefsson  <jas@extundo.com>
58572
58573         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
58574         now the canonical place for the M4 file).
58575
58576         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
58577         from the sys_socket dependency now.
58578
58579         * modules/inet_pton (Files): Ditto.
58580
58581         * modules/inet_ntop (Files): Ditto.
58582
58583 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
58584
58585         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
58586         not gl_PREREQ_GETUSERSHELL.
58587
58588 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58589
58590         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
58591         with only one argument, for Autoconf 2.60.
58592         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
58593         expand to nothing, so add a shell command to avoid syntax error.
58594         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
58595
58596 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58597
58598         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
58599
58600 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
58601
58602         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
58603         no longer needed.  Check for isblank decl.
58604         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
58605         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
58606         of existence.
58607
58608 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
58609
58610         * lib/getloadavg.c: Use __VMS, not VMS.
58611         * lib/getopt.c: Likewise.
58612         * lib/getpagesize.h: Likewise.
58613         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
58614         and probably does not work.
58615
58616 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
58617
58618         * lib/.cppi-disable: Add wcwidth.
58619         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
58620         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
58621         (ISGRAPH): Remove.  All uses changed to isgraph.
58622         (FOLD) [!defined _LIBC]: Remove special case.
58623         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
58624         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
58625         HAVE_ISBLANK.
58626         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
58627         case.
58628
58629 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
58630
58631         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
58632         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
58633         brackets.  Other minor changes to suppress some compiler
58634         warnings.
58635
58636 2006-07-06  Derek R. Price  <derek@ximbiot.com>
58637         and Paul Eggert  <eggert@cs.ucla.edu>
58638
58639         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
58640         of invoking obsolescent AC_HEADER_DIRENT macro.
58641         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
58642         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
58643         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
58644         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
58645         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
58646         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
58647         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
58648         * m4/readdir.m4: Remove; no longer needed.
58649
58650 2006-07-06  Derek R. Price  <derek@ximbiot.com>
58651         and Paul Eggert  <eggert@cs.ucla.edu>
58652
58653         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
58654         Don't worry about this obsolete case any more.
58655         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
58656         directories.
58657         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
58658         worry about this obsolete case any more.
58659         * lib/fts.c: Likewise.
58660         * lib/getcwd.c: Likewise.
58661         * lib/glob.h: Likewise.
58662         * lib/savedir.c: Likewise.
58663
58664 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
58665
58666         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
58667         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
58668         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
58669         needed.
58670         All uses removed.
58671         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
58672         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
58673         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
58674         needed.
58675         * m4/getdate.m4 (gl_GETDATE): Likewise.
58676         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
58677         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
58678         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
58679         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
58680         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
58681         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
58682         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
58683         needed.
58684
58685 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
58686
58687         * lib/memcasecmp.c: Include <limits.h>.
58688         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
58689         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
58690         Don't assume isdigit succeeds only on '0' through '9'.
58691
58692 2006-07-05  Eric Blake  <ebb9@byu.net>
58693
58694         * modules/getaddrinfo (Depends-on): Add snprintf.
58695
58696 2006-07-05  Eric Blake  <ebb9@byu.net>
58697
58698         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
58699         to avoid 'header present but could not be compiled' on cygwin.
58700
58701 2006-07-05  Eric Blake  <ebb9@byu.net>
58702
58703         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
58704         missing from netdb.h.
58705         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
58706
58707 2006-07-05  Derek R. Price  <derek@ximbiot.com>
58708
58709         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
58710         no longer needed.
58711         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
58712         * m4/getdate.m4 (gl_GETDATE): Likewise.
58713         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
58714         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
58715         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
58716         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
58717         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
58718
58719 2006-07-05  Derek R. Price  <derek@ximbiot.com>
58720
58721         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
58722         All uses of is_space replaced by isspace.
58723         * lib/exit.h: Don't talk about STDC_HEADERS.
58724         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
58725         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
58726         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
58727         replaced by isprint etc.
58728         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
58729         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
58730         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
58731         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
58732         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
58733         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
58734
58735 2006-07-05  Bruno Haible  <bruno@clisp.org>
58736
58737         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
58738         the function exists, before testing against AIX.
58739         Reported by Martin Lambers <marlam@marlam.de>.
58740
58741 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
58742
58743         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
58744         From Mark D. Baushke.
58745
58746 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
58747
58748         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
58749         to the absolute name, not just one, to bypass Sun C 5.8's
58750         "warning: #include of /usr/include/... may be non-portable".
58751
58752 2006-07-04  Eric Blake  <ebb9@byu.net>
58753
58754         * modules/dirname-tests: New test module.
58755         * tests/test-dirname.c: New file, replacing dirname.c
58756         TEST_DIRNAME section that was recently deleted.
58757
58758 2006-07-04  Bruno Haible  <bruno@clisp.org>
58759
58760         Assume ANSI C header files and <ctype.h> functions.
58761         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
58762         (mbsnwidth): Use isprint, iscntrl instead.
58763
58764 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
58765
58766         Merge from coreutils.
58767         * MODULES.html.sh: Add xstrtold.
58768         * modules/xstrtold: New file.
58769         * modules/cycle-check (Files): Add lib/same-inode.h.
58770         * modules/dirname (Files): Add m4/double-slash-root.m4.
58771         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
58772         * modules/mkdir-p (Files): Add lib/same-inode.h.
58773         * modules/same (Files): Add lib/same-inode.h.
58774
58775 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
58776
58777         * m4/absolute-header.m4: Renamed from full-header-path.m4.
58778         This is to keep the terminology clean; POSIX talks about
58779         "absolute pathnames", not "full pathnames", but the GNU
58780         Coding Standards say to use "path" for something else;
58781         so use "absolute" to keep both sides happy.
58782         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
58783         Set gl_absolute_header, not gl_full_header_path.
58784         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
58785         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
58786         All uses changed.
58787
58788         Merge from coreutils.
58789
58790         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
58791
58792         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
58793         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
58794         want to require the building of c-strtod.o.
58795         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
58796         needs -lm directly.
58797         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
58798
58799         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
58800
58801         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
58802         --as-needed option if available.  Problem reported by Albert Chin in
58803         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
58804         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
58805         cc merely issues a bunch of annoying warnings for --as-needed
58806         (this problem was reported by Bob Proulx).  Also, try linking with
58807         -lm to detect a bug in binutils 2.16 (this problem was reported
58808         by Ralf Wildenhues).
58809
58810         2006-06-18  Jim Meyering  <jim@meyering.net>
58811
58812         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
58813         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
58814         macro.
58815         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
58816         also check for glibc-2.4's abort-inducing bug.
58817
58818         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
58819         Low-probability clean-up should be to use rmdir to get rid of
58820         the just-created directory, not unlink.
58821
58822         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
58823         configure fail, and request a bug report to inform us about it.
58824         Add a comment that, barring reports to the contrary, in 2007 we'll
58825         assume ftruncate is universally available.
58826
58827         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
58828
58829         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
58830
58831         2006-03-12  Jim Meyering  <jim@meyering.net>
58832
58833         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
58834         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
58835         * m4/same.m4 (gl_SAME): Likewise.
58836         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
58837
58838         2006-03-11  Eric Blake  <ebb9@byu.net>
58839
58840         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
58841         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
58842         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
58843         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
58844
58845 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
58846
58847         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
58848         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
58849         reported by Mark D. Baushke, one in
58850         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
58851
58852         Merge from coreutils.
58853
58854         * lib/.cppi-disable: Add stdint_.h.
58855         * lib/.cvsignore: Add stdint.h.
58856
58857         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
58858
58859         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
58860         both double and long double versions.
58861         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
58862         * lib/xstrtold.c: New file.
58863         * lib/xstrtod.h (xstrtold): New decl.
58864
58865         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
58866
58867         * lib/filemode.c (setst): Remove.
58868         (strmode): Rewrite to avoid setst.  This makes the code shorter,
58869         (arguably) clearer, and the generated code is a bit smaller on my
58870         Debian GNU/Linux stable x86 host.
58871
58872         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
58873
58874         * lib/filemode.c: Include "filemode.h" first, to test the interface.
58875         Assume that filemode.h includes sys/types.h and sys/stat.h.
58876         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
58877         (ftypelet): Reorder to put common cases first, for efficiency.
58878         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
58879         to do 'M'.
58880         (strmode): Renamed from mode_string, and now stores 12 bytes instead
58881         of 10, for compatibility with FreeBSD.  All callers changed.
58882         (filemodestring): Now stores 12 bytes instead of 10, and sets file
58883         types that can't be deduced solely from st_mode.  First arg is now a
58884         const pointer.
58885         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
58886         (strmode): Renamed from mode_string.
58887         (filemodestring): New decl.
58888         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
58889         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
58890         needed.
58891         (S_ISPORT, S_ISWHT): New macros, if not already defined.
58892
58893         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
58894
58895         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
58896         fsusage.h now does that.  Include fsusage.h first, to test interface.
58897         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
58898         at most one method (the old code could have generated decls that
58899         didn't conform to C89, not that this was ever exercised).
58900         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
58901
58902         2006-03-19  Jim Meyering  <jim@meyering.net>
58903
58904         Work even in a chroot where d_ino values for entries in "/"
58905         don't match the stat.st_ino values for the same names.
58906         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
58907         number, iterate through all entries again, using lstat instead.
58908         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
58909         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
58910
58911         * lib/getcwd.c (__getcwd): Clarify a comment.
58912         Use memcpy in place of a call to strcpy.
58913
58914         2006-03-12  Jim Meyering  <jim@meyering.net>
58915
58916         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
58917         matches that of the current directory (which we're about to chdir ".."
58918         out of), then save the dev-ino of the parent, instead.
58919
58920         * lib/same-inode.h (SAME_INODE): New file/macro.
58921         * lib/chdir-safer.c (SAME_INODE): Remove definition.
58922         Include "same-inode.h", instead.
58923         * lib/same.c: Likewise.
58924         * lib/cycle-check.h: Include "same-inode.h".
58925         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
58926         * lib/cycle-check.c (SAME_INODE): Remove definition.
58927         * lib/root-dev-ino.h: Include "same-inode.h".
58928
58929         2006-03-11  Eric Blake  <ebb9@byu.net>
58930
58931         * lib/same.c (same_name): s/base_name/last_component/
58932         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
58933         * lib/filenamecat.c (file_name_concat): Likewise.
58934
58935         2006-03-11  Eric Blake  <ebb9@byu.net>,
58936                     Paul Eggert  <eggert@cs.ucla.edu>
58937
58938         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
58939         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
58940         drive prefix.
58941         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
58942         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
58943         (last_component): New method.
58944         * lib/dirname.c (dir_len): Determine when drive letters need a
58945         subsequent slash.  Preserve // when it is special.
58946         (dir_name): Don't append dot when drive letter is absolute.
58947         [TEST_DIRNAME]: Move into a full-blown gnulib test.
58948         * lib/basename.c (base_name): New semantics - malloc the result.
58949         Preserve // when it is special.  Preserve relative files that look
58950         like drive letters.
58951         (base_len): Preserve // when it is special.
58952         (last_component): New method, similar to old base_name semantics.
58953         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
58954         base_name.  Strip redundant slashes from ///.
58955
58956 2006-07-03  Jim Meyering  <jim@meyering.net>
58957
58958         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
58959         macro is used before the first cycle_check call.
58960
58961 2006-07-03  Eric Blake  <ebb9@byu.net>
58962
58963         * modules/dirname (Depends-on): Add xstrndup.
58964
58965 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
58966
58967         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
58968         test cases, so that config.log is a bit easier to follow.
58969
58970 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
58971
58972         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
58973         both are 64 bits, since this seems to be the tradition, and this
58974         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
58975         we ever run into a host that prefers long long to long in this
58976         case, we'll need another configure-time test.  Problem reported by
58977         Jim Meyering.
58978
58979 2006-07-02  Eric Blake  <ebb9@byu.net>
58980
58981         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
58982
58983 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
58984
58985         * modules/inttypes (Depends-on): No longer depends on stdint.
58986         * modules/stdint (Description): Say more about assumptions.
58987         Say that the fast types might differ.  Say macros are used.
58988         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
58989         (Makefile.am): Revise list of substituted symbols to match
58990         new stdint.m4.
58991         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
58992         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
58993         * tests/test-stdint.c (verify_same_types)
58994         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
58995         the code conforms to C99/C89.
58996         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
58997         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
58998
58999 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
59000
59001         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
59002         but fix a bug, by requiring at least 64 bits.
59003         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
59004         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
59005         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
59006         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
59007
59008         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
59009         changes.  Make 2.59 a prerequisite.  Check and substitute for
59010         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
59011         inttypes.h.  Do not use special include files; just use the
59012         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
59013         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
59014         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
59015         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
59016         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
59017         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
59018         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
59019         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
59020         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
59021         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
59022         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
59023         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
59024         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
59025         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
59026         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
59027         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
59028         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
59029         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
59030         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
59031         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
59032         WINT_MAX.  Check for C99 conformance more strictly, by detecting
59033         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
59034         not check for things that C99 does not require, e.g., int8_t.  If
59035         a test isn't needed unless <stdint.h> isn't working, and is
59036         unlikely to be needed for any other reason, then don't do it
59037         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
59038         size_t, since we assume C89 freestanding at least.  Do not check
59039         for sig_atomic_t, wchar_t, or wint_t, since the code now does
59040         the right thing even if the types are not defined.  Instead use:
59041         (gl_STDINT_TYPE_PROPERTIES): New macro.
59042         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
59043         testing whether <sys/types.h> clashes, as Autoconf does this for
59044         us now.  All uses removed.
59045         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
59046         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
59047         (gl_CHECK_TYPE_SAME):
59048         Remove; no longer needed.
59049         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
59050         exists, since we'll return 0 anyway in that case.
59051         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
59052
59053 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
59054
59055         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
59056         possible collision with system files.
59057         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
59058         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
59059         WCHAR_MIN and WCHAR_MAX in this case.
59060         (<stddef.h>): Do not include; no longer needed.
59061         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
59062         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
59063         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
59064         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
59065         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
59066         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
59067         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
59068         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
59069         !defined(__c99))]: Include in this case too, since it's harmless
59070         now.
59071         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
59072         dangerous to do so.
59073         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
59074         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
59075         (_STDINT_MIN, _STDINT_MAX): New macros.
59076         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
59077         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
59078         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
59079         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
59080         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
59081         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
59082         macros, not typedefs; this simplifies things quite a bit.
59083         Use long int for all types narrower than int64_t.
59084         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
59085         Define in terms of long long int or int64_t or long int,
59086         not int64_t or int32_t.  This saves some compile-time testing.
59087         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
59088         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
59089         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
59090         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
59091         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
59092         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
59093         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
59094         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
59095         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
59096         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
59097         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
59098         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
59099         undef any previous version and define our own version, for
59100         simplicity and consistency with the new macros for types.
59101         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
59102         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
59103         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
59104         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
59105         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
59106         @WINT_T_SUFFIX@ to keep things simple here.
59107         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
59108         Simplify by assuming typical 8/16/32/64 host, since we're
59109         already doing that elsewhere anyway.
59110         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
59111         and assume long long int is 64 bits if available.  This
59112         speeds up 'configure'.
59113
59114 2006-07-01  Eric Blake  <ebb9@byu.net>
59115
59116         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
59117         Reported by Andreas Buening.
59118
59119 2006-07-01  Eric Blake  <ebb9@byu.net>
59120
59121         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
59122
59123 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
59124
59125         * lib/getaddrinfo.c: fixed typo
59126
59127 2006-06-29  Jim Meyering  <jim@meyering.net>
59128
59129         * modules/strftime (Maintainer): Add my name, since with the
59130         FPRINTFTIME changes strftime.c has forked from glibc.
59131
59132 2006-06-29  Eric Blake  <ebb9@byu.net>
59133
59134         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
59135
59136 2006-06-29  Eric Blake  <ebb9@byu.net>
59137
59138         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
59139
59140 2006-06-29  Eric Blake  <ebb9@byu.net>
59141
59142         * lib/stat_.h: New file.
59143
59144 2006-06-29  Eric Blake  <ebb9@byu.net>
59145
59146         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
59147         unused static function.
59148
59149 2006-06-29  Eric Blake  <ebb9@byu.net>
59150
59151         * doc/functions.texi (Function Portability): Document missing lstat
59152         on mingw.
59153
59154 2006-06-29  Eric Blake  <ebb9@byu.net>
59155
59156         * MODULES.html.sh: Add sys_stat.
59157         * modules/sys_stat: New module.
59158         * modules/mkstemp (Depends-on): Add sys_stat.
59159
59160 2006-06-29  Derek R. Price  <derek@ximbiot.com>
59161
59162         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
59163
59164 2006-06-29  Derek R. Price  <derek@ximbiot.com>
59165
59166         * m4/c-bs-a.m4: Removed.
59167
59168 2006-06-29  Derek R. Price  <derek@ximbiot.com>
59169
59170         * lib/strftime.c: Assume strftime() exists.
59171
59172 2006-06-29  Derek Price  <derek@ximbiot.com>
59173
59174         * modules/c-bs-a: Removed - \a is C89.
59175         * MODULES.html.sh: Remove c-bs-a.
59176
59177 2006-06-29  Bruno Haible  <bruno@clisp.org>
59178
59179         * modules/wcwidth (License): Change to LGPL.
59180
59181 2006-06-28  Simon Josefsson  <jas@extundo.com>
59182
59183         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
59184         on _WIN32.
59185
59186         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
59187         getnameinfo.
59188
59189 2006-06-28  Simon Josefsson  <jas@extundo.com>
59190
59191         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
59192
59193 2006-06-28  Simon Josefsson  <jas@extundo.com>
59194
59195         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
59196         functions there.  It will succeed on Windows XP, but on Windows
59197         2000 and (presumably) earlier, it will fail, and use the internal
59198         re-implementation.
59199         (use_win32_p): New function.
59200         (getaddrinfo): Use strtoul on servname, to support numeric ports.
59201         Support AI_NUMERICSERV to disable getservbyname.
59202         (getnameinfo): New function, only supports
59203         NI_NUMERICHOST|NI_NUMERICSERV for now.
59204
59205         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
59206         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
59207         getnameinfo.
59208
59209 2006-06-28  Eric Blake  <ebb9@byu.net>
59210
59211         * modules/wcwidth: New file.
59212         * modules/mbchar (Depends-on): Add wcwidth.
59213         * modules/mbswidth (Depends-on): Add wcwidth.
59214         * MODULES.html.sh: Add wcwidth.
59215
59216 2006-06-28  Eric Blake  <ebb9@byu.net>
59217
59218         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
59219         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
59220
59221 2006-06-28  Eric Blake  <ebb9@byu.net>
59222
59223         * lib/xvasprintf.h: Fix comments.
59224
59225 2006-06-28  Eric Blake  <ebb9@byu.net>
59226
59227         * lib/mbchar.h (wcwidth): Include wcwidth.h.
59228         * lib/mbswidth.c (wcwidth): Move from here...
59229         * lib/wcwidth.h: ...to this new file.
59230
59231 2006-06-28  Derek R. Price  <derek@ximbiot.com>
59232
59233         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
59234
59235         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
59236         it's obsolete.
59237         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
59238
59239 2006-06-28  Derek R. Price  <derek@ximbiot.com>
59240
59241         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
59242         Autoconf 2.60 says this stuff was obsolete.
59243
59244 2006-06-28  Bruno Haible  <bruno@clisp.org>
59245
59246         * modules/wcwidth (Files): Add m4/wchar_t.m4.
59247
59248 2006-06-28  Bruno Haible  <bruno@clisp.org>
59249
59250         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
59251         gt_TYPE_WCHAR_T.
59252
59253 2006-06-28  Bruno Haible  <bruno@clisp.org>
59254
59255         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
59256         declaration for wcwidth.
59257         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
59258
59259 2006-06-28  Bruno Haible  <bruno@clisp.org>
59260
59261         * lib/mkdtemp.c [MINGW]: Include <io.h>.
59262         (mkdir): Define using _mkdir.
59263
59264 2006-06-28  Bruno Haible  <bruno@clisp.org>
59265
59266         * lib/getaddrinfo.h: Fix POSIX URL.
59267         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
59268         _WIN32.
59269         (use_win32_p): Make static.
59270         (getaddrinfo): Reject service name if it is empty or does not consist
59271         solely of decimal digits, or if its value is > 65535.
59272         (getnameinfo): Remove useless casts.
59273
59274 2006-06-27  Simon Josefsson  <jas@extundo.com>
59275
59276         * modules/sys_select: New file, suggested by Bruno Haible, Paul
59277         Eggert and Martin Lambers.
59278
59279 2006-06-27  Simon Josefsson  <jas@extundo.com>
59280
59281         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
59282         Eggert and Martin Lambers.
59283
59284 2006-06-27  Bruno Haible  <bruno@clisp.org>
59285
59286         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
59287         result to 0, not to empty.
59288         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
59289
59290 2006-06-27  Bruno Haible  <bruno@clisp.org>
59291
59292         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
59293
59294 2006-06-26  Simon Josefsson  <jas@extundo.com>
59295
59296         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
59297         present.
59298
59299 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
59300
59301         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
59302         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
59303         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
59304
59305 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
59306
59307         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
59308
59309 2006-06-26  Bruno Haible  <bruno@clisp.org>
59310
59311         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
59312
59313 2006-06-26  Bruno Haible  <bruno@clisp.org>
59314
59315         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
59316
59317 2006-06-26  Bruno Haible  <bruno@clisp.org>
59318
59319         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
59320         SGI C compiler in pre-C99 mode.
59321         Suggested by Mark D. Baushke and Larry Jones.
59322
59323 2006-06-26  Bruno Haible  <bruno@clisp.org>
59324
59325         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
59326         WCHAR_MAX.
59327         Reported by Mark D. Baushke and Larry Jones.
59328
59329 2006-06-26  Bruno Haible  <bruno@clisp.org>
59330
59331         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
59332         in pre-C99 mode.
59333         Suggested by Mark D. Baushke and Larry Jones.
59334
59335 2006-06-23  Simon Josefsson  <jas@extundo.com>
59336             Bruno Haible  <bruno@clisp.org>
59337
59338         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
59339         Emit mostlyclean-local rule.
59340         (func_emit_tests_Makefile_am): Likewise.
59341         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
59342
59343 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
59344
59345         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
59346
59347 2006-06-23  Bruno Haible  <bruno@clisp.org>
59348
59349         * tests/test-stdint.c: Update to match ISO C 99 Technical
59350         Corrigendum 1.
59351
59352 2006-06-23  Bruno Haible  <bruno@clisp.org>
59353
59354         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
59355
59356 2006-06-23  Bruno Haible  <bruno@clisp.org>
59357
59358         * lib/stdint_.h: Treat IRIX like OpenBSD.
59359
59360 2006-06-23  Bruno Haible  <bruno@clisp.org>
59361
59362         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
59363         ISO C 99 Technical Corrigendum 1.
59364
59365 2006-06-22  Simon Josefsson  <jas@extundo.com>
59366
59367         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
59368         MinGW.
59369
59370 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
59371
59372         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
59373         needed.  Some compiler complained about some of them.  Problem reported
59374         by Larry Jones in
59375         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
59376
59377 2006-06-21  Simon Josefsson  <jas@extundo.com>
59378
59379         * tests/test-getaddrinfo.c: New file.
59380
59381         * modules/getaddrinfo-tests: New file.
59382
59383         * MODULES.html.sh: Add inet_pton.
59384
59385         * modules/inet_pton: New file.
59386
59387 2006-06-21  Simon Josefsson  <jas@extundo.com>
59388
59389         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
59390         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
59391         of using the (limited) gnulib implementation on Windows XP.
59392
59393         * m4/inet_pton.m4: New file.
59394
59395 2006-06-21  Simon Josefsson  <jas@extundo.com>
59396
59397         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
59398         variable.
59399
59400         * lib/socket_.h: Don't define WINVER.
59401
59402         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
59403         slightly modified to work in gnulib.
59404
59405 2006-06-21  Simon Josefsson  <jas@extundo.com>
59406
59407         * doc/gnulib.texi (Windows sockets): Add.
59408
59409 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
59410
59411         * lib/read-file.c (fread_file): Start with buffer allocation of
59412         0 bytes rather than 1 byte; this simplifies the code.
59413         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
59414         code to free buffer and save/restore errno.
59415         (internal_read_file): Remove unused local.
59416
59417 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
59418
59419         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
59420         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
59421         Problem reported by Denis Excoffier in
59422         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
59423
59424 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59425
59426         * modules/sys_socket, modules/socklen: Include sys/types since
59427         FreeBSD 4.x's sys/socket.h needs it.
59428
59429 2006-06-19  Simon Josefsson  <jas@extundo.com>
59430
59431         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
59432
59433 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
59434
59435         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
59436
59437 2006-06-19  Bruno Haible  <bruno@clisp.org>
59438
59439         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
59440         and FULL_PATH_INTTYPES_H in angle brackets.
59441         Reported by Mark D. Baushke <mdb@gnu.org>.
59442
59443 2006-06-17  Eric Blake  <ebb9@byu.net>
59444
59445         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
59446         errno.
59447
59448 2006-06-17  Bruno Haible  <bruno@clisp.org>
59449
59450         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
59451         <sys/inttypes.h>.
59452
59453 2006-06-17  Bruno Haible  <bruno@clisp.org>
59454
59455         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
59456         whether errno is declared. Assume <errno.h> declares errno.
59457
59458 2006-06-17  Bruno Haible  <bruno@clisp.org>
59459
59460         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
59461
59462 2006-06-17  Bruno Haible  <bruno@clisp.org>
59463
59464         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
59465         problem on Solaris 2.5.1.
59466
59467 2006-06-16  Eric Blake  <ebb9@byu.net>
59468
59469         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
59470         * lib/unicodeio.c [!defined errno]: Likewise.
59471         * lib/strtol.c [!defined errno]: Likewise.
59472         * lib/strtod.c [!defined errno]: Likewise.
59473
59474 2006-06-15  Eric Blake  <ebb9@byu.net>
59475
59476         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
59477
59478 2006-06-15  Eric Blake  <ebb9@byu.net>
59479
59480         * config/srclist.txt (ssize_t.m4): Lose sync.
59481
59482 2006-06-15  Bruno Haible  <bruno@clisp.org>
59483
59484         * modules/stdint (Files): Include m4/full-header-path.m4,
59485         m4/size_max.m4, m4/wchar_t.m4.
59486         (Makefile.am): Many more substitutions.
59487         * modules/stdint-tests: New file.
59488         * tests/test-stdint.c: New file.
59489
59490 2006-06-15  Bruno Haible  <bruno@clisp.org>
59491
59492         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
59493         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
59494         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
59495         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
59496         gl_CHECK_TYPE_SAME): New macros.
59497
59498 2006-06-15  Bruno Haible  <bruno@clisp.org>
59499
59500         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
59501
59502 2006-06-15  Bruno Haible  <bruno@clisp.org>
59503
59504         * lib/stdint_.h: Rewritten to be fully auto-configured.
59505         Fixes bug on HP-UX/IA64.
59506
59507 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
59508
59509         * lib/getdate.y (__attribute__): Don't define if already defined.
59510         Problem reported by Larry Jones.
59511         * lib/utimens.c (__attribute__): Likewise.
59512
59513 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
59514
59515         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
59516         reported by Andreas Schwab.
59517
59518 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59519             Bruno Haible  <bruno@clisp.org>
59520
59521         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
59522         check for the declaration of strnlen and a run test that exposes the
59523         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
59524         rpl_strndup.
59525
59526 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59527             Bruno Haible  <bruno@clisp.org>
59528
59529         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
59530
59531 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59532
59533         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
59534         compile test, for Tru64 4.0D.
59535
59536 2006-05-28  Karl Berry  <karl@gnu.org>
59537
59538         * config/srclist.txt (printf-args.c): lose sync.
59539
59540 2006-05-26  Martin Lambers  <marlam@marlam.de>
59541
59542         * lib/getpass.c: Updates the test for the native W32 API, and adds
59543         missing includes, thus fixing compilation warnings.
59544
59545 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
59546
59547         * lib/exclude.c (exclude_fnmatch): New function.
59548         (excluded_file_name): Call exclude_fnmatch.
59549         * lib/exclude.h (excluded_file_name): New prototype
59550
59551 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
59552
59553         * lib/tempname.c (small_open, large_open): New macros.
59554         (__open, __open64) [!_LIBC]: Remove.
59555         (__gen_tempname): Use small_open and large_open instead of __open
59556         and __open64.  This fixes a portability bug on HP-UX 11.11i
59557         reported by Simon Wing-Tang in
59558         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
59559
59560 2006-05-24  Bruno Haible  <bruno@clisp.org>
59561
59562         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
59563         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
59564         Reported by Thorsten Maerz <torte@netztorte.de> via
59565         Aaron Stone <aaron@serendipity.cx>.
59566
59567 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
59568
59569         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
59570         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
59571         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
59572         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
59573         not really conditional on the cache.
59574         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
59575
59576 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
59577
59578         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
59579         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
59580         (my_usleep): Don't mishandle maximum value.
59581
59582 2006-05-19  Jim Meyering  <jim@meyering.net>
59583
59584         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
59585
59586 2006-05-17  Bruno Haible  <bruno@clisp.org>
59587
59588         Cygwin portability.
59589         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
59590
59591 2006-05-17  Bruno Haible  <bruno@clisp.org>
59592
59593         * lib/stdint_.h: Fix recognition of Cygwin.
59594
59595 2006-05-15  Bruno Haible  <bruno@clisp.org>
59596
59597         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
59598         on libtool patch by Ralf Wildenhues.
59599
59600 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
59601
59602         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
59603         test for C99 conformance; (bool) 0.5 is an integer constant
59604         expression, but (bool) -0.5 is not.  Problem reported by Fedor
59605         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
59606
59607 2006-05-11  Simon Josefsson  <jas@extundo.com>
59608
59609         * m4/xvasprintf.m4: Fix obvious typo.
59610
59611 2006-05-11  Jim Meyering  <jim@meyering.net>
59612
59613         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
59614         James Lemley.
59615
59616 2006-05-10  Simon Josefsson  <jas@extundo.com>
59617
59618         * lib/md4.c: Typo fix, update copyright years.
59619         (K1, K2): Don't use L because it turn computations into 64-bit on
59620         64-bit platforms.
59621
59622 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
59623
59624         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
59625         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
59626         unwanted sign propagation, e.g., on hosts with 64-bit int.
59627         There still are some problems with reeelly weird theoretical hosts
59628         (e.g., 33-bit int) but it's not worth worrying about now.
59629         * lib/sha1.c (rol): Likewise.
59630         (K1, K2, K3, K4): Remove unnecessary L suffix.
59631
59632 2006-05-10  Bruno Haible  <bruno@clisp.org>
59633
59634         * lib/des.c: Cast to avoid warnings.
59635
59636 2006-05-09  Bruno Haible  <bruno@clisp.org>
59637
59638         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
59639         (Depends-on): Depend also on xsize, stdarg.
59640         (configure.ac): Add gl_XVASPRINTF.
59641
59642 2006-05-09  Bruno Haible  <bruno@clisp.org>
59643
59644         * m4/xvasprintf.m4: New file.
59645
59646 2006-05-09  Bruno Haible  <bruno@clisp.org>
59647
59648         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
59649         (EOVERFLOW): Define fallback value.
59650         (xstrcat): New function.
59651         (xvasprintf): Recognize the special case of a string concatenation.
59652
59653 2006-05-08  Eric Blake  <ebb9@byu.net>
59654
59655         * gnulib-tool (func_version): Base copyright year on CVS date.
59656         (func_emit_copyright_notice): New function.
59657         (func_emit_lib_Makefile_am): Use it.
59658         (func_emit_tests_Makefile_am): Likewise.
59659         (func_import): Likewise.
59660
59661 2006-05-08  Bruno Haible  <bruno@clisp.org>
59662
59663         * modules/stdarg: New file.
59664         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
59665
59666 2006-05-08  Bruno Haible  <bruno@clisp.org>
59667
59668         * m4/stdarg.m4: New file, from GNU gettext.
59669
59670 2006-05-08  Bruno Haible  <bruno@clisp.org>
59671
59672         * config/srclist.txt (build-aux/config.rpath): different from latest
59673         release.
59674
59675 2006-05-08  Bruno Haible  <bruno@clisp.org>
59676
59677         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
59678
59679 2006-05-05  Jim Meyering  <jim@meyering.net>
59680
59681         * m4/warning.m4: New file, derived from bison's file by the same name.
59682
59683 2006-05-03  Bruno Haible  <bruno@clisp.org>
59684
59685         * lib/stdint_.h: Shorter URL.
59686         * lib/inttypes.h: Likewise.
59687
59688 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
59689
59690         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
59691
59692 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
59693
59694         * lib/verify.h: Document the internals better.  Most of this change
59695         was written by Bruno Haible.
59696
59697 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
59698
59699         * doc/verify.texi: New file, partly based on a proposal by
59700         Bruno Haible.
59701
59702 2006-05-02  Bruno Haible  <bruno@clisp.org>
59703
59704         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
59705         test from here...
59706         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
59707
59708 2006-04-29  Bruno Haible  <bruno@clisp.org>
59709
59710         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
59711         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
59712
59713 2006-04-29  Bruno Haible  <bruno@clisp.org>
59714
59715         * gnulib-tool: Make --update option actually work.
59716
59717 2006-04-29  Bruno Haible  <bruno@clisp.org>
59718
59719         * doc/gcd.texi: New file.
59720         * doc/gnulib.texi: Include it.
59721
59722 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
59723
59724         * lib/getdate.y (get_date): When adding relative date, start with the
59725         initial time, not with the result of the first mktime call.
59726
59727 2006-04-25  Bruno Haible  <bruno@clisp.org>
59728
59729         * gnulib-tool (func_import): Output the include directives in three
59730         blocks, sorted separately.
59731         Reported by Ben Pfaff <blp@cs.stanford.edu>.
59732
59733 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
59734
59735         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
59736         to define main with arguments, for C++.  Reported by Eric Blake.
59737         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
59738         Prefer 'int main ()' to 'int main (void)', for C++.
59739         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
59740         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
59741         for 'main', for C99 and C++.
59742
59743 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
59744
59745         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
59746         Don't assume that exit status -1 is valid.
59747         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
59748         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
59749         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
59750         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
59751         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
59752         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
59753         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
59754         functions can be used without declaring them, or that you can
59755         exit with status -1.
59756         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
59757
59758 2006-04-24  Karl Berry  <karl@gnu.org>
59759
59760         * config/srclist.txt (longdouble.m4): sync lost.
59761
59762 2006-04-24  Eric Blake  <ebb9@byu.net>
59763
59764         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
59765
59766 2006-04-24  Bruno Haible  <bruno@clisp.org>
59767
59768         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
59769         poll() implementation in AIX.
59770         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59771
59772 2006-04-24  Bruno Haible  <bruno@clisp.org>
59773
59774         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
59775         assigned exactly once.
59776
59777 2006-04-23  Claudio Fontana  <claudio@gnu.org>
59778             Bruno Haible  <bruno@clisp.org>
59779
59780         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
59781         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
59782         for AM_CPPFLAGS.
59783
59784 2006-04-23  Bruno Haible  <bruno@clisp.org>
59785
59786         * modules/copy-file: Depend on unistd.
59787         * modules/execute: Likewise.
59788         * modules/fatal-signal: Likewise.
59789         * modules/findprog: Likewise.
59790         * modules/mkdtemp : Likewise.
59791         * modules/pipe: Likewise.
59792         * modules/wait-process: Likewise.
59793
59794 2006-04-23  Bruno Haible  <bruno@clisp.org>
59795
59796         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
59797         condition was already detected.
59798         Reported by Ben Pfaff <blp@cs.stanford.edu>.
59799
59800 2006-04-23  Bruno Haible  <bruno@clisp.org>
59801
59802         * lib/copy-file.c: Include <unistd.h> unconditionally.
59803         * lib/execute.c: Likewise.
59804         * lib/fatal-signal.c: Likewise.
59805         * lib/findprog.c: Likewise.
59806         * lib/mkdtemp.c: Likewise.
59807         * lib/pipe.h: Likewise.
59808         * lib/pipe.c: Likewise.
59809         * lib/wait-process.h: Likewise.
59810
59811 2006-04-23  Bruno Haible  <bruno@clisp.org>
59812
59813         * gnulib-tool (func_usage): Fix --import description. Document
59814         --update.
59815         (func_import): Create temporary file in a temporary directory, if
59816         --dry-run is specified. Silence errors from 'grep' when there are no
59817         m4 files in $m4dir.
59818         (func_create_testdir): Silence errors from 'grep' when there are no
59819         m4 files in $m4dir.
59820         Reported by Karl Berry <karl@freefriends.org>.
59821
59822 2006-04-20  Bruno Haible  <bruno@clisp.org>
59823
59824         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
59825         one argument, so that the code will be portable to Autoconf 2.60.
59826         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
59827         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
59828         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
59829
59830 2006-04-19  Derek Price  <derek@ximbiot.com>
59831             Eric Blake  <ebb9@byu.net>
59832
59833         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
59834         rather than "/full/path.h".  Update comment to match.  Shorten &
59835         generalize m4_translit call via AS_TR_CPP.
59836
59837 2006-04-19  Derek Price  <derek@ximbiot.com>
59838             Eric Blake  <ebb9@byu.net>
59839
59840         * lib/inttypes.h: Correct grammar in comment.
59841
59842 2006-04-18  Derek Price  <derek@ximbiot.com>
59843             Paul Eggert  <eggert@cs.ucla.edu>
59844
59845         * modules/inttypes: New file.
59846         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
59847
59848 2006-04-18  Derek Price  <derek@ximbiot.com>
59849             Paul Eggert  <eggert@cs.ucla.edu>
59850
59851         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
59852         New files.
59853
59854 2006-04-18  Derek Price  <derek@ximbiot.com>
59855             Paul Eggert  <eggert@cs.ucla.edu>
59856
59857         * lib/inttypes.h: New file.
59858         * lib/strtoimax.c: Assume <inttypes.h>.
59859
59860 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
59861
59862         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
59863         isn't mounted.  Problem reported by Kir Kolyshkin.
59864
59865 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
59866
59867         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
59868         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
59869         Derek R. Price.
59870         * lib/regex.h (RE_DUP_MAX): Update comment to match current
59871         implementation.
59872
59873 2006-04-12  Eric Blake  <ebb9@byu.net>
59874
59875         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
59876         is now done automatically by the corresponding Autoconf macro.
59877
59878 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
59879
59880         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
59881         time_r.h.
59882
59883 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
59884
59885         Merge regex changes from libc, removing some of our
59886         POSIX-conformance changes that were rejected and redoing them in a
59887         less-intrusive way.
59888
59889         * lib/regcomp.c (re_compile_internal, init_dfa):
59890         Length arg is now size_t, not Idx.  All uses changed.
59891         (peek_token): Forward decl now says internal_function.
59892         (__re_error_msgid, __re_error_msgid_idx):
59893         Now static rather than extern with attribute_hidden.
59894         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
59895         For some reason libc prefers K&R style defns for external functions.
59896         (regerror) [!defined _LIBC]: Likewise.
59897         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
59898         (seek_collating_symbol_entry, lookup_collation_sequence_value):
59899         (build_range_exp, build_collating_symbol):
59900         Use K&R-style defn.
59901         (re_compile_fastmap): Use '\0' to memset, not 0.
59902         (utf8_sb_map): Make the calculations more obvious.
59903         (init_dfa, parse_bracket_exp, build_charclass_op):
59904         Call calloc and cast result, as glibc does.
59905         (init_word_char, fetch_token, peek_token, peek_token_bracket):
59906         (build_range_exp, build_collating_symbol):
59907         Now internal functions.
59908
59909         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
59910
59911         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
59912         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
59913         Don't depend on VMS; depend on __VMS instead, for POSIX
59914         namespace cleanness.
59915         (regoff_t): Define to ssize_t, not long int.
59916
59917         Remove the REG_ macros named below.  Instead, make the old names
59918         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
59919         __USE_GNU_REGEX.
59920         (REG_BACKSLASH_ESCAPE_IN_LISTS):
59921         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
59922         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
59923         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
59924         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
59925         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
59926         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
59927         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
59928         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
59929         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
59930         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
59931         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
59932         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
59933         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
59934         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
59935         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
59936         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
59937         (REG_NREGS):
59938         Remove.  All uses replaced by the old RE_* names.
59939         (RE_BACKSLASH_ESCAPE_IN_LISTS):
59940         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
59941         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
59942         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
59943         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
59944         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
59945         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
59946         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
59947         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
59948         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
59949         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
59950         Don't bother having these macros be independent of each others'
59951         values, since they no longer exist in the POSIX name space.
59952
59953         Rename the following member names back to their old names,
59954         unless !__USE_GNU_REGEX.  All uses changed back.
59955         (buffer): Renamed from re_buffer.
59956         (allocated): Renamed from re_allocated.
59957         (used): Renamed from re_used.
59958         (syntax): Renamed from re_syntax.
59959         (fastmap): Renamed from re_fastmap.
59960         (translate): Renamed from re_translate.
59961         (can_be_null): Renamed from re_can_be_null.
59962         (regs_allocated): Renamed from re_regs_allocated.
59963         (fastmap_accurate): Renamed from re_fastmap_accurate.
59964         (no_sub): Renamed from re_no_sub.
59965         (not_bol): Renamed from re_not_bol.
59966         (not_eol): Renamed from re_not_eol.
59967         (newline_anchor): Renamed from re_newline_anchor.
59968         (num_regs): Renamed from rm_num_regs.
59969         (start): Renamed from rm_start.
59970         (end): Renamed from rm_end.
59971
59972         (free_state): Move up a bit.
59973
59974         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
59975         #define to be empty.
59976         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
59977         when that is what is intended.
59978         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
59979         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
59980         (MAX): New macro.
59981         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
59982         All uses changed back to re_malloc, etc.  It's now the caller's
59983         responsibility to check for overflow; all callers changed.
59984         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
59985         (re_x2nrealloc): Remove.
59986         (free_state): Remove decl.
59987
59988         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
59989         (re_set_registers, re_exec):
59990         Use K&R-style defn.
59991
59992         2006-01-31  Roland McGrath  <roland@redhat.com>
59993
59994         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
59995         Reported by Mike Frysinger <vapier@gentoo.org>.
59996
59997         2006-01-15  Andreas Jaeger  <aj@suse.de>
59998
59999         [BZ #1950]
60000         * lib/regex_internal.c (re_string_reconstruct): Adjust for
60001         build_wcs_upper_buffer change.
60002         (build_wcs_upper_buffer): Change return type.
60003
60004         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
60005
60006         * lib/regex_internal.h: Include <stdint.h> if available.
60007
60008         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
60009
60010         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
60011
60012         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
60013
60014         * lib/regcomp.c: Adjust for changed secondary hash function.
60015
60016         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
60017
60018         * lib/regex.h: Pretty printing.
60019         Clean up namespace a bit.
60020
60021         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
60022
60023         * lib/regexec.c (update_cur_sifted_state, check_arrival,
60024         check_arrival_add_next_nodes): Avoid using uninitialized variable.
60025
60026         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
60027                     Ulrich Drepper  <drepper@redhat.com>
60028
60029         [BZ #1302]
60030         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
60031         changed.
60032         (bitset_word_t): Renamed from bitset_word.  All uses changed.
60033
60034         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
60035
60036         [BZ #281]
60037         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
60038         * lib/regcomp.c: Remove unnecessary uses of
60039         unsigned RE_TRANSLATE_TYPE.
60040         * lib/regex_internal.h: Likewise.
60041         * lib/regex_internal.c: Likewise.
60042         * lib/regexec.c: Likewise.
60043         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
60044
60045         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
60046
60047         * lib/regexec.c (find_recover_state): Remove unnecessary
60048         initialization.
60049         (transit_state_bkref): Make DFA a const pointer.
60050         (get_subexp): Likewise.
60051         (check_arrival): Likewise.
60052         (update_cur_sifted_state): Likewise.
60053         (re_search_internal): Likewise.
60054         (prune_impossible_nodes): Likewise.
60055         (acquire_init_state_context): Likewise.
60056         (proceed_next_node): Likewise.
60057         (set_regs): Likewise.
60058         (free_fail_stack_return): Likewise.
60059         (check_arrival_expand_ecl): Mark DFA parameter as const.
60060         (check_arrival_expand_ecl_sub): Likewise.
60061         (check_subexp_limits): Likewise.
60062         (sub_epsilon_src_nodes):  Likewise.
60063         (add_epsilon_src_nodes):  Likewise.
60064         (merge_state_array): Likewise.
60065         (update_regs): Likewise.
60066         (build_trtable): Likewise.
60067         (sift_states_backward): Mark MCTX parameter as const.
60068         (build_sifted_states): Likewise.
60069         (update_cur_sifted_state): Likewise.
60070         (sift_states_mkref): Likewise.
60071         (check_arrival_expand_ecl): Mark eclosure as const.
60072         (check_dst_limits_calc_pos_1): Likewise.
60073         * lib/regex_internal.h (re_match_context_t): Make dfa a const
60074         pointer.
60075
60076         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
60077
60078         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
60079         (transit_state_sb): Likewise.
60080         (transit_state_mb): Likewise.
60081         (sift_states_iter_mb): Likewise.
60082         (check_arrival_add_next_nodes): Likewise.
60083         (check_node_accept_bytes): Change first parameter to pointer-to-const.
60084         [_LIBC] (re_search_2_stub): Use mempcpy.
60085
60086         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
60087         mbrtowc for very simple UTF-8 case.
60088
60089         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
60090         a pointer-to-const.
60091         (re_acquire_state_context): Likewise.
60092         * lib/regex_internal.h: Adjust prototypes.
60093
60094         * lib/regex.c: Prevent using C++ compilers.
60095
60096         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
60097         (re_acquire_state_context): Likewise.
60098
60099 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60100
60101         * modules/regex (Depends-on): Add ssize_t.
60102
60103 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60104
60105         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
60106         translation table.
60107
60108 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60109
60110         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
60111
60112 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
60113             Bruno Haible  <bruno@clisp.org>
60114
60115         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
60116         <sys/types.h> and <inttypes.h>.
60117
60118 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60119
60120         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
60121         `__error_t_defined', so argp.h will not typedef the former.
60122
60123 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
60124
60125         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
60126         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
60127         glibc names.  Even if glibc is changed to conform to POSIX, the
60128         traditional names will be available anyway, since regex depends on
60129         the extensions module.  Also, fix a longstanding typo in the
60130         implementation of Spencer ERE test #75 from grep 2.3.  Problems
60131         reported by Emanuele Giaquinta.  Also, change sense of cached
60132         variable, so that the message makes sense.
60133
60134 2006-03-24  Simon Josefsson  <jas@extundo.com>
60135
60136         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
60137         including some doc fixes.
60138         (base64_encode_alloc): Fix +1 bug on allocation failures.
60139
60140 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60141
60142         * lib/base64.c (base64_encode): Do not read past end of array with
60143         unsanitized input on systems with CHAR_BIT > 8.
60144
60145 2006-03-24  Eric Blake  <ebb9@byu.net>
60146
60147         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
60148
60149 2006-03-22  Karl Berry  <karl@gnu.org>
60150
60151         * config/srclist.txt (*setenv.[ch]): get from coreutils.
60152         * config/srclistvars.sh (COREUTILS): new var.
60153
60154 2006-03-17  Jim Meyering  <jim@meyering.net>
60155
60156         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
60157         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
60158
60159 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
60160
60161         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
60162         no longer needs it.  Instead, check that regoff_t is as least
60163         as wide as ptrdiff_t.
60164
60165         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
60166         so that our regex.h stays compatible with the installed regex.
60167         This is helpful for installers who configure --without-included-regex.
60168         Problem reported by Emanuele Giaquinta.
60169
60170 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
60171
60172         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
60173         Typedef to long int, not to off_, as POSIX will likely change
60174         in that direction.
60175
60176 2006-03-15  Eric Blake  <ebb9@byu.net>
60177
60178         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
60179
60180 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
60181
60182         * lib/argp-help.c (validate_uparams): Fix typo
60183         * lib/argp-parse.c (argp_default_options): Consistently begin help
60184         messages with a lowercase letter.
60185
60186 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
60187
60188         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
60189         overrun buffers and shouldn't be used (much as gets shouldn't be
60190         used).
60191         * lib/time_r.c (asctime_r, ctime_r): Likewise.
60192
60193 2006-03-08  Simon Josefsson  <jas@extundo.com>
60194
60195         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
60196         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60197
60198 2006-03-08  Simon Josefsson  <jas@extundo.com>
60199
60200         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
60201         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60202
60203 2006-03-08  Simon Josefsson  <jas@extundo.com>
60204
60205         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
60206         signal that configure disabled the device.
60207
60208 2006-03-08  Simon Josefsson  <jas@extundo.com>
60209
60210         * build-aux/maint.mk: Fix refresh-po, to handle no translated
60211         languages.
60212
60213 2006-03-07  Simon Josefsson  <jas@extundo.com>
60214
60215         * modules/getopt (Depends-on): Add unistd.
60216
60217         * modules/unistd: New file.
60218
60219 2006-03-07  Simon Josefsson  <jas@extundo.com>
60220
60221         * modules/gc-random: New file.
60222
60223 2006-03-07  Simon Josefsson  <jas@extundo.com>
60224
60225         * m4/unistd_h.m4: New file.
60226
60227 2006-03-07  Simon Josefsson  <jas@extundo.com>
60228
60229         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
60230         test to be side-effect free by storing the result in the cache
60231         variable gl_cv_lib_readline, and moving the assignment of
60232         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
60233         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60234
60235 2006-03-07  Simon Josefsson  <jas@extundo.com>
60236
60237         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
60238         error on missing devices (the functions will return an error).
60239
60240         * m4/gc.m4: Move random stuff to gc-random.m4
60241
60242 2006-03-07  Simon Josefsson  <jas@extundo.com>
60243
60244         * lib/unistd_.h: New file.
60245
60246 2006-03-07  Simon Josefsson  <jas@extundo.com>
60247
60248         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
60249
60250 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
60251
60252         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
60253         Problem reported by Juan Manuel Guerrero.
60254
60255 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
60256
60257         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
60258         the unistd module.
60259         * lib/getlogin_r.c: Likewise.
60260         * lib/getlogin_r.h: Likewise.
60261         * lib/glob.c: Likewise.
60262         * lib/pagealign_alloc.c: Likewise.
60263         * lib/unistd_.h: Remove; no longer needed.
60264
60265 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
60266
60267         * MODULES.html.sh (Support for systems lacking POSIX:2001):
60268         Add unistd.
60269         * modules/c-stack (Depends-on): Add unistd.
60270         * modules/getlogin_r: Likewise.
60271         * modules/glob: Likewise.
60272         * modules/pagealign_alloc: Likewise.
60273         * modules/unistd (Files): Remove lib/unistd_.h.
60274         (EXTRA_DIST): Remove.
60275         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
60276         need unistd_.h.
60277         (MOSTLYCLEANFILES): Remove unistd.h-t.
60278
60279 2006-03-03  Simon Josefsson  <jas@extundo.com>
60280
60281         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
60282
60283 2006-03-03  Simon Josefsson  <jas@extundo.com>
60284
60285         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
60286         libidn and bison.
60287
60288 2006-03-03  Simon Josefsson  <jas@extundo.com>
60289
60290         * build-aux/maint.mk: Add indent target.
60291
60292 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
60293
60294         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
60295         our replacement poll.h in any case, to avoid a differing
60296         declaration from a system header.  Seen on AIX.
60297
60298 2006-03-01  Simon Josefsson  <jas@extundo.com>
60299
60300         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
60301         <kasal@ucw.cz>.
60302
60303 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
60304
60305         * modules/gettime (Depends-on): Add extensions module.
60306         * modules/nanosleep (Depends-on): Likewise.
60307         * modules/settime (Depends-on): Likewise.
60308
60309 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
60310
60311         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
60312         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
60313         pedantically.
60314         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
60315         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
60316
60317         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
60318         not "==".  Reported by Ralf Wildenhues.
60319
60320 2006-03-01  Karl Berry  <karl@gnu.org>
60321
60322         * doc/Copyright/request-*: new files, synced from gnuorg.
60323
60324 2006-03-01  Karl Berry  <karl@gnu.org>
60325
60326         * config/srclist.txt (Copyright/*): new entries.
60327
60328 2006-02-28  Simon Josefsson  <jas@extundo.com>
60329
60330         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
60331
60332 2006-02-27  Simon Josefsson  <jas@extundo.com>
60333
60334         * lib/base64.h: Indent #define's.  From Jim Meyering
60335         <jim@meyering.net>.
60336
60337 2006-02-27  Jim Meyering  <jim@meyering.net>
60338
60339         Revert the change of 2006-02-24, so these files can continue
60340         to be sync'd from gettext.
60341         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
60342         of `config.h'.
60343
60344 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
60345
60346         * modules/intprops: New file.
60347         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
60348         Add intprops.
60349         * modules/getloadavg (Files): Remove lib/intprops.h.
60350         (Depends-on): Add intprops.
60351         * modules/human: Likewise.
60352         * modules/inttostr: Likewise.
60353         * modules/openat: Likewise.
60354         * modules/sig2str: Likewise.
60355         * modules/userspec: Likewise.
60356         * modules/utimecmp: Likewise.
60357         * modules/xnanosleep: Likewise.
60358         * modules/xstrtol: Likewise.
60359
60360 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
60361
60362         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
60363         * modules/lock-tests (TESTS): Use $(EXEEXT).
60364         * modules/tls-tests: Likewise.
60365         * modules/argp-tests: Likewise.
60366         (check_PROGRAMS): New var, replacing...
60367         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
60368
60369 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60370
60371         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
60372         `config.h'.
60373
60374 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
60375
60376         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
60377
60378 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60379
60380         Sync from coreutils.
60381         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
60382         gl_CHDIR_SAFER.
60383
60384 2006-02-22  Jim Meyering  <jim@meyering.net>
60385
60386         Sync from coreutils.
60387         * m4/chdir-safer.m4: New file.
60388
60389 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
60390
60391         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
60392         AT_FDCWD exceeds INT_MAX.
60393         * lib/openat.h (AT_FDCWD): Likewise.
60394
60395 2006-02-17  Eric Blake  <address@hidden>
60396
60397         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
60398
60399 2006-02-16  Simon Josefsson  <jas@extundo.com>
60400
60401         * modules/getaddrinfo (Depends-on): Add sys_socket.
60402
60403 2006-02-15  Simon Josefsson  <jas@extundo.com>
60404
60405         * build-aux/maint.mk: Add dsyntax-check rule.
60406
60407 2006-02-15  Eric Blake  <ebb9@byu.net>
60408
60409         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
60410         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
60411         'present but cannot compile' warnings on cygwin.
60412         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
60413         use ws2tcpip.h if sys/socket.h works.
60414         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
60415         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
60416
60417 2006-02-14  Simon Josefsson  <jas@extundo.com>
60418
60419         * modules/maintainer-makefile (Files): Rename.
60420
60421         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
60422         and (the local) Makefile.cfg to maint-cfg.mk.
60423
60424         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
60425         to the latter.
60426
60427         * modules/maintainer-makefile: New module.
60428
60429         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
60430         severaly stripped to make it possible to build it up from scratch
60431         with reliable tests.
60432
60433         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
60434         fixes to permit overriding the default actions when configure and
60435         makefile are not available.
60436
60437 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
60438
60439         Sync from coreutils.
60440         * modules/lstat (Depends-on): Don't depend on xalloc.
60441         (License): Change from GPL to LGPL, since this is now simply a
60442         replacement for a libc function.
60443
60444 2006-02-14  Jim Meyering  <jim@meyering.net>
60445
60446         Sync from coreutils.
60447
60448         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
60449         failure on deficient systems, and simplify gnulib lgpl dependencies.
60450         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
60451         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
60452
60453         * lib/xalloc-die.c: Remove unused definition of N_.
60454
60455 2006-02-14  Jim Meyering  <jim@meyering.net>
60456
60457         Sync from coreutils.
60458         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
60459         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
60460         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
60461         double-quote uses of that variable, to accommodate the rare case in
60462         which getmntent is available in none of the libraries checked.  This
60463         happens at least on FreeBSD 5.0.
60464
60465 2006-02-13  Simon Josefsson  <jas@extundo.com>
60466
60467         * gnulib-tool (Usage): Fix --import, from
60468         karl@freefriends.org (Karl Berry).
60469
60470 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
60471
60472         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
60473
60474 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
60475
60476         * lib/argp-namefrob.h: Restore changes accidentally lost during the
60477         "autoupdate" on 2005-12-12.
60478
60479 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
60480
60481         * modules/closeout (Depends-on): Remove atexit.
60482
60483 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
60484
60485         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
60486         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
60487
60488 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
60489
60490         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
60491         __EXTENSIONS__ if this causes compilation to fail.  Problem
60492         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
60493         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
60494
60495 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
60496
60497         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
60498         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
60499         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
60500         All uses changed.
60501
60502 2006-01-26  Simon Josefsson  <jas@extundo.com>
60503
60504         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
60505         prototype is visible on mingw32.
60506
60507         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
60508         for mingw32.
60509
60510         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
60511         mingw32).
60512
60513 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
60514
60515         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
60516         attempt to open for write; this always fails, at least on POSIX
60517         hosts.  This reinstates the 2006-01-09 change, which was
60518         inadvertently removed.
60519
60520 2006-01-26  Bruno Haible  <bruno@clisp.org>
60521
60522         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
60523         Reported by Paul Eggert.
60524
60525 2006-01-26  Bruno Haible  <bruno@clisp.org>
60526             Paul Eggert  <eggert@cs.ucla.edu>
60527
60528         * lib/stdbool_.h (_Bool)
60529         [(! (defined __cplusplus || defined __BEOS__)
60530           && !defined __GNUC__
60531           && !(defined __HP_cc || defined __xlc__
60532                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
60533                || defined __sgi))]:
60534         #define to signed char in these cases too; this simplifies
60535         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
60536         etc., separately) and makes it more conservative.
60537
60538 2006-01-25  Simon Josefsson  <jas@extundo.com>
60539
60540         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
60541         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
60542         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
60543
60544 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
60545
60546         * lib/argp-namefrob.h: Bugfix. Remove stray #
60547
60548 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
60549
60550         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
60551         so that we test the test.
60552         Check for yet another HP-UX cc bug involving *bool |= bool.
60553
60554 2006-01-25  Karl Berry  <karl@gnu.org>
60555
60556         * config/srclist.txt (vasnprintf.c): sync lost.
60557
60558 2006-01-25  Jim Meyering  <jim@meyering.net>
60559
60560         Sync from the stable (b5) branch of coreutils:
60561
60562         * lib/fts.c (fts_children): Don't let close() clobber errno from
60563         failed fchdir().
60564
60565         * lib/fts.c (fts_stat): When following a symlink-to-directory,
60566         don't necessarily interpret stat-fails+lstat-succeeds as indicating
60567         a dangling symlink.  That can also happen at least for ELOOP.
60568         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
60569         FYI, this bug predates the inclusion of fts.c in coreutils.
60570
60571         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
60572         in their own block, so pre-c99 compilers don't object.
60573
60574         Avoid the double-free (first in fts_read, second in fts_close) that
60575         would occur when an `active' directory is made inaccessible (e.g.,
60576         via chmod a-x) during a traversal.
60577         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
60578         before returning.  Reproduce this failure by
60579         mkdir -p a/b; cd a; chmod a-x . b
60580         Reported by Stavros Passas.
60581
60582 2006-01-25  Jim Meyering  <jim@meyering.net>
60583
60584         * lib/fileblocks.c: Remove more useless parentheses.
60585         * lib/readutmp.h: Likewise.
60586
60587 2006-01-25  Bruno Haible  <bruno@clisp.org>
60588
60589         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
60590         warnings.
60591         Reported by Paul Eggert.
60592
60593 2006-01-25  Bruno Haible  <bruno@clisp.org>
60594
60595         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
60596         rid of a trap command. For Solaris sh.
60597         Reported by Mark D. Baushke <mdb@gnu.org>.
60598
60599 2006-01-24  Simon Josefsson  <jas@extundo.com>
60600
60601         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
60602         Bruno.
60603
60604 2006-01-24  Karl Berry  <karl@gnu.org>
60605
60606         * config/srclist.txt (argp-namefrob.h): sync lost.
60607
60608 2006-01-24  Jim Meyering  <jim@meyering.net>
60609
60610         * modules/openat (Files): Add lib/intprops.h.
60611         From Mark D. Baushke.
60612
60613 2006-01-24  Jim Meyering  <jim@meyering.net>
60614
60615         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
60616         Reported by Mark D. Baushke.
60617
60618 2006-01-24  Jim Meyering  <jim@meyering.net>
60619
60620         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
60621
60622 2006-01-24  Bruno Haible  <bruno@clisp.org>
60623
60624         * modules/strnlen (Maintainer): Change from glibc to all.
60625
60626 2006-01-24  Bruno Haible  <bruno@clisp.org>
60627
60628         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
60629         Patch by Paul Eggert.
60630
60631 2006-01-24  Bruno Haible  <bruno@clisp.org>
60632
60633         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
60634         already has it.
60635         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
60636         2005-11-26.
60637
60638         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
60639         'signed char' to avoid problems with the built-in _Bool type.
60640         Reported by Paul Eggert on 2005-11-26.
60641
60642 2006-01-24  Bruno Haible  <bruno@clisp.org>
60643
60644         * gnulib-tool (func_import): Avoid constructing complicated sed
60645         expressions inside backquote.
60646         Report and solution by Mark D. Baushke <mdb@gnu.org>.
60647
60648 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
60649
60650         These changes imported from libc.
60651         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
60652         test and two separate function calls.
60653         * lib/strndup.c (__strndup): Add libc_hidden_def.
60654
60655 2006-01-23  Simon Josefsson  <jas@extundo.com>
60656
60657         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
60658         Remove the test_*_SOURCES variable: automake infers it by default.
60659         * modules/tls-tests: Likewise.
60660
60661 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
60662
60663         Work around porting bugs reported by Dieter in
60664         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
60665         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
60666         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
60667         Include "getopt.h" first, to check interface.
60668         (getenv): Declare only if defined HAVE_DECL_GETENV &&
60669         !HAVE_DECL_GETENV.
60670         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
60671         (__strndup): Revert to K&R-style function dfns, the glibc style.
60672         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
60673         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
60674         Include strnlen.h first, to get prototype properly.
60675         (strnlen): Renamed from __strnlen.
60676         Remove weak alias.
60677
60678 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
60679
60680         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
60681
60682 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
60683
60684         * config/srclist.txt: Adjust to reflect glibc reorganization.
60685         This affects only comments.
60686
60687 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
60688
60689          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
60690          Reported by Bruce Korb <bkorb@gnu.org>.
60691
60692 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
60693
60694         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
60695         to pacify gcc -Wswitch-default.
60696
60697 2006-01-22  Bruno Haible  <bruno@clisp.org>
60698
60699         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
60700         temporary buffer for sprintf, take into account the precision also
60701         for 'd', 'i', 'u', 'o', 'x', 'X'.
60702
60703 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
60704
60705         * modules/argp-tests: New module
60706         * tests/test-argp.c: New file
60707         * tests/test-argp-2.sh: New file
60708
60709 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
60710
60711         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
60712         (__argp_base_name): Removed
60713         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
60714         typo.
60715         (__argp_base_name): Provide macro definition or extern declaration
60716         depending on the configuration
60717
60718 2006-01-20  Simon Josefsson  <jas@extundo.com>
60719
60720         * modules/inet_ntop (Depends-on): Depend on sys_socket.
60721
60722 2006-01-20  Simon Josefsson  <jas@extundo.com>
60723
60724         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
60725
60726 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
60727
60728         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
60729         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
60730         Suggested by Bruno Haible.
60731
60732 2006-01-20  Karl Berry  <karl@gnu.org>
60733
60734         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
60735         until changes propagate, I guess.
60736
60737 2006-01-19  Simon Josefsson  <jas@extundo.com>
60738
60739         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
60740
60741 2006-01-19  Simon Josefsson  <jas@extundo.com>
60742
60743         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
60744
60745 2006-01-19  Simon Josefsson  <jas@extundo.com>
60746
60747         * gnulib-tool: Set check_PROGRAMS.
60748
60749         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
60750         modules/des-tests, modules/gc-arcfour-tests,
60751         modules/gc-arctwo-tests, modules/gc-des-tests,
60752         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
60753         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
60754         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
60755         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
60756         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
60757         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
60758         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
60759         test_*_SOURCES.
60760
60761 2006-01-18  Simon Josefsson  <jas@extundo.com>
60762
60763         * modules/socklen (Depends-on): Depend on sys_socket.
60764
60765 2006-01-18  Simon Josefsson  <jas@extundo.com>
60766
60767         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
60768         modules/des-tests, modules/gc-arcfour-tests,
60769         modules/gc-arctwo-tests, modules/gc-des-tests,
60770         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
60771         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
60772         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
60773         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
60774         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
60775         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
60776         $(EXEEXT) to automake TESTS variable, for mingw32.
60777
60778 2006-01-17  Simon Josefsson  <jas@extundo.com>
60779
60780         * modules/socklen (Include): Need sys/socket.h.
60781
60782 2006-01-17  Bruno Haible  <bruno@clisp.org>
60783
60784         * modules/ssize_t (Include): Add <sys/types.h>.
60785
60786 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
60787
60788         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
60789         it's not portable and it doesn't work with cross-compiles.
60790         Problem reported by Bruno Haible.  Fix missing-$ typo in
60791         'test "gl_cv_ignore_unused_libraries" ...' that prevented
60792         -zignore from being used with Sun's C compiler.
60793
60794 2006-01-12  Simon Josefsson  <jas@extundo.com>
60795
60796         * lib/base64.c: Fix warning, reported by Bruno Haible
60797         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
60798
60799 2006-01-12  Bruno Haible  <bruno@clisp.org>
60800
60801         * modules/ldd: New file.
60802         * build-aux/ldd.sh.in: New file.
60803         * MODULES.html.sh (Support for building libraries and executables): Add
60804         ldd.
60805
60806 2006-01-12  Bruno Haible  <bruno@clisp.org>
60807
60808         * m4/ldd.m4: New file.
60809
60810 2006-01-12  Bruno Haible  <bruno@clisp.org>
60811
60812         * gnulib-tool (func_import, func_create_testdir): Don't go into an
60813         endless loop while replacing $auxdir with build-aux.
60814
60815 2006-01-11  Simon Josefsson  <jas@extundo.com>
60816
60817         * lib/stdint_.h (SIZE_MAX): Add missing (.
60818
60819 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
60820
60821         Sync from coreutils.
60822         * lib/md5.c: Fix commentary typos.
60823         (alignof, UNALIGNED_P): No need for a GCC-specific version.
60824         * lib/md5.h (__attribute__): Remove; unused.
60825         * lib/sha1.c: Fix commentary to match md5 better.
60826         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
60827         so that we don't need to worry about alignment.  All uses changed.
60828         This merges the 2005-10-28 md5 change into sha1.
60829
60830 2006-01-11  Jim Meyering  <jim@meyering.net>
60831
60832         Sync from coreutils.
60833         * lib/md5.c (OP): Fix spacing.
60834
60835 2006-01-11  Bruno Haible  <bruno@clisp.org>
60836
60837         Ensure automatic ordering between gl_LOCK and gl_ARGP.
60838         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
60839         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
60840
60841 2006-01-11  Bruno Haible  <bruno@clisp.org>
60842
60843         Ensure automatic ordering between gl_LOCK and gl_ARGP.
60844         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
60845         the "early" section as well.
60846
60847 2006-01-11  Bruno Haible  <bruno@clisp.org>
60848
60849         Avoid "ar: no archive members specified" error on MacOS X.
60850         * gnulib-tool (func_modules_add_dummy): New function.
60851         (func_import, func_create_testdir): Invoke it.
60852
60853 2006-01-11  Bruno Haible  <bruno@clisp.org>
60854
60855         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
60856         with $auxdir in AC_CONFIG_FILES statements.
60857
60858 2006-01-11  Bruno Haible  <bruno@clisp.org>
60859
60860         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60861         Initialize also noinst_HEADERS to empty.
60862
60863 2006-01-11  Bruno Haible  <bruno@clisp.org>
60864
60865         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
60866         variables.
60867         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
60868         autoreconf.
60869
60870 2006-01-11  Bruno Haible  <bruno@clisp.org>
60871
60872         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
60873         overridable by the user.
60874         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60875
60876 2006-01-10  Simon Josefsson  <jas@extundo.com>
60877
60878         * modules/sys_socket: New file.
60879
60880 2006-01-10  Simon Josefsson  <jas@extundo.com>
60881
60882         * m4/sys_socket_h.m4: New file.
60883
60884 2006-01-10  Simon Josefsson  <jas@extundo.com>
60885
60886         * lib/socket_.h: New file.
60887
60888 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
60889
60890         * modules/readutmp (Maintainer): Add myself.
60891
60892 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
60893
60894         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
60895         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
60896         People who are still concerned with buggy memcmp implementations
60897         can invoke gl_FUNC_MEMCMP themselves.
60898
60899 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
60900
60901         * lib/regex_internal.h (BITSET_WORD_BITS):
60902         Work around a bug in 64-bit PGC (before version 6.1-2), where the
60903         preprocessor mishandles large unsigned values as if they were signed.
60904         Problem reported by Claudio Fontana in
60905         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
60906
60907 2006-01-10  Jim Meyering  <jim@meyering.net>
60908
60909         Avoid the double-free (first in fts_read, second in fts_close) that
60910         would occur when an `active' directory is made inaccessible (e.g.,
60911         via chmod a-x) during a traversal.
60912         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
60913         before returning.  Reproduce this failure by
60914         mkdir -p a/b; cd a; chmod a-x . b
60915         Reported by Stavros Passas.
60916
60917         Sync from coreutils.
60918         * lib/sha1.c: Tweak grammar in a comment.
60919
60920 2006-01-10  Jim Meyering  <jim@meyering.net>
60921
60922         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
60923         Patch by Joerg Sonnenberger.
60924
60925 2006-01-10  Bruno Haible  <bruno@clisp.org>
60926
60927         * modules/readutmp: Depend on module free.
60928         * modules/strtok_r: Depend on module restrict.
60929
60930 2006-01-10  Bruno Haible  <bruno@clisp.org>
60931
60932         * modules/gettext (configure.ac): Add an invocation of
60933         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
60934
60935 2006-01-10  Bruno Haible  <bruno@clisp.org>
60936
60937         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
60938         Reported by Werner Lemberg <wl@gnu.org>.
60939
60940 2006-01-10  Bruno Haible  <bruno@clisp.org>
60941
60942         * lib/localcharset.c: Update from GNU gettext.
60943
60944 2006-01-10  Bruno Haible  <bruno@clisp.org>
60945
60946         * lib/argp.h (__const): Remove macro. Use const instead.
60947         * lib/argp-fmtstream.h (__const): Likewise.
60948         * lib/glob_.h (__const): Remove macro.
60949         * lib/glob-libc.h: Use const instead of __const.
60950
60951 2006-01-10  Bruno Haible  <bruno@clisp.org>
60952
60953         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
60954         variable.
60955         Needed to avoid an automake error regarding the 'gettext' module.
60956
60957 2006-01-09  Simon Josefsson  <jas@extundo.com>
60958
60959         * modules/inet_ntop (Depends-on): Add restrict.
60960
60961 2006-01-09  Simon Josefsson  <jas@extundo.com>
60962
60963         * modules/gc-rijndael-tests (License): Put under LGPL.
60964
60965         * modules/gc-des-tests (License): Likewise.
60966
60967         * modules/gc-arcfour-tests (License): Likewise.
60968
60969         * modules/gc-arctwo-tests (License): Likewise.
60970
60971         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
60972
60973         * modules/gc-hmac-sha1-tests (Files): Likewise.
60974
60975         * modules/gc-hmac-md5-tests (License): Likewise.
60976
60977         * modules/gc-sha1-tests (License): Likewise.
60978
60979         * modules/gc-md5-tests (License): Likewise.
60980
60981         * modules/gc-md4-tests (License): Likewise.
60982
60983         * modules/gc-md2-tests (License): Likewise.
60984
60985         * modules/gc-tests (License): Likewise.
60986
60987         * modules/des-tests (License): Likewise.
60988
60989         * modules/md4-tests (License): Likewise.
60990
60991         * modules/md2-tests (License): Likewise.
60992
60993 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
60994
60995         Sync from coreutils:
60996
60997         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
60998         * modules/lib-ignore: New file.
60999         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
61000         chdir-safer.m4, lchmod.m4.
61001         * modules/openat: Add mkdirat.c, openat-priv.h.
61002
61003 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
61004
61005         Sync from coreutils.
61006         * m4/lib-ignore.m4: New file.
61007         * m4/lchmod.m4: New file.
61008
61009 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
61010
61011         Sync from coreutils.
61012         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
61013         for write access: POSIX says that must fail.
61014         * lib/fts.c (diropen): Likewise.
61015         * lib/save-cwd.c (save_cwd): Likewise.
61016         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
61017         well, for minor improvements on hosts that lack O_DIRECTORY.
61018         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
61019         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
61020         Fall back on chown if open failed with EACCES.
61021
61022         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
61023         Report an error at compile-time if only a 1-second nominal clock
61024         resolution is found.
61025
61026         * lib/lchmod.h: New file.
61027         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
61028         (make_dir_parents): Use lchown rather than chown, and
61029         lchmod rather than chmod.
61030
61031         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
61032         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
61033         "proc" reported by n0dalus.
61034
61035         * lib/mountlist.c: Include <limits.h>.
61036         (dev_from_mount_options)
61037         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
61038         New function.  It no longer assumes "dev=" has the System V meaning
61039         on Linux (since it doesn't).  It also parses "dev=" more carefully.
61040         (read_file_system_list)
61041         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
61042         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
61043         dev= in that case.
61044
61045         * lib/posixtm.h (PDS_PRE_2000): New macro.
61046         * lib/posixtm.c (year): Arg is now syntax_bits rather than
61047         allow_century.  All usages changed.  Reject dates outside the range
61048         1969-1999 if PDS_PRE_2000 is used.
61049
61050 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
61051
61052         Sync from coreutils.
61053         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
61054         (Time of day items): Mention the possibility of leap seconds.
61055         Problem reported by Dr. David Alan Gilbert.
61056
61057 2006-01-09  Jim Meyering  <jim@meyering.net>
61058
61059         Sync from coreutils.
61060
61061         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
61062
61063         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
61064
61065         * lib/modechange.c (mode_compile): Reject an invalid mode string
61066         that starts with an octal digit.  From Andreas Gruenbacher.
61067
61068         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
61069         and dup to open_safer and dup_safer, respectively.
61070         (openat_permissive): Fix typo in comment.
61071
61072         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
61073         "gettext.h"; either no longer needed or are guaranteed by openat.h.
61074         (_): Remove; no longer needed.
61075         (openat): Renamed from rpl_openat; no need for rpl_openat
61076         since openat.h renames openat for us.
61077         Replace most of the body with a call to openat_permissive,
61078         to avoid duplicate code.
61079         Port to (probably hypothetical) environments were mode_t is
61080         wider than int.
61081         (openat_permissive): Require mode arg, so that we can check
61082         types better.  Put it just after flags.  Change cwd failure
61083         indicator from pointer-to-bool to pointer-to-errno-value.
61084         All callers changed.
61085         Invoke openat_save_fail and/or openat_restore_fail if
61086         cwd_errno is null, so that openat can call us.
61087         (openat_permissive, fdopendir, fstatat, unlinkat):
61088         Simplify errno handling to avoid some duplicate code,
61089         as it's OK to set errno on success.
61090         * lib/openat.h: Revamp code so that function macros depend on
61091         __OPENAT_PREFIX only, not also on AT_FDCWD.
61092         (openat_ro): Remove.  Caller changed to use openat_permissive.
61093         (openat_permissive): Now a macro, if not a function.
61094         (openat_restore_fail, openat_save_fail): Now always functions,
61095         since mkdirat needs them even if __OPENAT_PREFIX is defined.
61096
61097         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
61098         and openat.c.
61099         * lib/mkdirat.c: Include openat-priv.h.
61100         Remove definitions of macros defined therein.
61101         * lib/openat.c: Likewise.
61102
61103         * lib/mkdirat.c (mkdirat): New file and function.
61104         * lib/openat.h (mkdirat): Declare.
61105
61106         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
61107
61108         * lib/openat.h (openat_permissive): Declare.
61109         (openat_ro): Define.
61110
61111         * lib/openat.c (EXPECTED_ERRNO): New macro.
61112         (openat_permissive): New function -- used in remove.c rewrite.
61113         (all functions): Set errno just before returning, only if there
61114         was an actual failure.
61115         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
61116
61117         Emulate openat-family functions using Linux's procfs, if possible.
61118         Idea and some code based on Ulrich Drepper's glibc changes.
61119
61120         * lib/openat.c: (BUILD_PROC_NAME): New macro.
61121         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
61122         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
61123         before falling back on save_cwd and restore_cwd.
61124         (fdopendir, fstatat, unlinkat): Likewise.
61125
61126         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
61127         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
61128
61129         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
61130         as second argument to va_arg.  Otherwise, some versions of gcc
61131         warn that `if this code is reached, the program will abort'.
61132
61133 2006-01-09  Jim Meyering  <jim@meyering.net>
61134
61135         Sync from coreutils.
61136         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
61137         Require openat-priv.h.
61138
61139 2006-01-09  Bruno Haible  <bruno@clisp.org>
61140
61141         * modules/strnlen (Include): Use strnlen.h.
61142
61143 2006-01-09  Bruno Haible  <bruno@clisp.org>
61144
61145         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
61146
61147 2006-01-09  Bruno Haible  <bruno@clisp.org>
61148
61149         * lib/sysexit_.h (EX_OK): New macro.
61150         Suggested by Martin Lambers <marlam@marlam.de>.
61151
61152 2006-01-09  Bruno Haible  <bruno@clisp.org>
61153
61154         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
61155         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
61156
61157 2006-01-09  Bruno Haible  <bruno@clisp.org>
61158
61159         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
61160         numbers.
61161
61162 2006-01-09  Bruno Haible  <bruno@clisp.org>
61163
61164         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
61165         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
61166         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
61167         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
61168
61169 2006-01-09  Bruno Haible  <bruno@clisp.org>
61170
61171         * build-aux/javacomp.sh.in: New file, moved from lib/.
61172         * modules/javacomp-script (Files): Update.
61173         (configure.ac): Add AC_CONFIG_FILES invocation.
61174         (EXTRA_DIST): Remove variable.
61175
61176         * build-aux/javaexec.sh.in: New file, moved from lib/.
61177         * modules/javaexec (Files): Update.
61178         (configure.ac): Add AC_CONFIG_FILES invocation.
61179         (EXTRA_DIST): Remove javaexec.sh.in.
61180
61181         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
61182         * modules/csharpcomp-script (Files): Update.
61183         (configure.ac): Add AC_CONFIG_FILES invocation.
61184         (EXTRA_DIST): Remove variable.
61185
61186         * build-aux/csharpexec.sh.in: New file, moved from lib/.
61187         * modules/csharpexec (Files): Update.
61188         (configure.ac): Add AC_CONFIG_FILES invocation.
61189         (EXTRA_DIST): Remove csharpexec.sh.in.
61190
61191 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
61192
61193         Sync from coreutils.
61194
61195         Add POSIX ACL support
61196         * lib/acl.h (copy_acl, set_acl): Add declarations.
61197         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
61198         systems other than Linux.
61199         (chmod_or_fchmod): New function: use fchmod when possible,
61200         and chmod otherwise.
61201         (file_has_acl): Add a POSIX ACL implementation, with a
61202         Linux-specific subcase.
61203         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
61204         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
61205         acls are unsupported.
61206         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
61207         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
61208         are unsupported.
61209
61210 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
61211
61212         Sync from coreutils.
61213         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
61214
61215 2006-01-07  Bruno Haible  <bruno@clisp.org>
61216
61217         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
61218         gl_EARLY.
61219
61220 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
61221
61222         * lib/strftime.c (tzname): Don't declare if it is already #defined.
61223         Problem reported for Mingw by Mark Junker.
61224
61225 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
61226
61227         * README: Gnulib normally doesn't generate a tarball.
61228
61229 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
61230
61231         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
61232         long int, not int, for nanosecond counts, so that people who are
61233         used to POSIX struct timespec won't be surprised.  Reported by Jim
61234         Meyering.
61235
61236 2005-12-28  Bruno Haible  <bruno@clisp.org>
61237
61238         * build-aux/config.rpath: Update from GNU gettext.
61239
61240 2005-12-16  Jim Meyering  <jim@meyering.net>
61241
61242         * modules/fprintftime: New module.
61243         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
61244
61245 2005-12-16  Jim Meyering  <jim@meyering.net>
61246
61247         * m4/fprintftime.m4: New file.
61248
61249 2005-12-16  Jim Meyering  <jim@meyering.net>
61250
61251         * lib/fprintftime.c, lib/fprintftime.h: New files.
61252
61253 2005-12-15  Simon Josefsson  <jas@extundo.com>
61254
61255         * modules/socklen (configure.ac): Fix M4 macro name, to align with
61256         new m4/socklen.m4.
61257
61258 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
61259
61260         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
61261         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
61262
61263 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
61264
61265         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
61266         * lib/argp-help.c (fill_in_uparams): Check if the constructed
61267         struct uparams is valid. Fall back to the default values if it is
61268         not.
61269
61270 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
61271
61272         * modules/argp (Files): Add argp-pin.c
61273         (Depends-on): dirname
61274         (lib_SOURCES): Add argp-pin.c
61275
61276 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
61277
61278         * m4/argp.m4:  Check if program_invocation_name and
61279         program_invocation_short_name are declared and define appropriate
61280         macros if they are not.
61281
61282 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
61283
61284         * lib/argp-help.c (__argp_base_name): New function
61285         (__argp_short_program_name): Rewrite using __argp_base_name
61286         * lib/argp-namefrob.h: Define program_invocation_name and
61287         program_invocation_short_name if requested
61288         (__argp_base_name): Add prototype
61289         * lib/argp-parse.c (argp_def): Use gettext wrappers
61290         (argp_default_parser): Use __argp_base_name
61291         * lib/argp-pin.c: New file. Defines program_invocation_name and
61292         program_invocation_short_name on systems that lack them.
61293
61294 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
61295
61296         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
61297         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
61298         porting problem reported by Georg Schwarz in
61299         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
61300
61301 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
61302
61303         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
61304         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
61305         porting problem reported by Georg Schwarz in
61306         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
61307
61308 2005-12-05  Bruno Haible  <bruno@clisp.org>
61309
61310         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
61311         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
61312         Reported by Mark Junker <mjscod@gmx.de>.
61313
61314 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
61315
61316         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
61317         Use implementation from Albert Chin, with some
61318         comments/corrections by Stepan Kasal and myself.
61319
61320 2005-12-02  Bruno Haible  <bruno@clisp.org>
61321
61322         * gnulib-tool (func_import): Accept GPLed build tool modules when
61323         --lgpl is given.
61324         * modules/csharpcomp-script: New file.
61325         * modules/csharpcomp: Depend on it.
61326         * modules/javacomp-script: New file.
61327         * modules/javacomp: Depend on it.
61328         Suggested by Simon Josefsson.
61329
61330 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
61331
61332         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
61333         statement, to work around an HP-UX 10.20 compiler bug reported by
61334         Peter O'Gorman.
61335
61336 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
61337
61338         * modules/savedir (Depends-on): Add openat.
61339
61340 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
61341
61342         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
61343         (uintmax_t) [defined uintmax_t]: Do not declare.
61344         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
61345         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
61346         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
61347         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
61348         sake of portability to weird hosts that C allows (though we don't
61349         know of any practical examples).
61350
61351         * lib/savedir.h (fdsavedir): New decl.
61352         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
61353         contains most of the former guts of savedir.
61354         (savedir): Use savedirstream.
61355         Include "openat.h".
61356
61357 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
61358
61359         * modules/obstack (Files): Add m4/ulonglong.m4.
61360         Problem reported by Davide Angelocola.
61361
61362 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
61363
61364         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
61365         coreutils no longer futzes with rounding modes.
61366
61367 2005-11-14  Jim Meyering  <jim@meyering.net>
61368
61369         * lib/mkstemp-safer.c: Include <config.h>, required for possible
61370         replacement of mkstemp.
61371
61372 2005-11-10  Simon Josefsson  <jas@extundo.com>
61373
61374         * lib/readline.c: Remove EOL.
61375
61376 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
61377
61378         * modules/gethrxtime (Depends-on): Add gettime.
61379
61380 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
61381
61382         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
61383         or gettimeofday; no longer needed.
61384
61385 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
61386
61387         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
61388         time business.
61389         (gethrxtime) [! (HAVE_NANOUPTIME
61390         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
61391         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
61392         our own approximation.
61393
61394 2005-11-08  Eric Blake  <ebb9@byu.net>
61395
61396         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
61397
61398 2005-11-08  Eric Blake  <ebb9@byu.net>
61399
61400         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
61401
61402 2005-11-04  Bruno Haible  <bruno@clisp.org>
61403
61404         * gnulib-tool: Implement --update mode.
61405
61406 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
61407
61408         Fix porting problem reported by Theodoros V. Kalamatianos.
61409         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
61410         Don't assume that futimes failing means we must fail.
61411
61412 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
61413
61414         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
61415         variables to suggest the intended function of the PATH_MAX check.
61416
61417 2005-10-30  Kean Johnston  <jkj@sco.com>
61418
61419         Trivial changes to support SCO systems.
61420         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
61421         as PATH_MAX.
61422         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
61423         where __ptr is null when no I/O is pending.
61424
61425 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
61426
61427         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
61428         leave errno alone.  Problem reported by Dmitry V. Levin.
61429
61430 2005-10-28  Simon Josefsson  <jas@extundo.com>
61431
61432         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
61433         Test more.
61434
61435         * tests/test-gc-md2.c, tests/test-md2.c: New files.
61436
61437         * modules/md2, modules/md2-tests: New files.
61438
61439 2005-10-28  Simon Josefsson  <jas@extundo.com>
61440
61441         * m4/inet_ntop.m4: More tests.
61442
61443         * m4/gc-md2.m4, md2.m4: New file.
61444
61445 2005-10-28  Simon Josefsson  <jas@extundo.com>
61446
61447         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
61448         "restrict" keywords, as per POSIX.  Protect the function
61449         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
61450         Don't use K&R prototypes.  Check the sprintf return values.
61451         Re-define EAFNOSUPPORT if not present.  Indent.
61452
61453         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
61454         suggested by Bruno Haible <bruno@clisp.org>.
61455
61456         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
61457
61458         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
61459
61460         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
61461         libgcrypt).
61462
61463         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
61464
61465         * lib/md2.h, lib/md2.c: New files.
61466
61467 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
61468
61469         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
61470         errno alone.  Problem reported by Frederic Jolliton.
61471
61472 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
61473
61474         * modules/verify (License): Change from GPL to LGPL.  This is a
61475         tiny module and there are apparently near-equivalents that are
61476         under the BSD license.
61477
61478 2005-10-24  Simon Josefsson  <jas@extundo.com>
61479
61480         * modules/sha1: Relicense to LGPL.
61481
61482 2005-10-24  Simon Josefsson  <jas@extundo.com>
61483
61484         * lib/md4.h: Shrink buffer size, now that we changed the type.
61485
61486 2005-10-23  Simon Josefsson  <jas@extundo.com>
61487
61488         * gnulib-tool (func_import): Fix --tests-base.
61489
61490 2005-10-22  Simon Josefsson  <jas@extundo.com>
61491
61492         * modules/arcfour (Depends-on): Need stdint.
61493
61494 2005-10-22  Simon Josefsson  <jas@extundo.com>
61495
61496         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
61497         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
61498
61499 2005-10-22  Simon Josefsson  <jas@extundo.com>
61500
61501         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
61502         suggested by Bruno Haible <bruno@clisp.org>.
61503
61504 2005-10-22  Simon Josefsson  <jas@extundo.com>
61505
61506         * lib/crc.h: Include stddef.h, for size_t.
61507
61508 2005-10-22  Simon Josefsson  <jas@extundo.com>
61509
61510         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
61511         arcfour_context struct (simplify test vector testing in GNU
61512         Shishi).
61513
61514 2005-10-21  Simon Josefsson  <jas@extundo.com>
61515
61516         * modules/des, modules/des-tests: New files.
61517
61518         * modules/gc-des, modules/gc-des-tests: New files.
61519
61520         * tests/test-des.c, tests/test-gc-des.c: New file.
61521
61522 2005-10-21  Simon Josefsson  <jas@extundo.com>
61523
61524         * modules/arctwo, modules/arctwo-tests: New files.
61525
61526         * tests/test-arctwo.c: New file.
61527
61528         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
61529
61530         * tests/test-gc-arctwo.c: New file.
61531
61532 2005-10-21  Simon Josefsson  <jas@extundo.com>
61533
61534         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
61535         Bruno Haible <bruno@clisp.org>.
61536
61537         * m4/gc-des.m4: New file.
61538
61539 2005-10-21  Simon Josefsson  <jas@extundo.com>
61540
61541         * m4/arctwo.m4: New file.
61542
61543         * m4/gc-arctwo.m4: New file.
61544
61545 2005-10-21  Simon Josefsson  <jas@extundo.com>
61546
61547         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
61548         block.
61549
61550 2005-10-21  Simon Josefsson  <jas@extundo.com>
61551
61552         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
61553         <bruno@clisp.org>.
61554
61555         * lib/hmac-sha1.c (hmac_sha1): Likewise.
61556
61557         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
61558         Bruno Haible <bruno@clisp.org>.
61559
61560         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
61561         <bruno@clisp.org>.
61562
61563 2005-10-21  Simon Josefsson  <jas@extundo.com>
61564
61565         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
61566
61567 2005-10-21  Simon Josefsson  <jas@extundo.com>
61568
61569         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
61570
61571 2005-10-21  Simon Josefsson  <jas@extundo.com>
61572
61573         * lib/des.h, lib/des.c: New files.
61574
61575         * lib/gc-gnulib.c: Support DES.c
61576
61577 2005-10-21  Simon Josefsson  <jas@extundo.com>
61578
61579         * lib/arctwo.h, lib/arctwo.c: New files.
61580
61581         * lib/gc-gnulib.c: Support ARCTWO.
61582
61583 2005-10-21  Simon Josefsson  <jas@extundo.com>
61584
61585         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
61586         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61587
61588 2005-10-21  Simon Josefsson  <jas@extundo.com>
61589
61590         * gnulib-tool (func_import, func_create_testdir): Define automake
61591         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
61592         Makefile.am snippet),
61593         suggested by Bruno Haible <bruno@clisp.org>.
61594
61595         * modules/gc (Makefile.am): Use it.
61596
61597 2005-10-21  Bruno Haible  <bruno@clisp.org>
61598
61599         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
61600         patch.
61601
61602 2005-10-19  Simon Josefsson  <jas@extundo.com>
61603
61604         * tests/test-gc-rijndael.c: New file.
61605
61606         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
61607
61608 2005-10-19  Simon Josefsson  <jas@extundo.com>
61609
61610         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
61611         interface too.
61612
61613 2005-10-19  Simon Josefsson  <jas@extundo.com>
61614
61615         * tests/test-gc-arcfour.c: New file.
61616
61617         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
61618
61619 2005-10-19  Simon Josefsson  <jas@extundo.com>
61620
61621         * modules/gc-md4, modules/gc-md4-tests: New file.
61622
61623         * tests/test-gc-md4.c: New file.
61624
61625 2005-10-19  Simon Josefsson  <jas@extundo.com>
61626
61627         * m4/gc-md4.m4: New file.
61628
61629 2005-10-19  Simon Josefsson  <jas@extundo.com>
61630
61631         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
61632         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
61633         <kasal@ucw.cz>.
61634
61635 2005-10-19  Simon Josefsson  <jas@extundo.com>
61636
61637         * m4/gc-arcfour.m4: New file.
61638
61639         * m4/gc-rijndael.m4: New file.
61640
61641 2005-10-19  Simon Josefsson  <jas@extundo.com>
61642
61643         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
61644
61645 2005-10-19  Simon Josefsson  <jas@extundo.com>
61646
61647         * lib/gc-gnulib.c: Support ARCFOUR.
61648
61649 2005-10-19  Simon Josefsson  <jas@extundo.com>
61650
61651         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
61652         support.
61653
61654         * lib/gc.h: Add ECB enum type.
61655
61656         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
61657
61658 2005-10-18  Simon Josefsson  <jas@extundo.com>
61659
61660         * tests/test-md5.c: New file.
61661
61662         * modules/md5-tests: New file.
61663
61664 2005-10-18  Simon Josefsson  <jas@extundo.com>
61665
61666         * tests/test-md4.c: New file.
61667
61668         * modules/md4, modules/md4-tests: New files.
61669
61670 2005-10-18  Simon Josefsson  <jas@extundo.com>
61671
61672         * m4/md4.m4: New file.
61673
61674 2005-10-18  Simon Josefsson  <jas@extundo.com>
61675
61676         * lib/md4.h, lib/md4.c: New files, based on md5.?.
61677
61678 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
61679
61680         * gnulib-tool (func_create_testdir): Omit the second check whether
61681         BUILT_SOURCES in nonempty.
61682
61683 2005-10-17  Simon Josefsson  <jas@extundo.com>
61684
61685         * tests/test-rijndael.c: New file.
61686
61687 2005-10-17  Simon Josefsson  <jas@extundo.com>
61688
61689         * modules/sha1: Depend on stdint instead of md5.
61690
61691         * modules/md5: Depend on stdint, remove uint32_t.
61692
61693 2005-10-17  Simon Josefsson  <jas@extundo.com>
61694
61695         * modules/gc-sha1-tests: New file.
61696
61697         * tests/test-gc-sha1.c: New file.
61698
61699 2005-10-17  Simon Josefsson  <jas@extundo.com>
61700
61701         * m4/md5.m4: Remove call to uint32_t.m4.
61702
61703 2005-10-17  Simon Josefsson  <jas@extundo.com>
61704
61705         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
61706
61707         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
61708         md5.h.
61709
61710         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
61711
61712         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
61713
61714 2005-10-17  Simon Josefsson  <jas@extundo.com>
61715
61716         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
61717
61718 2005-10-17  Simon Josefsson  <jas@extundo.com>
61719
61720         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
61721
61722 2005-10-17  Simon Josefsson  <jas@extundo.com>
61723
61724         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
61725
61726         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
61727
61728 2005-10-17  Bruno Haible  <bruno@clisp.org>
61729
61730         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
61731         that it can also be used in a test.
61732
61733 2005-10-16  Bruno Haible  <bruno@clisp.org>
61734
61735         * gnulib-tool (func_emit_tests_Makefile_am): Also define
61736         TESTS_ENVIRONMENT, so that individual tests can augment it.
61737
61738         * gnulib-tool (func_create_testdir): Use an intermediate target for
61739         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
61740         macros, like $(ALLOCA_H), which cannot be passed through the command
61741         line.
61742
61743 2005-10-15  Simon Josefsson  <jas@extundo.com>
61744
61745         * modules/rijndael-tests: New file.
61746
61747         * modules/rijndael: New file.
61748
61749 2005-10-15  Simon Josefsson  <jas@extundo.com>
61750
61751         * m4/rijndael.m4: New file.
61752
61753 2005-10-15  Simon Josefsson  <jas@extundo.com>
61754
61755         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
61756
61757         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
61758
61759 2005-10-14  Simon Josefsson  <jas@extundo.com>
61760
61761         * tests/test-arcfour.c: New file.
61762
61763         * modules/arcfour, modules/arcfour-tests: New files.
61764
61765 2005-10-14  Simon Josefsson  <jas@extundo.com>
61766
61767         * m4/arcfour.m4: New file.
61768
61769 2005-10-14  Simon Josefsson  <jas@extundo.com>
61770
61771         * lib/arcfour.h, lib/arcfour.c: New files.
61772
61773 2005-10-14  Roland McGrath  <roland@redhat.com>
61774
61775         Import from libc.  [BZ #1331]
61776         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
61777         macro argument.
61778         Reported by Matej Vela <vela@debian.org>.
61779
61780 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
61781
61782         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
61783         include <wchar.h>; no longer needed.
61784
61785 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
61786
61787         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
61788
61789 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
61790         and  Ulrich Drepper  <drepper@redhat.com>
61791
61792         Import from libc.
61793         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
61794         instead of inline stream orientation test and two separate
61795         function calls.  Pay no attention to USE_IN_LIBIO.
61796
61797 2005-10-13  Simon Josefsson  <jas@extundo.com>
61798
61799         * modules/gc-hmac-md5-tests: New file.
61800
61801         * tests/test-gc-hmac-sha1.c: New file.
61802
61803         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
61804
61805         * modules/gc-hmac-md5-tests: New file.
61806
61807         * tests/test-gc-md5.c: New file.
61808
61809         * modules/gc-md5-tests: New file.
61810
61811 2005-10-13  Simon Josefsson  <jas@extundo.com>
61812
61813         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
61814         Move memory allocation outside of loop.
61815
61816 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
61817
61818         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
61819         intermediate directory is in a read-only file system.  Problem
61820         reported by Eric Blake.
61821
61822 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
61823
61824         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
61825
61826 2005-10-12  Simon Josefsson  <jas@extundo.com>
61827
61828         * tests/test-hmac-sha1.c: New file.
61829
61830         * modules/hmac-sha1-tests: New file.
61831
61832         * modules/hmac-sha1: New file.
61833
61834 2005-10-12  Simon Josefsson  <jas@extundo.com>
61835
61836         * modules/gc-sha1: New file.
61837
61838 2005-10-12  Simon Josefsson  <jas@extundo.com>
61839
61840         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
61841
61842         * tests/test-gc-pbkdf2-sha1.c: New file.
61843
61844 2005-10-12  Simon Josefsson  <jas@extundo.com>
61845
61846         * modules/gc-md5, modules/gc-hmac-md5: New files.
61847
61848         * modules/gc (Files): Remove md5, memxor and hmac files.
61849
61850 2005-10-12  Simon Josefsson  <jas@extundo.com>
61851
61852         * m4/gc-pbkdf2-sha1.m4: New file.
61853
61854         * m4/gc-hmac-sha1.m4: New file.
61855
61856         * m4/gc-sha1: New file.
61857
61858         * m4/hmac-sha1.m4: New file.
61859
61860 2005-10-12  Simon Josefsson  <jas@extundo.com>
61861
61862         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
61863
61864         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
61865
61866 2005-10-12  Simon Josefsson  <jas@extundo.com>
61867
61868         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
61869         suggested by Bruno Haible <bruno@clisp.org>.
61870
61871 2005-10-12  Simon Josefsson  <jas@extundo.com>
61872
61873         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
61874
61875 2005-10-12  Simon Josefsson  <jas@extundo.com>
61876
61877         * lib/gc-pbkdf2-sha1.c: New file.
61878
61879         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
61880
61881 2005-10-12  Simon Josefsson  <jas@extundo.com>
61882
61883         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
61884
61885         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
61886
61887 2005-10-12  Simon Josefsson  <jas@extundo.com>
61888
61889         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
61890         GC_USE_HMAC_MD5, respectively.
61891
61892         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
61893         (gc_md5): Fix typo.
61894
61895         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
61896
61897         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
61898
61899         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
61900
61901 2005-10-12  Bruno Haible  <bruno@clisp.org>
61902
61903         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
61904         Reported by Stepan Kasal <kasal@ucw.cz>.
61905
61906 2005-10-11  Simon Josefsson  <jas@extundo.com>
61907
61908         * tests/test-crc.c: New file.
61909
61910         * modules/crc, modules/crc-tests: New files.
61911
61912 2005-10-11  Simon Josefsson  <jas@extundo.com>
61913
61914         * m4/crc.m4: New file.
61915
61916 2005-10-11  Simon Josefsson  <jas@extundo.com>
61917
61918         * lib/gc.h: Add gc_hash and gc_hash_buffer.
61919
61920         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
61921
61922         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
61923
61924 2005-10-11  Simon Josefsson  <jas@extundo.com>
61925
61926         * lib/crc.h, lib/crc.c: New files.
61927
61928         * lib/gc.h (gc_hash_buffer): Add doc.
61929
61930 2005-10-11  Bruno Haible  <bruno@clisp.org>
61931
61932         * modules/c-strcasestr: New file.
61933         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
61934
61935 2005-10-11  Bruno Haible  <bruno@clisp.org>
61936
61937         * modules/c-strcase: New file.
61938         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
61939
61940 2005-10-11  Bruno Haible  <bruno@clisp.org>
61941
61942         * lib/strcasecmp.c: Include limits.h.
61943         (strcasecmp): Avoid integer overflow on exotic platforms.
61944         * lib/strncasecmp.c: Include limits.h.
61945         (strncasecmp): Avoid integer overflow on exotic platforms.
61946         Reported by Paul Eggert.
61947
61948 2005-10-11  Bruno Haible  <bruno@clisp.org>
61949
61950         * lib/c-strcasestr.h: New file, from GNU gettext.
61951         * lib/c-strcasestr.c: New file, from GNU gettext.
61952
61953 2005-10-11  Bruno Haible  <bruno@clisp.org>
61954
61955         * lib/c-strcase.h: New file, from GNU gettext.
61956         * lib/c-strcasecmp.c: New file, from GNU gettext.
61957         * lib/c-strncasecmp.c: New file, from GNU gettext.
61958
61959 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
61960
61961         * modules/mempcpy (License): GPL -> LGPL.
61962         * modules/strchrnul (License): Likewise.
61963         * modules/sysexits (License): Likewise.
61964
61965 2005-10-08  Simon Josefsson  <jas@extundo.com>
61966
61967         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
61968
61969 2005-10-07  Simon Josefsson  <jas@extundo.com>
61970
61971         * m4/memxor.m4: Remove gl_C_RESTRICT call.
61972
61973 2005-10-06  Simon Josefsson  <jas@extundo.com>
61974
61975         * tests/test-hmac-md5.c: New file.
61976
61977         * modules/hmac-md5-tests: New file.
61978
61979         * modules/hmac-md5: New file.
61980
61981 2005-10-06  Simon Josefsson  <jas@extundo.com>
61982
61983         * m4/hmac-md5.m4: New file.
61984
61985         * m4/memxor.m4: Require gl_C_RESTRICT.
61986
61987 2005-10-06  Simon Josefsson  <jas@extundo.com>
61988
61989         * lib/memxor.c (memxor): Avoid casts and warnings.
61990
61991 2005-10-06  Simon Josefsson  <jas@extundo.com>
61992
61993         * lib/hmac-md5.c: New file.
61994
61995         * lib/hmac.h: New file.
61996
61997 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
61998
61999         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
62000         promotes to int, not unsigned int, to catch the AIX 5.3
62001         compiler bug.
62002
62003 2005-10-05  Simon Josefsson  <jas@extundo.com>
62004
62005         * modules/memxor: New file.
62006
62007         * modules/iconv (Files): Move config.rpath to havelib, it is used
62008         there.
62009
62010         * modules/havelib (Files): Add config.rpath.
62011
62012 2005-10-05  Simon Josefsson  <jas@extundo.com>
62013
62014         * m4/memxor.m4: New file.
62015
62016 2005-10-05  Simon Josefsson  <jas@extundo.com>
62017
62018         * lib/memxor.c (memxor): Fix compiler error.
62019
62020         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
62021         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
62022
62023         * lib/memxor.h, lib/memxor.c: New files.
62024
62025         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
62026         we assume all systems have it, suggested by Jim Meyering
62027         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
62028         any systems lack sys/socket.h; mingw32 is known to lack it, but we
62029         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
62030         same reasons.
62031
62032 2005-10-05  Simon Josefsson  <jas@extundo.com>
62033
62034         * config/srclist.txt: Add glibc bug 1423 for md5.h.
62035
62036 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
62037
62038         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
62039         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
62040         needed, since the source code now assumes these .h files.
62041
62042 2005-10-05  Derek Price  <derek@ximbiot.com>
62043
62044         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
62045
62046 2005-10-05  Bruno Haible  <bruno@clisp.org>
62047
62048         * modules/stdint (License): Change to LGPL.
62049
62050 2005-10-04  Simon Josefsson  <jas@extundo.com>
62051
62052         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
62053         D. Baushke" <mdb@gnu.org>.
62054
62055 2005-10-04  Bruno Haible  <bruno@clisp.org>
62056
62057         * lib/verify.h (verify_true): Provide alternative definition for C++.
62058
62059 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
62060
62061         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
62062         (SSIZE_MAX): New macro, if not already defined.
62063         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
62064         than 2 GiB.
62065
62066 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
62067
62068         Sync from coreutils.
62069         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
62070         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
62071         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
62072         ULLONG_MAX doesn't work with 2.7.2.1.
62073
62074 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
62075
62076         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
62077         From Ben Pfaff.
62078
62079         * modules/exclude (Depends-on): Depend on verify.
62080         * modules/strtoimax (Depends-on): Likewise.
62081         * modules/utimecmp (Depends-on): Likewise.
62082
62083 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
62084
62085         * lib/exclude.c: Include verify.h.
62086         (verify): Remove.  All callers changed to use verify.h's version.
62087         * lib/strtoimax.c: Likewise.
62088         * lib/utimecmp.c: Likewis.e
62089
62090         Sync from coreutils.
62091         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
62092         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
62093         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
62094         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
62095         bother returning ENOSYS if settimeofday or stime fails; just let
62096         them return whatever errno they want to return.
62097         * lib/utimens.c: Include unistd.h, for dup2.
62098         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
62099         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
62100
62101 2005-10-02  Jim Meyering  <jim@meyering.net>
62102
62103         Sync from coreutils.
62104         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
62105         from glibc-2.2.5 that fails for read-only files.
62106
62107 2005-10-02  Jim Meyering  <jim@meyering.net>
62108
62109         Sync from coreutils.
62110         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
62111         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
62112         `#if HAVE_CONFIG_H'.
62113         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
62114         Remove AT_FDCWD test.
62115         Do not consume the fd unless successful.
62116         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
62117         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
62118         block, so that we don't even try to compile it if settimeofday is
62119         available.  This works around a compilation failure on OSF1 V5.1,
62120         due to stime requiring a `long int*' while tv_sec is `int'.
62121
62122 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
62123
62124         Sync from coreutils.
62125         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
62126         against `yes', rather than just testing for nonempty.
62127
62128 2005-10-01  Simon Josefsson  <jas@extundo.com>
62129
62130         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
62131         and Darwin.
62132
62133         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
62134         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
62135         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
62136         freeaddrinfo and gai_strerror are declared by the POSIX headers.
62137         Check if struct addrinfo is declared.
62138
62139 2005-10-01  Simon Josefsson  <jas@extundo.com>
62140
62141         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
62142         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
62143         AI_* and EAI_* definitions.  Protect function declarations.
62144
62145 2005-10-01  Jim Meyering  <jim@meyering.net>
62146
62147         Sync from coreutils.
62148
62149         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
62150         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
62151         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
62152         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
62153         in the inet and nsl libraries.  Required on Solaris 5.7.
62154
62155 2005-10-01  Jim Meyering  <jim@meyering.net>
62156
62157         Sync from coreutils.
62158         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
62159         in the inet and nsl libraries.  Required on Solaris 5.7.
62160
62161 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
62162
62163         * lib/getdelim.c (getdelim): Remove unused variables.
62164
62165 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
62166
62167         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
62168         so that the code works even with ancient cpp.  Portability problem
62169         with GCC 2.7.2.1 reported by Thomas M.Ott.
62170
62171 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
62172
62173         * modules/regex (Depends-on): Add strcase.
62174
62175         * modules/gethostname (Licence): Change from GPL to LGPL, since
62176         gethostname.c is a trivial implementation of a standard library
62177         function.
62178         * modules/poll (License): Change from GPL to LGPL, since it's
62179         derived from LGPL code.
62180
62181 2005-09-27  Jim Meyering  <jim@meyering.net>
62182
62183         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
62184         HAVE_CONFIG_H.
62185
62186         * lib/intprops.h (signed_type_or_expr__): Define.
62187         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
62188         for unsigned types.
62189
62190 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
62191
62192         * lib/verify.h (verify_expr): Remove, replacing with:
62193         (verify_true): New macro that returns true instead of void.
62194         (verify_type__): Remove.
62195         (verify): Use verify_true rather than verify_type__.
62196
62197 2005-09-26  Bruno Haible  <bruno@clisp.org>
62198
62199         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
62200         is necessary.
62201         (lib_SOURCES): Remove mbchar.c.
62202         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
62203         (Files): Add m4/mbrtowc.m4.
62204         * modules/mbiter: Likewise.
62205         * modules/mbuiter: Likewise.
62206
62207 2005-09-26  Bruno Haible  <bruno@clisp.org>
62208
62209         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
62210         compile mbchar.c if they are not both present.
62211         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
62212         * m4/mbiter.m4 (gl_MBITER): Likewise.
62213         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
62214         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
62215         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
62216
62217 2005-09-25  Jim Meyering  <jim@meyering.net>
62218
62219         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
62220         also uses socklen_t.
62221
62222 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
62223
62224         * lib/utimens.c (ENOSYS): Define if not already defined.
62225         (futimens): Support having a null PATH if the file descriptor
62226         is nonnegative.
62227
62228         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
62229         Remove.
62230         (__attribute): Define to empty unless GCC 3.1 or later.
62231         This works around a core dump on OpenBSD 3.4, which has GCC
62232         2.95.3, which dumps core when given __attribute__(()).  It also
62233         simplifies other tests, since we really don't want to bother with
62234         worrying about which ancient version of GCC supported what.
62235         Original problem reported by Yoann Vandoorselaere, with part of
62236         the fix suggested by Derek Price.
62237
62238 2005-09-24  Jim Meyering  <jim@meyering.net>
62239
62240         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
62241         so we can once again use a positive bitfield width of 1 -- now we
62242         don't have to explain why we were using a bitfield width of 2.
62243
62244 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
62245
62246         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
62247         and similarly for the other external symbols.  Problem reported
62248         by James Gallager.
62249
62250         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
62251         bug reported by Jim Meyering.
62252
62253         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
62254         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
62255         not needed, since socklen is a prerequisite module.
62256
62257 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
62258
62259         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
62260         Problem reported by Eric Blake.
62261         (getaddrinfo): Initialize se so that it's not garbage.
62262         Redo internal storage allocation so that it doesn't make unportable
62263         assumptions about alignment.
62264         Fix a memory leak.
62265
62266         * lib/utimens.c (futimens): Use futimesat if available.
62267         Prefer it to futimes since it doesn't have the futimes bug.
62268
62269         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
62270         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
62271         Instead, declare a function that returns a pointer to an array,
62272         and use verify_type__ to declare the size of the array.
62273         Problem and germ of a solution reported by Bruno Haible.
62274         (verify_type__): Use 2, not 1, for bitfield size, to avoid
62275         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
62276
62277 2005-09-23  Jim Meyering  <jim@meyering.net>
62278
62279         Sync from coreutils.
62280         Correct build failure (socklen_t not defined) on at least
62281         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
62282         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
62283
62284 2005-09-23  Jim Meyering  <jim@meyering.net>
62285
62286         * modules/getaddrinfo (Depends-on): Add socklen.
62287
62288 2005-09-23  Bruno Haible  <bruno@clisp.org>
62289
62290         * tests/test-verify.c: New file.
62291
62292 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
62293
62294         Sync from coreutils.
62295
62296         * modules/argmatch (Depends-on): Add verify.
62297         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
62298         unistd-safer.
62299         * modules/save-cwd (Depends-on): Likewise.
62300
62301         * modules/openat (Files): Add lib/openat-die.c.
62302         (Depends-on): Remove error, exitfail.
62303         Add dirname.
62304
62305         * modules/verify: New file.
62306         * MODULES.html.sh (Diagnostics <assert.h>): New section,
62307         with "verify" module.
62308
62309 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
62310
62311         Sync from coreutils.
62312
62313         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
62314         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
62315         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
62316         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
62317         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
62318         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
62319         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
62320         Don't bother checking for string.h, stdlib.h, unistd.h.
62321         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
62322         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
62323         module's job.
62324         * m4/jm-macros.m4 (gl_MACROS): Likewise.
62325         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
62326
62327         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
62328         (gl_GETDATE): Use it.
62329
62330         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
62331
62332 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
62333
62334         Sync from coreutils.
62335
62336         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
62337         stat-time.h.
62338         * lib/argmatch.h: Include verify.h
62339         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
62340         (ARGMATCH_ASSERT): Remove; unused.
62341         * lib/canonicalize.c: Assume STDC_HEADERS.
62342         * lib/exclude.c: Include "strcase.h".
62343         * lib/regex_internal.h [!defined _LIBC]: Likewise.
62344         * lib/getusershell.c: Include stdio--.h rather than stdio.h
62345         and stdio-safer.h.
62346         (getusershell): Call fopen, not fopen_safer.
62347         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
62348         Do not include unistd-safer.h.
62349         (save_cwd): Don't call fd_safer; no longer needed
62350         now that we include fcntl--.h.
62351
62352         * lib/getdate.y (relative_time): New type.
62353         (RELATIVE_TIME_0): New constant.
62354         (parser_control): Use relative_time instead of doing it ourselves.
62355         (%union): Add new relative_time rel member.
62356         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
62357         Now typeless.
62358         (relunit, relunit_snumber): Now of type rel.
62359         (zone, rel, relunit, get_date): Adjust to above changes.
62360
62361         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
62362         Do not include unistd-safer.h.
62363         (getloadavg): Don't call fd_safer; no longer needed
62364         now that we include fcntl--.h.
62365
62366         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
62367         (make_dir_parents): Treat ENOSYS like EEXIST.
62368
62369         Improve quality of diagnostics on restore_cwd failure.
62370         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
62371         (make_dir_parents): Last arg is now int * (for errno), not bool *.
62372         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
62373         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
62374         each time through the loop.  Do not diagnose restore_cwd failure;
62375         that is the caller's job (and perhaps the caller does not care).
62376
62377         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
62378         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
62379         If the file already exists but is not a directory, don't bother
62380         to try to make its parents.
62381         Close potential file descriptor leak if we can't chdir("/") (!).
62382         Don't always return true if chdir($PWD) fails; return true only
62383         if the requested action was done successfully (except for the
62384         chdir($PWD)).
62385         Don't log final directory unless we actually made it.
62386         Refactor to avoid duplicate code to fix up permissions.
62387         Don't attempt to fix up parent permissions if chdir($PWD) fails.
62388
62389         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
62390         to make it a bit faster and (I hope) clearer.
62391         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
62392         Fix bug in formats like %2N.
62393
62394         * lib/verify.h: New file.
62395
62396 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
62397
62398         Sync from coreutils.
62399         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
62400
62401 2005-09-22  Jim Meyering  <jim@meyering.net>
62402
62403         Sync from coreutils.
62404
62405         * m4/lstat.m4 (gl_FUNC_LSTAT):
62406         Use AC_LIBSOURCES to require lstat.c and lstat.h.
62407         Remove obsolete comment.
62408         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
62409         * m4/xstrtod.m4: Likewise.
62410
62411         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
62412
62413 2005-09-22  Jim Meyering  <jim@meyering.net>
62414
62415         Sync from coreutils.
62416
62417         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
62418
62419         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
62420         the .tm_year member, since otherwise gcc-4.0 would now warn about
62421         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
62422
62423         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
62424         order to avoid an unsuppressible warning from gcc on 64-bit systems.
62425
62426         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
62427         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
62428         when run in a time zone for which daylight savings time is in effect
62429         for the starting date.
62430
62431         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
62432         stop us from restricting permissions of just-created absolute-named
62433         directories.
62434         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
62435         to restore initial working directory.
62436         * lib/mkdir-p.c (make_dir_parents): New parameter:
62437         different_working_dir, to tell caller if/when we change the working
62438         directory and are unable to return to the initial one.
62439         * lib/mkdir-p.h (make_dir_parents): Update prototype.
62440         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
62441         `return false'.  This fixes a bug introduced on 2004-07-30.
62442
62443         * lib/openat.c (fdopendir): Be sure to close the supplied
62444         file descriptor before returning.  This makes our replacement
62445         implementation a little closer to Solaris's, where fdopendir
62446         ties the file descriptor to the returned DIR* pointer.
62447         * lib/openat.c (unlinkat): New function.
62448         * lib/openat.h (unlinkat): Add prototype.
62449         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
62450         (openat_restore_fail): Rename from openat_restore_die.
62451         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
62452
62453         Provide an alternative to exiting immediately upon save_cwd or
62454         restore_cwd failure.  Now, an application can arrange e.g.,
62455         to perform a longjump in that case.
62456         * lib/openat.c: Include dirname.h.
62457         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
62458         (rpl_openat, fdopendir, fstatat): Call openat_save_die
62459         and openat_restore_die rather than calling error directly.
62460         Don't include "error.h" or "exitfail.h"; they're no longer needed.
62461
62462         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
62463         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
62464         define.
62465
62466         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
62467         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
62468                             int utc, int nanoseconds);
62469         Background:
62470         date should not have to allocate a megabyte of virtual memory to
62471         handle a format argument like +%1048575T.  When implemented with
62472         strftime, it must allocate such a buffer, use strftime to fill it
62473         in, print it, then free it.
62474         With fprintftime, it simply prints everything and exits.
62475         With no need for memory allocation, that's one fewer way to fail.
62476         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
62477         optional field width, not before, so we accept %9:z, not %:9z.
62478         (my_strftime): Be sure to use L_('x') for literals.
62479
62480         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
62481         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
62482         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
62483         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
62484         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
62485         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
62486         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
62487         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
62488         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
62489         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
62490         * lib/xgethostname.c, lib/xreadlink.c:
62491         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
62492
62493         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
62494         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
62495         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
62496         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
62497         and don't include <sys/file.h>).
62498
62499 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
62500
62501         Sync from coreutils.
62502
62503         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
62504         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
62505         [!LDAV_DONE]: Avoid unused variable warning.
62506
62507 2005-09-21  Bruno Haible  <bruno@clisp.org>
62508
62509         * lib/unicodeio.h (unicode_to_mb): New declaration.
62510
62511 2005-09-20  Derek Price  <derek@ximbiot.com>
62512
62513         * lib/getaddrinfo.c: Don't include <netdb.h> included from
62514         getaddrinfo.h.
62515
62516 2005-09-20  Bruno Haible  <bruno@clisp.org>
62517
62518         * gnulib-tool: Remove trailing slashes from the values specified for
62519         --source-base, --m4-base, --tests-base, --aux-dir.
62520         Suggested by Simon Josefsson <jas@extundo.com>.
62521
62522 2005-09-20  Bruno Haible  <bruno@clisp.org>
62523
62524         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
62525         func_modules_to_filelist, func_import, func_create_testdir): Make all
62526         sorting results locale-independent, so that gnulib-cache.m4 doesn't
62527         change when gnulib-tool is invoked in a different locale.
62528
62529 2005-09-19  Simon Josefsson  <jas@extundo.com>
62530
62531         * m4/socklen.m4: Fix typo.
62532
62533 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62534
62535         Use a consistent style for including <config.h>.
62536         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
62537         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
62538         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
62539         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
62540         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
62541         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
62542         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
62543         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
62544         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
62545         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
62546         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
62547         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
62548         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
62549         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
62550         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
62551         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
62552         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
62553         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
62554         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
62555         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
62556         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
62557         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
62558         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
62559         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
62560         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
62561         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
62562         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
62563         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
62564         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
62565         lib/xstrtoumax.c, lib/yesno.c:
62566         Standardize inclusion of config.h.
62567         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
62568         lib/inttostr.h:  Removed inclusion of config.h from header files.
62569         * lib/inttostr.c:  Adjusted in-tree users.
62570         * lib/timespec.h: Remove superfluous warning to include config.h.
62571         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
62572         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
62573         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
62574         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
62575         config.h with HAVE_CONFIG_H.
62576
62577 2005-09-19  Jim Meyering  <jim@meyering.net>
62578
62579         * modules/pathmax (License): Change to LGPL.
62580
62581 2005-09-19  Derek Price  <derek@ximbiot.com>
62582
62583         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
62584
62585 2005-09-19  Bruno Haible  <bruno@clisp.org>
62586
62587         * gnulib-tool (import): Provide default for --tests-base.
62588
62589 2005-09-19  Bruno Haible  <bruno@clisp.org>
62590
62591         * doc/quote.texi: New file, extracted from gnulib.texi.
62592         * doc/ctime.texi: New file, extracted from gnulib.texi.
62593         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
62594         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
62595         * doc/gnulib.texi: Include them.
62596
62597 2005-09-18  Bruno Haible  <bruno@clisp.org>
62598
62599         Portability fix.
62600         * gnulib-tool (func_readlink): New function.
62601         (func_ln_if_changed): Use it.
62602
62603 2005-09-18  Bruno Haible  <bruno@clisp.org>
62604
62605         * gnulib-tool: Support --with-tests also with --import.
62606         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
62607         (func_import): Use variables $testsbase and $inctests. Emit a
62608         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
62609         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
62610         SUBDIRS += $testsdir.
62611         (func_create_testdir): Update.
62612
62613 2005-09-18  Bruno Haible  <bruno@clisp.org>
62614
62615         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
62616         instead of $dry_run.
62617         (func_cp_if_changed, func_mv_if_changed): Remove functions.
62618         (func_ln_if_changed): Don't handle dry-run here.
62619         (func_import): In dry-run mode, detect more precisely which actions
62620         would be performed, and don't use "...ing" verbs.
62621
62622 2005-09-18  Bruno Haible  <bruno@clisp.org>
62623
62624         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
62625         (func_import): Use join on two temporary files instead of three nested
62626         loops, in order to determine which files are new or old.
62627
62628 2005-09-18  Bruno Haible  <bruno@clisp.org>
62629
62630         * gnulib-tool (func_import): Comment out code that spits out the
62631         new files with --dry-run.
62632
62633 2005-09-18  Bruno Haible  <bruno@clisp.org>
62634
62635         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
62636
62637 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
62638
62639         * lib/stat-time.h: New file.
62640         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
62641         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
62642         in a different way.
62643         (timespec_cmp): New function.
62644         * lib/utimecmp.c: Include stat-time.h.
62645         (SYSCALL_RESOLUTION): Depend on whether various struct stat
62646         members exist, not on the obsolescent ST_MTIM_NSEC.
62647         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
62648
62649 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
62650
62651         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
62652
62653 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
62654
62655         * MODULES.html.sh (File system functions): Add stat-time.
62656         * modules/stat-time: New file.
62657         * modules/timespec (Files): Remove m4/st_mtim.m4; this
62658         is now done in a different way, by the stat-time module.
62659         * modules/utimecmp (Depends-on): Add stat-time.
62660
62661 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
62662
62663         * m4/st_mtim.m4: Remove.  Superseded by...
62664         * m4/stat-time.m4: New file.
62665         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
62666         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
62667
62668 2005-09-15  Derek Price  <derek@ximbiot.com>
62669
62670         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
62671
62672 2005-09-15  Derek Price  <derek@ximbiot.com>
62673
62674         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
62675         * lib/regex_internal.c: Ditto, using this...
62676         (__GNUC_PREREQ): ...new macro.
62677         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
62678         using...
62679         (__GNUC_PREREQ): ...this new macro.
62680
62681         * lib/strstr.h: Include string.h. Define strstr as a macro here.
62682
62683 2005-09-15  Derek Price  <derek@ximbiot.com>
62684             Paul Eggert  <eggert@cs.ucla.edu>
62685
62686         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
62687         changes, consolidating in...
62688         * lib/regex_internal.h: ...this file.
62689
62690 2005-09-13  Jim Meyering  <jim@meyering.net>
62691
62692         * lib/canon-host.c: Filter through gnu indent and reword comments
62693         slightly.
62694         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
62695
62696 2005-09-13  Derek Price  <derek@ximbiot.com>
62697
62698         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
62699         failure.
62700         Reported by Jim Meyering  <jim@meyering.net>.
62701
62702 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
62703
62704         * lib/base64.c: Typo.
62705         (base64_encode): Put b64str in initialized data section.
62706
62707 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
62708
62709         Merge glibc and coreutils changes into gnulib, plus a few
62710         extra fixes.
62711         * lib/md5.c: Use #error rather than a string.
62712         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
62713         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
62714         (__attribute__): Define to empty for non recent-GCC.
62715         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
62716         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
62717         Renamed from their non-__ counterparts, with new macros replacing
62718         them if not _LIBC.  Add __THROW attribute.
62719         (rol): Remove.
62720         (struct md5_ctx): Align buffer if using GCC.
62721         * lib/sha1.h (struct sha1_ctx): Likewise.
62722         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
62723         The old name was backwards.
62724         (NOTSWAP): Remove; not used.
62725         (rol): New macro, moved here from md5.h.
62726         (sha1_process_block): Remove a FIXME that doesn't make sense.
62727
62728 2005-09-12  Derek Price  <derek@ximbiot.com>
62729
62730         Return usable errors from canon-host.
62731         * lib/canon-host.h: New file.
62732         * lib/canon-host.c (canon_host): Wrap...
62733         (canon_host_r): ...this new function, which now relies exclusively on
62734         getaddrinfo.
62735         (ch_strerror): New function.
62736         (last_cherror): New global.
62737         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
62738         interface.
62739         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
62740         void *.
62741         (freeaddrinfo): Free ai->ai_canonname when set.
62742
62743 2005-09-12  Derek Price  <derek@ximbiot.com>
62744
62745         Make canon-host require getaddrinfo.
62746         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
62747         AC_LIBSOURCE canon-host.h.  Call...
62748         (gl_PREREQ_CANON_HOST): ...this new function, which requires
62749         gl_GETADDRINFO.
62750         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
62751
62752 2005-09-12  Derek Price  <derek@ximbiot.com>
62753
62754         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
62755         LGPL.
62756         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
62757
62758 2005-09-12  Derek Price  <derek@ximbiot.com>
62759
62760         * lib/gai_strerror.c: Include config.h when available.  Include
62761         getaddrinfo.h before other headers to test interface.
62762         Reported by Larry Jones <lawrence.jones@ugs.com>.
62763
62764 2005-09-12  Derek Price  <derek@ximbiot.com>
62765             Paul Eggert  <eggert@cs.ucla.edu>
62766
62767         * modules/glob (Files): Add glob-libc.h.
62768
62769 2005-09-12  Derek Price  <derek@ximbiot.com>
62770             Paul Eggert  <eggert@cs.ucla.edu>
62771
62772         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
62773         glob_.h, glob-libc.h.
62774         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
62775
62776 2005-09-12  Derek Price  <derek@ximbiot.com>
62777             Paul Eggert  <eggert@cs.ucla.edu>
62778
62779         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
62780         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
62781         protecting things that should be done only in gnulib contexts.
62782         * lib/glob_.h: New file, containing only the glob things needed for
62783         gnulib.
62784         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
62785         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
62786         (glob, globfree, glob_pattern_p): Now defined simply in terms of
62787         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
62788         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
62789         and to respect the namespace rules better.
62790
62791 2005-09-08  Simon Josefsson  <jas@extundo.com>
62792
62793         * modules/socklen: New file.
62794
62795 2005-09-08  Simon Josefsson  <jas@extundo.com>
62796
62797         * m4/socklen.m4: New file.
62798
62799 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
62800
62801         * modules/utimens (Files): Add m4/utimbuf.m4, since
62802         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
62803         Reported by Sergey Poznyakoff.
62804
62805 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
62806
62807         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
62808         definitions, since that's the preferred style in glibc.
62809         Fix a minor spacing issue, and update copyright notice to match
62810         glibc's.
62811
62812 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
62813
62814         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
62815
62816 2005-09-06  Simon Josefsson  <jas@extundo.com>
62817
62818         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
62819         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
62820
62821 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
62822
62823         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
62824         warning.
62825
62826 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
62827
62828         * config/srclist.txt: Add glibc bug 1302.
62829
62830 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
62831
62832         Change bitset word type from unsigned int to unsigned long int,
62833         as this has better performance on typical 64-bit hosts.
62834         Port bitset code to hosts with unusual word sizes.
62835         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
62836         (build_collating_symbol):
62837         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
62838         argument is a bitset.  This is merely a style issue, but it makes
62839         it clearer that an entire array is expected.
62840         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
62841         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
62842         Port to the case where bitset_word is not the same as unsigned int.
62843         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
62844         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
62845         Likewise.
62846         * lib/regexec.c (check_dst_limits_calc_pos_1,
62847         check_subexp_matching_top):
62848         (build_trtable, group_nodes_into_DFAstates):
62849         Likewise.
62850         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
62851         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
62852         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
62853         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
62854         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
62855         * lib/regcomp.c (optimize_subexps, lower_subexp):
62856         Work even if bitset_word has holes in its bitwise representation.
62857         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
62858         * lib/regexec.c (check_dst_limits_calc_pos_1,
62859         check_subexp_matching_top):
62860         Likewise.
62861         * lib/regex_internal.c (re_string_reconstruct):
62862         Don't assume UCHAR_MAX == 255.
62863         * lib/regex_internal.h (bitset_set_all): Likewise.
62864         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
62865         All uses changed.
62866         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
62867         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
62868         All uses changed.
62869         (BITSET_WORD_MAX): New macro.
62870         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
62871         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
62872         (bitset_empty, bitset_copy):
62873         Prefer sizeof (bitset) to multiplying it out ourselves.
62874         (bitset_not_merge): Remove; unused.
62875         (bitset_contain): Return bool, not unsigned int with one bit on.
62876         All callers changed.
62877         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
62878         alignment than re_node_set; do this by defining a new internal
62879         type struct dests_alloc and using it to allocate memory.
62880
62881 2005-09-05  Bruno Haible  <bruno@clisp.org>
62882
62883         * gnulib-tool (func_import): Fix comparison in handling of symbolic
62884         links.
62885
62886 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
62887
62888         * modules/size_max (Makefile.am): Add size_max.h
62889
62890 2005-09-04  Derek Price  <derek@ximbiot.com>
62891
62892         * gnulib-tool (func_import): Fix reversed $symbolic logic.
62893
62894 2005-09-03  Simon Josefsson  <jas@extundo.com>
62895
62896         * gnulib-tool: Fix typo.
62897
62898 2005-09-03  Simon Josefsson  <jas@extundo.com>
62899
62900         * config/srclist.txt: Add glibc bug 1293.
62901
62902 2005-09-03  Derek Price  <derek@ximbiot.com>
62903
62904         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
62905         From Larry Jones <lawrence.jones@ugs.com>.
62906
62907 2005-09-02  Simon Josefsson  <jas@extundo.com>
62908
62909         * modules/socklen: New file.
62910
62911 2005-09-02  Simon Josefsson  <jas@extundo.com>
62912
62913         * modules/havelib: New module.
62914
62915         * modules/gettext, modules/iconv, modules/lock, modules/readline:
62916         Use havelib.
62917
62918 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
62919
62920         Check for arithmetic overflow when calculating sizes, to prevent
62921         some buffer-overflow issues.  These patches are conservative, in the
62922         sense that when I couldn't determine whether an overflow was possible,
62923         I inserted a run-time check.
62924         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
62925         macros.
62926         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
62927         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
62928         (re_xnrealloc, re_x2nrealloc): New inline functions.
62929         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
62930         parse_bracket_exp):
62931         (build_equiv_class, build_charclass): Check for arithmetic overflow
62932         in size expression calculations.
62933         * lib/regex_internal.c (re_string_realloc_buffers):
62934         (build_wcs_upper_buffer, re_node_set_add_intersect):
62935         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
62936         (re_dfa_add_node, register_state): Likewise.
62937         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
62938         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
62939         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
62940         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
62941
62942 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
62943
62944         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
62945         m4/ulonglong.m4.  Problem reported by Martin Lambers.
62946
62947 2005-09-02  Bruno Haible  <bruno@clisp.org>
62948
62949         Support for lib vs. lib64 distinction on biarch platforms.
62950         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
62951         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
62952         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
62953
62954 2005-09-02  Bruno Haible  <bruno@clisp.org>
62955
62956         * gnulib-tool (import): In the other first-use case, provide defaults
62957         as well.
62958
62959 2005-09-02  Bruno Haible  <bruno@clisp.org>
62960
62961         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
62962         patches not yet found in the latest gettext release.
62963
62964 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
62965
62966         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
62967         to avoid a collision with bits/local_lim.h in glibc.
62968         All uses changed.  Problem reported by Dmitry V. Levin in
62969         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
62970
62971         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
62972         bugs in int versus size_t comparisons.
62973         (re_string_context_at): Fix bug where the code assumed that
62974         Idx is signed.
62975
62976         Use bool where appropriate.
62977         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
62978         All callers changed.
62979         (calc_eclosure_iter): Likewise, for ROOT arg.
62980         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
62981         (build_charclass_op): Likewise, for NON_MATCH arg.
62982         * lib/regex_internal.c (re_string_allocate, re_string_construct):
62983         (re_string_construct_common): Likewise, for ICASE arg.
62984         * lib/regexec.c (re_search_2_stub, re_search_stub):
62985         Likewise, for RET_LEN arg.
62986         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
62987         (set_regs): Likewise, for FL_BACKTRACK arg.
62988         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
62989         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
62990         (calc_eclosure_iter, parse_bracket_exp):
62991         Use bool for internal variables that are booleans.
62992         * lib/regexec.c (re_search_internal, check_matching,
62993         proceed_next_node):
62994         (set_regs, build_sifted_states, sift_states_bkref):
62995         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
62996         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
62997         (find_collation_sequence_value):
62998         Likewise.
62999         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
63000         (re_node_set_compare):
63001         Return bool, not int. All callers changed.
63002         * lib/regexec.c (check_halt_node_context, check_dst_limits):
63003         (build_trtable, check_node_accept): Likewise.
63004         * lib/regex_internal.h: Include stdbool.h.
63005
63006         Fix bugs uncovered when converting to bool.
63007         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
63008         failure instead of charging ahead blindly.
63009         * lib/regex_internal.c (register_state): Likewise.
63010         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
63011         for freeing internal storage.
63012         (group_nodes_into_DFA_states): Use unsigned int, not int, for
63013         bitset pieces used as boolean, to avoid undefined behavior
63014         on hosts that do int overflow checking.
63015
63016 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
63017
63018         * config/srclist.txt: Add glibc bugs 1285-1287.
63019
63020 2005-09-01  Jim Meyering  <jim@meyering.net>
63021
63022         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
63023         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
63024         Require gl_STAT_MACROS, too.
63025
63026 2005-09-01  Bruno Haible  <bruno@clisp.org>
63027
63028         * gnulib-tool (import): In the first-use case, provide defaults.
63029
63030 2005-09-01  Bruno Haible  <bruno@clisp.org>
63031
63032         * gnulib-tool (func_import): Remove the .tmp files.
63033
63034 2005-09-01  Bruno Haible  <bruno@clisp.org>
63035
63036         * gnulib-tool (func_import): Fix handling of symbolic links.
63037
63038 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63039
63040         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
63041         old glibc regex code mishandles strings longer than 2**31 bytes.
63042         This patch fixes this when the regex code is used in gnulib
63043         (i.e., outside glibc).
63044
63045         This patch should not affect the use of the regex code inside
63046         glibc.  No doubt this problem also needs to be handled for glibc
63047         as well, but the result will be an incompatible change to the
63048         glibc ABI, and the old ABI will have to be supported too.  That
63049         can be the the subject for another patch.
63050
63051         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
63052         governing whether the rest of this patch is active.  By default,
63053         the macro is disabled and the patch has no effect.
63054         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
63055         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
63056         (struct re_pattern_buffer, re_search, re_search_2, re_match):
63057         (re_match_2, re_set_registers): Use the new types.
63058         * lib/regex_internal.h (Idx, re_hashval_t): New types.
63059         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
63060         New macros.
63061         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
63062         (re_string_context_at, bin_tree_t, re_dfastate_t):
63063         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
63064         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
63065         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
63066         (re_string_char_size_at, re_string_wchar_at):
63067         (re_string_elem_size_at):
63068         Use the new types and macros to port to 64-bit hosts.
63069         Use unsigned types for internal values, so that the code
63070         mostly works even for arrays larger than SSIZE_MAX.
63071         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
63072         (search_duplicated_node, calc_eclosure_iter, fetch_number):
63073         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
63074         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
63075         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
63076         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
63077         (calc_inveclosure, parse_dup_op, build_range_exp):
63078         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
63079         (fetch_number, create_token_tree, mark_opt_subexp):
63080         Likewise.
63081         * lib/regex_internal.c (re_string_construct_common,
63082         create_ci_newstate):
63083         (create_cd_newstate, re_string_allocate, re_string_construct):
63084         (re_string_realloc_buffers, build_wcs_upper_buffer):
63085         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
63086         (re_string_reconstruct, re_string_peek_byte_case):
63087         (re_string_fetch_byte_case, re_string_context_at):
63088         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
63089         (re_node_set_init_copy, re_node_set_add_intersect):
63090         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
63091         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
63092         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
63093         (re_acquire_state, re_acquire_state_context, register_state):
63094         Likewise.
63095         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
63096         search_cur_bkref_entry):
63097         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
63098         (re_search_internal, re_search_2_stub, re_search_stub)
63099         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
63100         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
63101         (update_cur_sifted_state, check_dst_limits):
63102         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
63103         (check_subexp_limits, sift_states_bkref, merge_state_array):
63104         (check_subexp_matching_top, get_subexp, get_subexp_sub):
63105         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
63106         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
63107         (expand_bkref_cache, check_node_accept_bytes):
63108         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
63109         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
63110         (acquire_init_state_context, check_halt_node_context):
63111         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
63112         (sift_states_backward, clean_state_log_if_needed):
63113         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
63114         (find_recover_state, transit_state_sb, transit_state_mb):
63115         (transit_state_bkref, build_trtable, match_ctx_clean):
63116         Likewise.
63117         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
63118         to work around an assumption that REG_MISSING is negative.
63119
63120         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
63121         (seek_collating_symbol_entry) [defined _LIBC]:
63122         (lookup_collation_sequence_value) [defined _LIBC]:
63123         (build_range_exp, build_collating_symbol) [defined _LIBC]:
63124         Use prototypes rather than old-style function definitions.
63125         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
63126         (transit_state_sb) [0]:
63127         (find_collation_sequence_value) [defined _LIBC]: Likewise.
63128
63129         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
63130         rm_eo.
63131
63132         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
63133         (optimize_subexps, lower_subexp):
63134         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
63135         since the signed shift might overflow.  Use 1u<<31 instead.
63136         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
63137         Likewise.
63138         * lib/regexec.c (check_dst_limits_calc_pos_1,
63139         check_subexp_matching_top): Likewise.
63140
63141         * lib/regcomp.c (optimize_subexps, lower_subexp):
63142         Use CHAR_BIT rather than 8, for clarity.
63143         * lib/regexec.c (check_dst_limits_calc_pos_1):
63144         (check_subexp_matching_top): Likewise.
63145         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
63146         have to worry about portability issues when shifting it left.
63147         Remove no-longer-needed test for table_size > 0.
63148         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
63149         in a word, as the resulting behavior is undefined.
63150         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
63151         in one case, a <= should have been an <, and in another case the
63152         whole test was missing.
63153         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
63154         the standard name CHAR_BIT.
63155         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
63156         this is not true on one's complement and signed-magnitude hosts.
63157
63158         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
63159         next_last_offset.
63160         (struct re_dfa_t): Remove unused member states_alloc.
63161         * lib/regcomp.c (init_dfa): Don't initialize unused members.
63162
63163 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63164
63165         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
63166         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
63167         and large-file glibc and in 32-bit large-file Solaris.
63168
63169 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63170
63171         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
63172         lengths fit in regoff_t; this isn't true if regoff_t is the same
63173         width as size_t.
63174         * lib/regex.c (re_search_internal): 5th arg is LAST_START
63175         (= START + RANGE) instead of RANGE.  This avoids overflow
63176         problems when regoff_t is the same width as size_t.
63177         All callers changed.
63178         (re_search_2_stub): Check for overflow when adding the
63179         sizes of the two strings.
63180         (re_search_stub): Check for overflow when adding START
63181         to RANGE; if it occurs, substitute the extreme value.
63182
63183 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63184
63185         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
63186
63187 2005-08-31  Jim Meyering  <jim@meyering.net>
63188
63189         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
63190         a pointer-to-const.
63191         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
63192         (register_state): Likewise.
63193         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
63194         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
63195         (group_nodes_into_DFAstates): Likewise.
63196
63197 2005-08-31  Jim Meyering  <jim@meyering.net>
63198
63199         * check-module: Add a FIXME comment.
63200
63201 2005-08-31  Eric Blake  <ebb9@byu.net>
63202
63203         * modules/unistd-safer (Files): Add unistd--.h.
63204         * modules/stdio-safer (Files): Add stdio--.h.
63205
63206 2005-08-31  Derek Price  <derek@ximbiot.com>
63207
63208         * lib/getdelim.c (getdelim): Return EOF on EOF.
63209         Reported by Larry Jones <lawrence.jones@ugs.com>.
63210
63211 2005-08-31  Bruno Haible  <bruno@clisp.org>
63212
63213         Avoid unnecessary diffs in the generated lib/Makefile.am.
63214         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
63215         the generated files.
63216         (func_import): Don't set cmd.
63217
63218 2005-08-31  Bruno Haible  <bruno@clisp.org>
63219
63220         * lib/strstr.c: Include <stddef.h>, for NULL.
63221         * lib/strcasestr.c: Likewise.
63222         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
63223
63224 2005-08-31  Bruno Haible  <bruno@clisp.org>
63225
63226         * gnulib-tool: New option --macro-prefix.
63227         (func_import): Use macro_prefix.
63228         (import): Handle option --macro-prefix.
63229
63230 2005-08-31  Bruno Haible  <bruno@clisp.org>
63231
63232         * gnulib-tool (import): Rename most ac_* variables to cached_*.
63233         Also use new variables cached_lgpl, cached_libtool.
63234
63235 2005-08-31  Bruno Haible  <bruno@clisp.org>
63236
63237         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
63238         always instantiating them.
63239
63240 2005-08-31  Bruno Haible  <bruno@clisp.org>
63241
63242         * gnulib-tool (func_import): Read the previous cached settings
63243         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
63244         earlier added by gnulib but are now dropped. Warn when a gnulib file
63245         overwrites a non-gnulib file.
63246
63247 2005-08-31  Bruno Haible  <bruno@clisp.org>
63248
63249         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
63250         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
63251         projects that don't keep autogenerated files in CVS. Put into
63252         actioncmd only the specified modules, not the transitive closure.
63253
63254 2005-08-31  Bruno Haible  <bruno@clisp.org>
63255
63256         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
63257         Create directories that shall be filled.
63258         (import): Don't look for gl_* macros in configure.ac. Recurse across
63259         all directories containing a gnulib-cache.m4 files, if meaningful.
63260
63261 2005-08-31  Bruno Haible  <bruno@clisp.org>
63262
63263         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
63264         (import): Set seen_libtool when we see gl_LIBTOOL.
63265
63266 2005-08-31  Bruno Haible  <bruno@clisp.org>
63267
63268         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
63269         declaration macro definitions from generated gnulib.m4.
63270
63271 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
63272
63273         * lib/iconvme.h: Add prototype for iconv_alloc.
63274
63275 2005-08-29  Simon Josefsson  <jas@extundo.com>
63276
63277         * lib/iconvme.c: Fix errno.
63278
63279 2005-08-29  Bruno Haible  <bruno@clisp.org>
63280
63281         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
63282         that it works when the directory contains spaces.
63283
63284 2005-08-29  Bruno Haible  <bruno@clisp.org>
63285
63286         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
63287
63288 2005-08-29  Bruno Haible  <bruno@clisp.org>
63289
63290         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
63291         Emit more advice.
63292
63293 2005-08-29  Bruno Haible  <bruno@clisp.org>
63294         and Stepan Kasal  <kasal@ucw.cz>
63295
63296         * check-module: If more parameters are given, check each of them
63297         separately; add more exceptions, as noted by Jim Meyering.
63298         (check_module): New procedure.
63299         (%exempt_header): Now contains all exceptions.
63300
63301 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
63302
63303         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
63304
63305 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
63306
63307         * lib/iconvme.c: Split iconv_string into iconv_alloc.
63308
63309 2005-08-28  Bruno Haible  <bruno@clisp.org>
63310
63311         * m4/gnulib-tool.m4: New file.
63312
63313 2005-08-27  Jim Meyering  <jim@meyering.net>
63314
63315         * modules/unistd-safer (Files): Add pipe-safer.c.
63316         * modules/fcntl-safer (Files): Add creat-safer.c.
63317
63318 2005-08-27  Jim Meyering  <jim@meyering.net>
63319
63320         * m4/stdlib-safer.m4: New file.  From coreutils.
63321         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
63322         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
63323         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
63324         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
63325         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
63326
63327 2005-08-27  Jim Meyering  <jim@meyering.net>
63328
63329         * lib/fopen-safer.c: Merge minor changes from coreutils.
63330         * lib/dup-safer.c: Likewise.
63331         * lib/fd-safer.c: Likewise.
63332
63333         Merge from coreutils.
63334         * lib/stdio--.h: New file.
63335         * lib/stdlib--.h: New file.
63336         * lib/mkstemp-safer.c: New file.
63337
63338         GNU tar needs these.
63339         * lib/pipe-safer.c: New file.
63340         * lib/creat-safer.c: New file.
63341         * lib/fcntl--.h (creat): Define to creat_safer.
63342         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
63343         * lib/unistd--.h (pipe): Define to pipe_safer.
63344         * lib/unistd-safer.h: Declare pipe_safer.
63345
63346 2005-08-26  Simon Josefsson  <jas@extundo.com>
63347
63348         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
63349         Haible <bruno@clisp.org>.
63350
63351 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
63352
63353         * lib/regex_internal.h: Remove all references to
63354         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
63355         or better.
63356         (bitset_not, bitset_merge, bitset_not_merge):
63357         (bitset_mask, re_string_allocate, re_string_construct):
63358         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
63359         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
63360         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
63361         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
63362         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
63363         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
63364         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
63365         (re_acquire_state_context):
63366         Remove unnecessary forward decls.
63367         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
63368         Put __attribute at function definition,
63369         now that the function decl has been removed.
63370         * lib/regex_internal.c (re_string_peek_byte_case):
63371         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
63372         Likewise.
63373
63374 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
63375
63376         * m4/regex.m4: Add AC_PREREQ(2.50).
63377         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
63378
63379 2005-08-25  Simon Josefsson  <jas@extundo.com>
63380
63381         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
63382         __fsetlocking.
63383
63384 2005-08-25  Simon Josefsson  <jas@extundo.com>
63385
63386         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
63387         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
63388         GLIBC specific code.
63389
63390 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
63391
63392         Make regex safe for g++.  This fixes one real bug (an "err"
63393         that should have been "*err").  g++ problem reported by
63394         Sam Steingold.
63395         * lib/regex_internal.h (re_calloc): New macro, consistent with
63396         re_malloc etc.  All callers of calloc changed to use re_calloc.
63397         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
63398         not int.  All callers changed.
63399         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
63400         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
63401         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
63402         (find_recover_state): Change "err" to "*err"; this fixes what
63403         appears to be a real bug.
63404         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
63405         versus int.
63406
63407 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
63408
63409         * modules/regex (Depends-on): Add malloc, since the code
63410         assumes that !malloc(0) means failure.
63411
63412 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
63413
63414         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
63415
63416         alloca modernization/simplification for regex.
63417         * lib/regex.c: Remove portability cruft for alloca.  This no longer
63418         needs to be at the start of the file, and can be moved into
63419         regex_internal.h and simplified.
63420         * lib/regex_internal.h: Include <alloca.h>.
63421         (__libc_use_alloca) [!defined _LIBC]: New macro.
63422         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
63423         now works outside glibc.
63424
63425 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
63426
63427         * config/srclist.txt: Add glibc bugs 1241, 1245.
63428
63429 2005-08-25  Jim Meyering  <jim@meyering.net>
63430
63431         * lib/open-safer.c: Include <config.h>.
63432         Otherwise, we'd lose LARGEFILE support in any file using
63433         e.g. "fcntl--.h"
63434
63435 2005-08-25  Bruno Haible  <bruno@clisp.org>
63436
63437         * m4/minmax.m4: Require autoconf 2.52.
63438         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
63439         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
63440         alternatives of translit over the alphabet.
63441         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
63442
63443 2005-08-24  Simon Josefsson  <jas@extundo.com>
63444
63445         * tests/test-getpass.c: New file.
63446
63447 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
63448
63449         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
63450         for GNU regex features.
63451
63452 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
63453
63454         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
63455         * lib/regex.h (regerror): Likewise.
63456
63457         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
63458         requires this.  (The code never needed it.)
63459
63460         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
63461         All uses of recently-renamed identifiers changed to use the new,
63462         POSIX-compliant names.  The code will build and run just fine
63463         without these changes, but it's better to eat our own dog food
63464         and use the standard-conforming names.
63465
63466         * lib/regex.h: Fix a multitude of POSIX name space violations.
63467         These changes have an effect only for programs that define
63468         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
63469         do not change anything for programs compiled in the normal way.
63470         Also, there is no effect on the ABI.
63471
63472         (_REGEX_SOURCE): New macro.
63473         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
63474         defined and _GNU_SOURCE is not; this fixes a name space violation.
63475
63476         Rename the following macros to obey POSIX requirements.
63477         The old names are still visible as macros if _REGEX_SOURCE is defined.
63478         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
63479         RE_BACKSLASH_ESCAPE_IN_LISTS.
63480         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
63481         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
63482         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
63483         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
63484         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
63485         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
63486         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
63487         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
63488         (REG_INTERVALS): renamed from RE_INTERVALS.
63489         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
63490         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
63491         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
63492         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
63493         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
63494         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
63495         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
63496         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
63497         RE_UNMATCHED_RIGHT_PAREN_ORD.
63498         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
63499         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
63500         (REG_DEBUG): renamed from RE_DEBUG.
63501         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
63502         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
63503         unusual, since we can't clash with the POSIX REG_ICASE.
63504         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
63505         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
63506         (REG_NO_SUB): renamed from RE_NO_SUB.
63507         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
63508         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
63509         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
63510         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
63511         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
63512         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
63513         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
63514         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
63515         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
63516         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
63517         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
63518         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
63519         RE_SYNTAX_POSIX_MINIMAL_BASIC.
63520         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
63521         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
63522         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
63523         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
63524         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
63525         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
63526         (REG_FIXED): Renamed from REGS_FIXED.
63527         (REG_NREGS): Renamed from RE_NREGS.
63528
63529         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
63530         of other REG_* macros, since POSIX says the user is allowed to
63531         #undef these macros selectively.
63532
63533         (reg_errcode_t): Update comment stating what other tables need
63534         to be consistent.
63535
63536         Rename the following enum values to obey POSIX requirements.
63537         The old names are still visible as macros.
63538         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
63539         is not defined, since GNU is supposed to be a superset of POSIX as
63540         much as possible, and since we want reg_errcode_t to be a signed
63541         type for implementation consistency.
63542         (_REG_NOERROR): Renamed from REG_NOERROR.
63543         (_REG_NOMATCH): Renamed from REG_NOMATCH.
63544         (_REG_BADPAT): Renamed from REG_BADPAT.
63545         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
63546         (_REG_ECTYPE): Renamed from REG_ECTYPE.
63547         (_REG_EESCAPE): Renamed from REG_EESCAPE.
63548         (_REG_ESUBREG): Renamed from REG_ESUBREG.
63549         (_REG_EBRACK): Renamed from REG_EBRACK.
63550         (_REG_EPAREN): Renamed from REG_EPAREN.
63551         (_REG_EBRACE): Renamed from REG_EBRACE.
63552         (_REG_BADBR): Renamed from REG_BADBR.
63553         (_REG_ERANGE): Renamed from REG_ERANGE.
63554         (_REG_ESPACE): Renamed from REG_ESPACE.
63555         (_REG_BADRPT): Renamed from REG_BADRPT.
63556         (_REG_EEND): Renamed from REG_EEND.
63557         (_REG_ESIZE): Renamed from REG_ESIZE.
63558         (_REG_ERPAREN): Renamed from REG_ERPAREN.
63559         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
63560         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
63561         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
63562         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
63563
63564         (_REG_RE_NAME, _REG_RM_NAME): New macros.
63565         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
63566         changed.  But support the old name if the new one is not defined
63567         and if _REGEX_SOURCE.
63568
63569         Change the following member names in struct re_pattern_buffer.
63570         The old names are still supported if !_REGEX_SOURCE.
63571         The new names are always supported, regardless of _REGEX_SOURCE.
63572         (re_buffer): Renamed from buffer.
63573         (re_allocated): Renamed from allocated.
63574         (re_used): Renamed from used.
63575         (re_syntax): Renamed from syntax.
63576         (re_fastmap): Renamed from fastmap.
63577         (re_translate): Renamed from translate.
63578         (re_can_be_null): Renamed from can_be_null.
63579         (re_regs_allocated): Renamed from regs_allocated.
63580         (re_fastmap_accurate): Renamed from fastmap_accurate.
63581         (re_no_sub): Renamed from no_sub.
63582         (re_not_bol): Renamed from not_bol.
63583         (re_not_eol): Renamed from not_eol.
63584         (re_newline_anchor): Renamed from newline_anchor.
63585
63586         Change the following member names in struct re_registers.
63587         The old names are still supported if !_REGEX_SOURCE.
63588         The new names are always supported, regardless of _REGEX_SOURCE.
63589         (rm_num_regs): Renamed from num_regs.
63590         (rm_start): Renamed from start.
63591         (rm_end): Renamed from end.
63592
63593         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
63594         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
63595         Prepend __ to parameter names.
63596
63597         Undo yesterday's changes.
63598
63599 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
63600
63601         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
63602         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
63603         lib/regex.c.
63604
63605 2005-08-24  Jim Meyering  <jim@meyering.net>
63606
63607         Sync from coreutils.
63608         * m4/fcntl-safer.m4: New file.
63609
63610         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
63611         and object files for this module.
63612
63613 2005-08-24  Jim Meyering  <jim@meyering.net>
63614
63615         Sync from coreutils.
63616         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
63617
63618 2005-08-24  Jim Meyering  <jim@meyering.net>
63619
63620         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
63621         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
63622
63623 2005-08-24  Jim Meyering  <jim@meyering.net>
63624
63625         * modules/fcntl-safer: New module.
63626         * modules/fts (Depends-on): Add fcntl-safer.
63627         * MODULES.html.sh (File descriptor based Input/Output):
63628         Add fcntl-safer.
63629
63630 2005-08-24  Bruno Haible  <bruno@clisp.org>
63631
63632         Support for unit test modules.
63633         * modules/README: Mention tests modules.
63634         * modules/TEMPLATE-TESTS: New file.
63635         * gnulib-tool: New options --extract-tests-module, --with-tests and
63636         --tests-base (unused for the moment).
63637         (testsbase, inctests): New variables.
63638         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
63639         (func_verify_module): Exclude TEMPLATE-TESTS.
63640         (func_verify_nontests_module, func_verify_tests_module): New functions.
63641         (func_get_dependencies): Add implicit dependency for tests modules.
63642         (func_get_tests_module): New function.
63643         (func_modules_transitive_closure): When --with-tests was specified,
63644         include the unit tests as well, unless explicitly avoided.
63645         (func_emit_lib_Makefile_am): Ignore the tests modules here.
63646         (func_emit_tests_Makefile_am): New function.
63647         (func_create_testdir): When --with-tests was specified, emit a
63648         tests/ directory.
63649         * MODULES.html.sh (Future developments): Update.
63650
63651 2005-08-24  Bruno Haible  <bruno@clisp.org>
63652
63653         * modules/tls-tests: New file.
63654         * tests/test-tls.c: New file, from GNU gettext.
63655
63656 2005-08-24  Bruno Haible  <bruno@clisp.org>
63657
63658         * modules/lock-tests: New file.
63659         * tests/test-lock.c: New file, from GNU gettext.
63660
63661 2005-08-24  Bruno Haible  <bruno@clisp.org>
63662
63663         * lib/lock.h: Add multiple inclusion guard.
63664         * lib/tls.h: Add multiple inclusion guard.
63665
63666 2005-08-24  Bruno Haible  <bruno@clisp.org>
63667
63668         * gnulib-tool: Add support for the --aux-dir option to
63669         --create-testdir, --create-megatestdir, --test, --megatest.
63670         (func_create_testdir, func_create_megatestdir): Optionally emit a
63671         AC_CONFIG_AUX_DIR directive.
63672         (create-testdir, create-megatestdir, test, megatest): Provide a
63673         default value for $auxdir.
63674
63675 2005-08-24  Bruno Haible  <bruno@clisp.org>
63676
63677         * gnulib-tool (import): Use compound statement instead of subshell
63678         where possible.
63679
63680 2005-08-24  Bruno Haible  <bruno@clisp.org>
63681
63682         * gnulib-tool (import): Change --aux-dir default to "build-aux".
63683
63684 2005-08-24  Bruno Haible  <bruno@clisp.org>
63685
63686         * gnulib-tool (func_version): Update.
63687
63688 2005-08-24  Bruno Haible  <bruno@clisp.org>
63689
63690         * gnulib-tool (func_import, func_create_testdir,
63691         func_create_megatestdir): Quote all autoconf macro arguments.
63692
63693 2005-08-24  Bruno Haible  <bruno@clisp.org>
63694
63695         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
63696         option --force, because --force causes the aclocal.m4 of each
63697         subdirectory to be newer than the corresponding config.h.in.
63698
63699 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
63700
63701         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
63702         All contents moved to gl_REGEX.
63703         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
63704         assume that it does.
63705
63706 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
63707
63708         * lib/regex.h (REG_NOSYS)
63709         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
63710         Define, since POSIX requires it as of 2001.
63711         (_REG_ENOSYS)
63712         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
63713         New private symbol, used to keep the enum signed in all cases.
63714         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
63715         Youngman in
63716         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
63717
63718         * lib/regex_internal.c (re_string_skip_chars, register_state):
63719         (calc_state_hash):
63720         Remove forward decls; no longer needed now that we use prototypes.
63721         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
63722         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
63723         (clean_state_log_if_needed): Likewise.
63724
63725 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
63726
63727         * config/srclist.txt: Add glibc bugs 1231-1233.
63728
63729 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
63730
63731         Fix problems reported by Sam Steingold in
63732         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
63733         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
63734         assumed that reg_errcode_t is a signed type, which is not
63735         necessarily true if _XOPEN_SOURCE is not defined.
63736         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
63737         since some compilers warn about it otherwise.
63738
63739 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
63740
63741         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
63742         (init_word_char, create_initial_state, duplicate_node_closure):
63743         (fetch_token, peek_token_bracket, build_range_exp):
63744         (build_collating_symbol): Remove forward decls; no longer needed
63745         now that we use prototypes.
63746
63747         * lib/regcomp.c:
63748         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
63749         (re_compile_fastmap_iter, regcomp, regerror, regfree):
63750         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
63751         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
63752         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
63753         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
63754         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
63755         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
63756         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
63757         (build_range_exp, build_collating_symbol, parse_bracket_exp):
63758         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
63759         (build_charclass, build_charclass_op, fetch_number, create_tree):
63760         (create_token_tree, mark_opt_subexp, duplicate_tree):
63761         Use prototypes rather than old-style definitions.
63762
63763         * lib/regex_internal.c:
63764         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
63765         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
63766         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
63767         (re_string_reconstruct, re_string_peek_byte_case):
63768         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
63769         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
63770         (re_node_set_init_copy, re_node_set_add_intersect):
63771         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
63772         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
63773         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
63774         (re_acquire_state, re_acquire_state_context, register_state):
63775         (create_ci_newstate, create_cd_newstate, free_state):
63776         Likewise.
63777         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
63778         re_search_2):
63779         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
63780         (re_search_internal, prune_impossible_nodes):
63781         (acquire_init_state_context, check_matching, static):
63782         (check_halt_node_context, check_halt_state_context, proceed_next_node):
63783         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
63784         (update_regs, sift_states_backward, build_sifted_states):
63785         (clean_state_log_if_needed, merge_state_array):
63786         (update_cur_sifted_state, add_epsilon_src_nodes):
63787         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
63788         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
63789         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
63790         (find_recover_state, check_subexp_matching_top, transit_state_mb):
63791         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
63792         (check_arrival, check_arrival_add_next_nodes):
63793         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
63794         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
63795         (check_node_accept_bytes, check_node_accept, extend_buffers):
63796         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
63797         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
63798         (sift_ctx_init):
63799         Likewise.
63800
63801         * lib/regex_internal.h:
63802         (re_string_allocate, re_string_construct, re_string_reconstruct):
63803         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
63804         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
63805         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
63806         (re_string_context_at, re_string_peek_byte_case):
63807         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
63808         is defined, since we now use prototypes always.
63809
63810         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
63811         C89 or better.  All uses removed.
63812
63813 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
63814
63815         * config/srclist.txt: Add glibc bugs 1220-1227.
63816
63817 2005-08-20  Jim Meyering  <jim@meyering.net>
63818
63819         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
63820         of unused local, dfa.
63821
63822 2005-08-20  Bruno Haible  <bruno@clisp.org>
63823
63824         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
63825
63826 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
63827
63828         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
63829         (re_node_set_insert_last, re_dfa_add_node):
63830         Rename local variables to avoid GCC shadowing warnings.
63831
63832 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
63833
63834         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
63835         [defined lint]: Suppress bogus uninitialized-variable warnings.
63836
63837         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
63838         and let the caller return REG_ESPACE if out of space.  This
63839         removes an uninitialied-variable warning with GCC 4.0.1, and also
63840         avoids taking the address of a local variable.  All callers
63841         changed.
63842
63843 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
63844
63845         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
63846         $LIBCSRC/posix/regexec.c.
63847         Add glibc bug 1217 for regcomp.c.
63848
63849 2005-08-19  Jim Meyering  <jim@meyering.net>
63850
63851         * lib/regexec.c (proceed_next_node): Redo local variables to
63852         avoid GCC shadowing warnings.
63853
63854 2005-08-18  Bruno Haible  <bruno@clisp.org>
63855
63856         * lib/strstr.c (strstr): Fix return value in multibyte case.
63857         * lib/strcasestr.c (strcasestr): Likewise.
63858
63859 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
63860
63861         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
63862
63863 2005-08-17  Jim Meyering  <jim@meyering.net>
63864
63865         Make the %s format (seconds since the epoch) work for a negative
63866         number and when used with a zero-padded field width, e.g. %015s.
63867
63868         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
63869         label so that it precedes the code to set `digits'.  Otherwise,
63870         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
63871         print `00-22'.  Now, it prints `-0022', as it should.
63872
63873 2005-08-17  Bruno Haible  <bruno@clisp.org>
63874
63875         * modules/strstr (Files): Add m4/mbrtowc.m4.
63876         (Depends-on): Add mbuiter.
63877
63878 2005-08-17  Bruno Haible  <bruno@clisp.org>
63879
63880         * modules/strcasestr: New file.
63881         * MODULES.html.sh (String handling, based on ANSI C 89): Add
63882         strcasestr.
63883
63884 2005-08-17  Bruno Haible  <bruno@clisp.org>
63885
63886         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
63887
63888 2005-08-17  Bruno Haible  <bruno@clisp.org>
63889
63890         * modules/mbuiter: New file.
63891         * MODULES.html.sh (Extended multibyte and wide character utilities):
63892         Add mbuiter.
63893
63894 2005-08-17  Bruno Haible  <bruno@clisp.org>
63895
63896         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
63897         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
63898
63899 2005-08-17  Bruno Haible  <bruno@clisp.org>
63900
63901         * m4/strcasestr.m4: New file.
63902
63903 2005-08-17  Bruno Haible  <bruno@clisp.org>
63904
63905         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
63906         * lib/strstr.c: Completely rewritten, with multibyte locale support.
63907
63908 2005-08-17  Bruno Haible  <bruno@clisp.org>
63909
63910         * lib/strcasestr.h: New file.
63911         * lib/strcasestr.c: New file.
63912
63913 2005-08-17  Bruno Haible  <bruno@clisp.org>
63914
63915         * lib/strcasecmp.c: Use mbuiter.h.
63916
63917 2005-08-17  Bruno Haible  <bruno@clisp.org>
63918
63919         * lib/mbuiter.h: New file.
63920
63921 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
63922
63923         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
63924         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
63925         and gl_GETOPT are both invoked via different paths (as happens
63926         with GNU tar CVS because it uses both argp and getopt), the former
63927         wins.
63928
63929 2005-08-16  Bruno Haible  <bruno@clisp.org>
63930
63931         * modules/tls: New file.
63932         * MODULES.html.sh (Multithreading): Add tls.
63933
63934 2005-08-16  Bruno Haible  <bruno@clisp.org>
63935
63936         * modules/strnlen1: New file.
63937         * MODULES.html.sh (String handling): Add strnlen1.
63938
63939 2005-08-16  Bruno Haible  <bruno@clisp.org>
63940
63941         * modules/strcase (Files): Add m4/mbrtowc.m4.
63942         (Depends-on): Add strnlen1, mbchar.
63943
63944 2005-08-16  Bruno Haible  <bruno@clisp.org>
63945
63946         * modules/mbiter: New file.
63947         * MODULES.html.sh (Extended multibyte and wide character utilities):
63948         Add mbiter.
63949
63950 2005-08-16  Bruno Haible  <bruno@clisp.org>
63951
63952         * modules/mbfile: New file.
63953         * MODULES.html.sh (Extended multibyte and wide character utilities):
63954         Add mbfile.
63955
63956 2005-08-16  Bruno Haible  <bruno@clisp.org>
63957
63958         * modules/mbchar: New file.
63959         * MODULES.html.sh (Extended multibyte and wide character utilities):
63960         New section.
63961
63962 2005-08-16  Bruno Haible  <bruno@clisp.org>
63963
63964         * m4/tls.m4: New file, from GNU gettext.
63965
63966 2005-08-16  Bruno Haible  <bruno@clisp.org>
63967
63968         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
63969         always.
63970         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
63971
63972 2005-08-16  Bruno Haible  <bruno@clisp.org>
63973
63974         * m4/mbiter.m4: New file.
63975
63976 2005-08-16  Bruno Haible  <bruno@clisp.org>
63977
63978         * m4/mbfile.m4: New file.
63979
63980 2005-08-16  Bruno Haible  <bruno@clisp.org>
63981
63982         * m4/mbchar.m4: New file.
63983
63984 2005-08-16  Bruno Haible  <bruno@clisp.org>
63985
63986         * lib/tls.h: New file, from GNU gettext.
63987         * lib/tls.c: New file, from GNU gettext.
63988
63989 2005-08-16  Bruno Haible  <bruno@clisp.org>
63990
63991         * lib/strnlen1.h: New file.
63992         * lib/strnlen1.c: New file.
63993
63994 2005-08-16  Bruno Haible  <bruno@clisp.org>
63995
63996         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
63997         (mbi_init): Update.
63998         (mbi_avail, mbi_advance): Let the iteration end before the terminating
63999         NUL byte, not after it.
64000
64001 2005-08-16  Bruno Haible  <bruno@clisp.org>
64002
64003         * lib/strcase.h (strcasecmp): Add note in comments.
64004         * lib/strncasecmp.c: Use code from strcasecmp.c.
64005         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
64006         (strcasecmp): Work correctly in multibyte locales.
64007
64008 2005-08-16  Bruno Haible  <bruno@clisp.org>
64009
64010         * lib/mbiter.h: New file.
64011
64012 2005-08-16  Bruno Haible  <bruno@clisp.org>
64013
64014         * lib/mbfile.h: New file.
64015
64016 2005-08-16  Bruno Haible  <bruno@clisp.org>
64017
64018         * lib/mbchar.h: New file.
64019         * lib/mbchar.c: New file.
64020
64021 2005-08-16  Bruno Haible  <bruno@clisp.org>
64022
64023         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
64024         the valid ones. Makes the comparison operations transitive:
64025         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
64026         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
64027
64028 2005-08-15  Simon Josefsson  <jas@extundo.com>
64029
64030         * modules/ssize_t (License): Change to 'unlimited'.
64031
64032         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
64033
64034 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64035
64036         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
64037         Add comments for each pending glibc patch.
64038
64039 2005-08-15  Bruno Haible  <bruno@clisp.org>
64040
64041         * lib/regex.h (__restrict_arr): Don't define to __restrict if
64042         __cplusplus is defined.
64043
64044 2005-08-14  Jim Meyering  <jim@meyering.net>
64045
64046         Sync from coreutils.
64047
64048         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
64049         Use the hash-table-based cycle-detection code not just when
64050         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
64051         Reported by James Youngman in
64052         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
64053         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
64054         FTS_TIGHT_CYCLE_CHECK.
64055         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
64056         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
64057         once again.
64058         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
64059         * lib/fts.c (fd_safer): Remove decl.
64060         Include fcntl--.h rather than unistd-safer.h
64061         (fts_safe_changedir): Don't call fd_safer; no longer needed
64062         now that we include fcntl--.h.
64063
64064 2005-08-12  Simon Josefsson  <jas@extundo.com>
64065
64066         * modules/getndelim2: Use ssize_t module.
64067         * modules/getnline: Likewise.
64068         * modules/safe-read: Likewise.
64069         * modules/xreadlink: Likewise.
64070
64071         * modules/ssize_t: New file.
64072
64073 2005-08-12  Simon Josefsson  <jas@extundo.com>
64074
64075         * m4/readline.m4: Look for termcap, curses or ncurses if required.
64076
64077 2005-08-12  Simon Josefsson  <jas@extundo.com>
64078
64079         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
64080         ssize_t.
64081
64082 2005-08-12  Simon Josefsson  <jas@extundo.com>
64083
64084         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
64085         readline, getdelim and check_version.
64086         (Support for systems lacking ISO C 99: Sizes of integer types):
64087         Add size_max.
64088
64089 2005-08-12  Bruno Haible  <bruno@clisp.org>
64090
64091         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
64092
64093 2005-08-11  Simon Josefsson  <jas@extundo.com>
64094
64095         * modules/readline: New file.
64096
64097         * modules/strnlen (Files): Add strnlen.h.
64098
64099 2005-08-11  Simon Josefsson  <jas@extundo.com>
64100
64101         * m4/readline.m4: New file.
64102
64103 2005-08-11  Simon Josefsson  <jas@extundo.com>
64104
64105         * lib/readline.h, readline.c: New file.
64106
64107 2005-08-11  Simon Josefsson  <jas@extundo.com>
64108
64109         * doc/gnulib.texi (Initial import, Finishing touches): Mention
64110         gl_AVOID.
64111
64112 2005-08-11  Bruno Haible  <bruno@clisp.org>
64113
64114         * lib/strnlen.h (strnlen): Change parameter name to match comment.
64115
64116 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
64117
64118         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
64119
64120 2005-08-10  Simon Josefsson  <jas@extundo.com>
64121
64122         * tests/test-iconvme.c: New file.
64123
64124 2005-08-10  Simon Josefsson  <jas@extundo.com>
64125
64126         * m4/strnlen.m4: New file.
64127
64128         * m4/strndup.m4: Don't check for strnlen declaration, done in
64129         strnlen.m4.
64130
64131 2005-08-10  Simon Josefsson  <jas@extundo.com>
64132
64133         * lib/strndup.c: Use strnlen.h.
64134
64135         * lib/strnlen.h: New file.
64136
64137 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
64138
64139         * README: Typos.
64140
64141 2005-08-02  Simon Josefsson  <jas@extundo.com>
64142
64143         * modules/readline: New file.
64144
64145 2005-08-02  Simon Josefsson  <jas@extundo.com>
64146
64147         * modules/getdelim: New file.
64148
64149         * modules/getline: Rewrite, don't use getndelim2.
64150
64151 2005-08-02  Simon Josefsson  <jas@extundo.com>
64152
64153         * m4/getline.m4: Separate out getdelim stuff into separate module.
64154
64155         * m4/getdelim.m4: New file.
64156
64157 2005-08-02  Simon Josefsson  <jas@extundo.com>
64158
64159         * lib/getline.h, getline.c: Rewrite.
64160
64161         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
64162
64163 2005-07-31  Bruno Haible  <bruno@clisp.org>
64164
64165         * lib/lock.h (gl_lock_initializer): New macro.
64166         (gl_lock_define_initialized): Use it.
64167         (gl_rwlock_initializer): New macro.
64168         (gl_rwlock_define_initialized): Use it.
64169         (gl_recursive_lock_initializer): New macro.
64170         (gl_recursive_lock_define_initialized): Use it.
64171
64172 2005-07-30  Karl Berry  <karl@gnu.org>
64173
64174         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
64175         Report from Ben Pfaff, regarding getopt.
64176
64177 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
64178
64179         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
64180         normal way.
64181         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
64182         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
64183         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
64184         (gl_GETOPT): Use the new macros.  Most of the implementation
64185         is moved to the new macros.  This is for programs like Emacs
64186         that don't want all the functionality of gl_GETOPT.
64187
64188 2005-07-26  Bruno Haible  <bruno@clisp.org>
64189
64190         * m4/lock.m4: Update from GNU gettext.
64191
64192 2005-07-26  Bruno Haible  <bruno@clisp.org>
64193
64194         * lib/lock.h: Update from GNU gettext.
64195         * lib/lock.c: Update from GNU gettext.
64196
64197 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
64198
64199         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
64200         obsolescent AC_TRY_RUN.  Include the default includes files, for
64201         'exit'.
64202
64203 2005-07-24  Bruno Haible  <bruno@clisp.org>
64204
64205         * modules/visibility: New file.
64206         * MODULES.html.sh (Misc): Add visibility.
64207
64208 2005-07-24  Bruno Haible  <bruno@clisp.org>
64209
64210         * m4/visibility.m4: New file.
64211
64212 2005-07-24  Bruno Haible  <bruno@clisp.org>
64213
64214         * doc/visibility.texi: New file.
64215
64216 2005-07-22  Bruno Haible  <bruno@clisp.org>
64217
64218         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
64219         $(ALLOCA_H), redundant through BUILT_SOURCES.
64220         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
64221         redundant through BUILT_SOURCES.
64222         * modules/byteswap (Makefile.am): Remove explicit dependency on
64223         $(BYTESWAP_H), redundant through BUILT_SOURCES.
64224         * modules/fnmatch (Makefile.am): Remove explicit dependency on
64225         $(FNMATCH_H), redundant through BUILT_SOURCES.
64226         * modules/getopt (Makefile.am): Remove explicit dependency on
64227         $(GETOPT_H), redundant through BUILT_SOURCES.
64228         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
64229         redundant through BUILT_SOURCES.
64230         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
64231         redundant through BUILT_SOURCES.
64232         * modules/stdbool (Makefile.am): Remove explicit dependency on
64233         $(STDBOOL_H), redundant through BUILT_SOURCES.
64234         * modules/stdint (Makefile.am): Remove explicit dependency on
64235         $(STDINT_H), redundant through BUILT_SOURCES.
64236         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
64237         Remove explicit dependency on $(SYSEXITS_H).
64238         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
64239
64240 2005-07-18  Simon Josefsson  <jas@extundo.com>
64241
64242         * lib/check-version.c (check_version): Accept identical versions too.
64243
64244 2005-07-18  Bruno Haible  <bruno@clisp.org>
64245
64246         * modules/lock: New file.
64247         * MODULES.html.sh (Multithreading): New section.
64248
64249 2005-07-18  Bruno Haible  <bruno@clisp.org>
64250
64251         * m4/lock.m4: New file, from GNU gettext.
64252
64253 2005-07-18  Bruno Haible  <bruno@clisp.org>
64254
64255         * lib/lock.h: New file, from GNU gettext.
64256         * lib/lock.c: New file, from GNU gettext.
64257
64258 2005-07-18  Bruno Haible  <bruno@clisp.org>
64259
64260         * lib/lock.h (gl_once_t): New type.
64261         (gl_once_define, gl_once): New macros.
64262         * lib/lock.c (fresh_once): New variable.
64263         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
64264         functions.
64265
64266 2005-07-16  Simon Josefsson  <jas@extundo.com>
64267
64268         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
64269         workaround, suggested by Bruno.
64270
64271 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
64272
64273         * modules/xalloc (Depends-on): Add xalloc-die.
64274         * modules/xvasprintf (Depends-on): Add xalloc-die.
64275
64276 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
64277
64278         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
64279         with a minor change.
64280
64281 2005-07-15  Bruno Haible  <bruno@clisp.org>
64282
64283         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
64284         When using lib/poll.c, define poll as rpl_poll.
64285
64286 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
64287
64288         * modules/argp (Depends-on): Remove unlocked-io.
64289
64290 2005-07-14  Derek Price  <derek@ximbiot.com>
64291
64292         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
64293         for glob symlink bug.
64294
64295 2005-07-14  Bruno Haible  <bruno@clisp.org>
64296
64297         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
64298         Instead, test for *_unlocked function declarations directly.
64299
64300 2005-07-11  Simon Josefsson  <jas@extundo.com>
64301
64302         * modules/size_max: New file.
64303
64304         * modules/xsize: Depend on size_max module for size_max.m4.
64305
64306 2005-07-11  Simon Josefsson  <jas@extundo.com>
64307
64308         * lib/size_max.h: New file.
64309
64310 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
64311
64312         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
64313         copyright symbol and the year.
64314         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
64315         (version_etc_va): Use parameterized copyright notice.
64316         Reword to conform to the current GNU coding standards.
64317
64318 2005-07-11  Karl Berry  <karl@gnu.org>
64319
64320         * doc/gnulib.texi (Quoting): new node.
64321         (Initial import): more info, from Patrice.
64322
64323 2005-07-11  Bruno Haible  <bruno@clisp.org>
64324
64325         * gnulib-tool (func_usage): Document option --avoid.
64326         (Command line options): Handle --avoid.
64327         (func_acceptable): New function.
64328         (func_modules_transitive_closure): Use it.
64329
64330 2005-07-11  Bruno Haible  <bruno@clisp.org>
64331
64332         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
64333         Reported by Jim Meyering.
64334
64335 2005-07-10  Bruno Haible  <bruno@clisp.org>
64336
64337         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
64338         Needed when size_t is smaller than 'unsigned int'.
64339         Reported by Paul Eggert.
64340
64341 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
64342
64343         * modules/argp (Depends-on): Add unlocked-io
64344
64345 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
64346
64347         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
64348         block of defines.
64349
64350 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
64351
64352         * config/srclist.txt: Comment out regcomp.c, since we have a porting
64353         fix now.
64354
64355 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
64356         and Paul Eggert  <eggert@cs.ucla.edu>
64357
64358         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
64359         in wint_t, not wchar_t.  Remove now-unnecessary cast.
64360
64361 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
64362
64363         * modules/regex (Files): Add lib/regex_internal.c,
64364         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
64365         (Depends-on): Add extensions.
64366         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
64367
64368 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
64369
64370         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
64371         pathconf.
64372         * m4/same.m4 (gl_SAME): Likewise.
64373         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
64374
64375         * m4/regex.m4: Adjust to new libc regex implementation.
64376         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
64377         all the .c and .h parts of (the new) regex.
64378         Quote the m4 stuff better.
64379         Check for RE_ICASE bug of old gnulib.
64380         Check for REG_STARTEND of recent libc.
64381         Rename local variables from jm_* to gl_*.
64382         Quote operand of "test -f".
64383         Say "recent enough" version of libc, not "version 2".
64384         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
64385         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
64386         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
64387         Remove check for btowc, isascii.
64388         Require AM_LANGINFO_CODESET.
64389
64390 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
64391
64392         * lib/regex.c, regex.h: Sync from libc.
64393         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
64394         * lib/regexec.c:
64395         New files, synced from libc, except that regex_internal.h
64396         currently has a small porting fix.
64397
64398 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
64399
64400         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
64401         regex_internal.c, regexec.c.
64402         Add regex_internal.h too, but as a comment, since the libc version
64403         is currently broken in gnulib mode.
64404
64405 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
64406
64407         Support programs like Emacs that use gnulib but not gettext.
64408         * MODULES.html.sh (Internationalization functions): Add gettext-h.
64409         * modules/gettext-h: New file.
64410         * modules/gettext (Files): Remove lib/gettext.h.
64411         (Depends-on): Add gettext-h.
64412         (Makefile.am): Remove lib_SOURCES.
64413         * modules/argmatch, modules/c-stack, modules/closeout:
64414         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
64415         * modules/execute, modules/file-type, modules/getaddrinfo:
64416         * modules/getopt, modules/human, modules/javacomp:
64417         * modules/javaexec, modules/mkdir-p, modules/obstack:
64418         * modules/openat, modules/pagealign_alloc, modules/pipe:
64419         * modules/quotearg, modules/regex, modules/rpmatch:
64420         * modules/unicodeio, modules/userspec, modules/version-etc:
64421         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
64422         * modules/xsetenv:
64423         Depend on gettext-h, not gettext.
64424
64425 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
64426
64427         * gnulib-tool (func_import): Add support for 'public domain' license.
64428         * modules/alloca, modules/atexit, modules/memmove:
64429         Now public domain, not GPL.
64430         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
64431         * modules/realloc, modules/strerror, modules/strtod:
64432         Now LGPL, not GPL.
64433
64434 2005-07-05  Bruno Haible  <bruno@clisp.org>
64435
64436         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
64437         autoconf CVS. Needed for mingw.
64438
64439 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
64440
64441         Remove the dependency of the strftime module on the tzset module.
64442         * modules/strftime (Depends-on): Remove dependency on tzset.
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         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
64448         gl_FUNC_TZSET_CLOBBER.
64449
64450 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
64451
64452         Remove the dependency of the strftime module on the tzset module.
64453         * lib/strftime.c (my_strftime)
64454         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
64455         Copy the input structure, to work around some of the bug with
64456         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
64457         Solaris releases, you should also use the tzset module, but we won't
64458         require it as a dependency any more since we don't want LGPLed code
64459         to depend on GPLed code.
64460
64461 2005-07-02  Jim Meyering  <jim@meyering.net>
64462
64463         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
64464         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
64465         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
64466         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
64467
64468 2005-07-02  Jim Meyering  <jim@meyering.net>
64469
64470         * lib/backupfile.c (backup_args): Change a `0' to NULL.
64471
64472 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
64473
64474         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
64475         declares only 'struct timespec;' (!).
64476
64477 2005-07-01  Jim Meyering  <jim@meyering.net>
64478
64479         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
64480         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
64481         * lib/save-cwd.c, tempname.c:
64482         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
64483         and don't include <sys/file.h>).
64484
64485 2005-06-29  Jim Meyering  <jim@meyering.net>
64486
64487         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
64488         type name.  Use the variable name instead.
64489         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
64490         Likewise.
64491
64492 2005-06-28  Simon Josefsson  <jas@extundo.com>
64493
64494         * modules/check-version (Files): Add check-version.m4.
64495
64496 2005-06-28  Simon Josefsson  <jas@extundo.com>
64497
64498         * m4/check-version.m4: New file, suggested by Jim Meyering
64499         <jim@meyering.net>.
64500
64501 2005-06-28  Simon Josefsson  <jas@extundo.com>
64502
64503         * lib/check-version.h, lib/check-version.c: New files.
64504
64505 2005-06-28  Simon Josefsson  <jas@extundo.com>
64506
64507         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
64508         collision with global variable.  Better indentation.  Don't
64509         increment buffer pointer beyond buffer end.  Based on comments
64510         from Paul Eggert <eggert@cs.ucla.edu>.
64511
64512         * lib/base64.h: Indent.
64513
64514 2005-06-28  Simon Josefsson  <jas@extundo.com>
64515
64516         * doc/gnulib.texi (Library version handling): New section.
64517
64518 2005-06-28  Jim Meyering  <jim@meyering.net>
64519
64520         * check-module (find_included_lib_files): Hard-code another
64521         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
64522         but modules/fts-lgpl (correctly) does not list those files.
64523
64524         * modules/canonicalize (Files): Add lib/pathmax.h.
64525
64526 2005-06-25  Simon Josefsson  <jas@extundo.com>
64527
64528         * modules/check-version: New file.
64529
64530 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
64531
64532         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
64533         initializer of struct addrinfo, as an indication that we don't
64534         care how many members the structure has.
64535
64536 2005-06-24  Derek Price  <derek@ximbiot.com>
64537         and Bruno Haible  <bruno@clisp.org>
64538
64539         Remove stat module & update lstat.
64540         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
64541         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
64542         * m4/stat.m4: Remove this file.
64543
64544 2005-06-24  Derek Price  <derek@ximbiot.com>
64545         and Bruno Haible  <bruno@clisp.org>
64546
64547         Remove stat module & update lstat.
64548         * lib/stat.c: Remove this file...
64549         (slash_aware_lstat): ...moving this content and its support...
64550         * lib/lstat.c (rpl_lstat): ...into here.
64551         * lib/lstat.h: New file.
64552
64553 2005-06-24  Derek Price  <derek@ximbiot.com>
64554         and Bruno Haible  <bruno@clisp.org>
64555
64556         Remove stat module & update lstat.
64557         * config/srclist.txt (libc sources): Remove stat.
64558
64559 2005-06-24  Derek Price  <derek@ximbiot.com>
64560         and Bruno Haible  <bruno@clisp.org>
64561
64562         Remove stat module & update lstat.
64563         * MODULES.html.sh (stat): Remove.
64564         * MODULES.html: Regenerated.
64565         * modules/lstat (Description): Correct function name.
64566         (Files): Add "lstat.h".
64567         (Depends-on): Remove stat, add xalloc, stat-macros.
64568         * modules/stat: Remove this file.
64569         (Include): Add "lstat.h", remove <sys/stat.h>.
64570
64571 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
64572
64573         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
64574         (ranged_convert): Don't save conversion in a temporary struct.
64575         This causes a warning with GCC 4.0.0, and anyway in the typical
64576         case it's not worth the extra 100 bytes or so of code.
64577         (ranged_convert, __mktime_internal): When calling a function via a
64578         pointer P, use P () rather than (*P) (), as we now assume C89 or
64579         better.
64580
64581 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
64582
64583         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
64584         "who -r" failed to give output.  Problem reported by Tim Waugh.
64585
64586         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
64587         (xcalloc): Use it to avoid needless tests.
64588         Problem reported by Jim Meyering.
64589
64590 2005-06-20  Derek Price  <derek@ximbiot.com>
64591
64592         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
64593         unnecessary for Autoconfs > 2.59c.
64594
64595 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
64596
64597         * lib/argp.h (__option_is_short): Check upper limit of
64598         __key. Isprint() requires its argument to have the value
64599         of an unsigned char or EOF.
64600
64601 2005-06-16  Jim Meyering  <jim@meyering.net>
64602
64603         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
64604         when either N or S is zero.
64605
64606 2005-06-16  Derek Price  <derek@ximbiot.com>
64607
64608         * m4/bison.m4: Declare YACC & YFLAGS precious.
64609
64610 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
64611
64612         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
64613         multibyte string or pattern, fall back on unibyte matching.
64614         Problem reported by James Youngman.
64615
64616 2005-06-08  Bruno Haible  <bruno@clisp.org>
64617
64618         * modules/csharpcomp: New file.
64619         * MODULES.html.sh (C#): Add csharpcomp.
64620
64621 2005-06-08  Bruno Haible  <bruno@clisp.org>
64622
64623         * m4/csharpcomp.m4: New file, from GNU gettext.
64624
64625 2005-06-08  Bruno Haible  <bruno@clisp.org>
64626
64627         * lib/csharpcomp.h: New file, from GNU gettext.
64628         * lib/csharpcomp.c: New file, from GNU gettext.
64629         * lib/csharpcomp.sh.in: New file, from GNU gettext.
64630
64631 2005-06-08  Bruno Haible  <bruno@clisp.org>
64632
64633         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
64634         warning on mingw.
64635
64636 2005-06-07  Derek Price  <derek@ximbiot.com>
64637
64638         Sync from CVS.
64639         * lib/glob_.h: Indent nested #ifdef.
64640
64641 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
64642
64643         Sync from coreutils.
64644         Use "file name" when talking about file names, instead of "filename"
64645         or "path", as per the GNU coding standards.
64646         * lib/mkdir-p.c: Renamed from makepath.c.
64647         (make_dir_parents): Renamed from make_path.  All callers changed.
64648         * lib/mkdir-p.h: Likewise.  All includers changed.
64649         * lib/filenamecat.c: Renamed from path-concat.c.
64650         (file_name_concat): Renamed from path_concat.  All callers changed.
64651         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
64652         * lib/filenamecat.h: Likewise.  All includers changed.
64653         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
64654         in comments or local variable names.
64655         * lib/basename.c: Likewise.
64656         * lib/canonicalize.c, canonicalize.h: Likewise.
64657         * lib/dirname.c, dirname.h: Likewise.
64658         * lib/euidaccess.c: Likewise.
64659         * lib/exclude.c: Likewise
64660         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
64661         * lib/fsusage.c, fsuage.h: Likewise.
64662         * lib/fts.c, fts_.h: Likewise.
64663         * lib/getcwd.c: Likewise.
64664         * lib/getloadavg.c: Likewise.
64665         * lib/mkstemp.c: Likewise.
64666         * lib/mountlist.c, mountlist.h: Likewise.
64667         * lib/openat.c, openat.h: Likewise.
64668         * lib/readlink-stub.c: Likewise.
64669         * lib/readutmp.c, readutmp.h: Likewise.
64670         * lib/rename.c: Likewise.
64671         * lib/rmdir.c: Likewise.
64672         * lib/same.c: Likewise.
64673         * lib/savedir.c: Likewise.
64674         * lib/stripslash.c: Likewise.
64675         * lib/tempname.c: Likewise.
64676         * lib/xreadlink.c: Likewise.
64677         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
64678         All uses changed.
64679         * lib/exclude.h: Likewise.
64680
64681         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
64682         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
64683         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
64684         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
64685         * lib/pathmax.h: Include <limits.h> unconditionally, since other
64686         files have been getting away with it for years (MORE/BSD 4.3
64687         is extinct now).
64688         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
64689         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
64690
64691         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
64692         Define to 256, not 255, as per modern POSIX.
64693
64694 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
64695
64696         Sync from coreutils.
64697         Use "file name" when talking about file names, instead of "filename"
64698         or "path", as per the GNU coding standards.
64699         * MODULES.html.sh: mkdir-p renamed from makepath.
64700         filenamecat renamed from path-concat.
64701         * modules/filenamecat: Renamed from modules/path-concat.
64702         (Files): filenamecat.h and filenamecat.c renamed from
64703         path-concat.h and path-concat.c.
64704         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
64705         (Include): filenamecat.h, not path-concat.h.
64706         * modules/mkdir-p: Renamed from modules/makepath.
64707         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
64708         makepath.c.
64709         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
64710         (Include): mkdir-p.h, not makepath.h.
64711
64712 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
64713
64714         Sync from coreutils.
64715         * m4/mkdir-p.m4: Renamed from makepath.m4.
64716         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
64717         Rename files from makepath.c to mkdir-p.c, and from
64718         makepath.h to mkdir-p.h.
64719         * m4/filenamecat.m4: Renamed from path-concat.m4.
64720         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
64721         Rename files from path-concat.c to filenamecat.c,
64722         and from path-concat.h to filenamecat.h.
64723         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
64724         "file name" in local variables or comments.
64725         * m4/rename.m4: Likewise.
64726
64727 2005-06-01  Bruno Haible  <bruno@clisp.org>
64728
64729         * modules/csharpexec: New file.
64730         * MODULES.html.sh (C#): New section.
64731
64732 2005-06-01  Bruno Haible  <bruno@clisp.org>
64733
64734         * m4/csharp.m4: New file, from GNU gettext.
64735         * m4/csharpexec.m4: New file, from GNU gettext.
64736
64737 2005-06-01  Bruno Haible  <bruno@clisp.org>
64738
64739         * lib/csharpexec.h: New file, from GNU gettext.
64740         * lib/csharpexec.c: New file, from GNU gettext.
64741         * lib/csharpexec.sh.in: New file, from GNU gettext.
64742
64743 2005-05-31  Derek Price  <derek@ximbiot.com>
64744             Paul Eggert  <eggert@cs.ucla.edu>
64745
64746         Sync from cvs.
64747         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
64748
64749 2005-05-31  Derek Price  <derek@ximbiot.com>
64750             Paul Eggert  <eggert@cs.ucla.edu>
64751
64752         Sync from cvs.
64753         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
64754
64755 2005-05-29  Derek Price  <derek@ximbiot.com>
64756
64757         * config/srclist.txt (glob_.h, glob.c): Add these files.
64758
64759 2005-05-29  Derek Price  <derek@ximbiot.com>
64760
64761         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
64762         * modules/glob: New file.
64763         * modules/getlogin_r: Add link to POSIX spec in description.
64764
64765 2005-05-29  Derek Price  <derek@ximbiot.com>
64766             Paul Eggert  <eggert@cs.ucla.edu>
64767
64768         * m4/glob.m4: New file.
64769
64770 2005-05-29  Derek Price  <derek@ximbiot.com>
64771             Paul Eggert  <eggert@cs.ucla.edu>
64772
64773         * lib/glob_.h, lib/glob.c: New files.
64774
64775 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
64776
64777         * modules/fts (Files): Remove m4/inttypes-pri.m4.
64778         * modules/fts-lgpl (Depends-on): Remove gettext.
64779
64780 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
64781
64782         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
64783         and don't require gt_INTTYPES_PRI.
64784
64785 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
64786
64787         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
64788
64789         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
64790         the configuration hassle isn't worth it.
64791         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
64792         (LONGEST_MODIFIER, PRIuMAX): Remove.
64793
64794 2005-05-27  Bruno Haible  <bruno@clisp.org>
64795
64796         * lib/getlogin_r.h: Remove second include of <stddef.h>.
64797
64798 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
64799
64800         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
64801         _POSIX_PTHREAD_SEMANTICS for Solaris.
64802
64803 2005-05-25  Derek Price  <derek@ximbiot.com>
64804
64805         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
64806
64807 2005-05-25  Derek Price  <derek@ximbiot.com>
64808             Paul Eggert  <eggert@cs.ucla.edu>
64809
64810         * modules/getlogin_r, m4/getlogin_r.m4: New files.
64811         * lib/getlogin_r.c, getlogin_r.h: New files.
64812
64813 2005-05-25  Bruno Haible  <bruno@clisp.org>
64814             Derek Price  <derek@ximbiot.com>
64815
64816         * lib/getlogin_r.h: Simplify API documentation.
64817
64818 2005-05-23  Derek Price  <derek@ximbiot.com>
64819
64820         * modules/minmax (Files): Add m4/minmax.m4.
64821         (configure.ac): Add gl_MINMAX.
64822
64823 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
64824
64825         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
64826         so that unistd-safer.h (GPL'ed code) need not be included.
64827
64828 2005-05-22  Bruno Haible  <bruno@clisp.org>
64829
64830         * m4/minmax.m4: New file.
64831         Based on a patch by Derek Price <derek@ximbiot.com>.
64832
64833 2005-05-22  Bruno Haible  <bruno@clisp.org>
64834
64835         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
64836         (INT64_MIN): Fix definition.
64837         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
64838
64839         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
64840         NEED_SIGNED_INT_TYPES.
64841
64842         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
64843         HAVE_SYSTEM_INTTYPES.
64844
64845 2005-05-22  Bruno Haible  <bruno@clisp.org>
64846
64847         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
64848         Also include <sys/param.h> if it defines MIN, MAX.
64849         Based on a patch by Derek Price <derek@ximbiot.com>.
64850
64851 2005-05-21  Jim Meyering  <jim@meyering.net>
64852
64853         * modules/fts (Files): Add m4/inttypes-pri.m4.
64854         (Depends-on): Add lstat and remove gettext.  Alphabetize.
64855
64856 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
64857
64858         New fts module.
64859         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
64860         (setup_dir, free_dir): New functions.
64861         (enter_dir, leave_dir): Define trivial
64862         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
64863         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
64864         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
64865         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
64866         Move to fts-cycle.c.
64867         (fts_open): Use setup_dir.
64868         (fts_close): Use free_dir.
64869         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
64870         This adds a label and some gotos, but the alternatives were messier.
64871         Check for memory allocation failure when entering a dir.
64872         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
64873         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
64874         (FTS): New member fts_cycle, that is a union that contains the
64875         old active_dir_ht and cycle_state.  All uses changed to mention
64876         fts_cycle.ht and fts_cycle.state.
64877         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
64878         fts.c, with the following changes:
64879         (setup_dir, free_dir): New functions.
64880         (enter_dir): Now returns bool.  Return true if successful, false
64881         if memory exhausted.  All callers changed.
64882         Do not bother partly cleaning up on
64883         memory allocation failure; that is free_dir's job.
64884         However, free ad if hash_insert fails, to avoid memory leak.
64885         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
64886         fts->fts_options to see which union member to use.
64887
64888 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
64889
64890         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
64891         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
64892
64893 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
64894
64895         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
64896
64897 2005-05-20  Jim Meyering  <jim@meyering.net>
64898
64899         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
64900         Now a macro, to pacify GCC.
64901
64902 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
64903
64904         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
64905         of -1.
64906
64907 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
64908
64909         * lib/chown.c (rpl_chown): Return -1 on failure.
64910
64911 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
64912
64913         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
64914         Don't check for stddef.h.
64915         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
64916         don't use its results.
64917         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
64918         since we include them unconditionally.  Don't require
64919         AM_STDBOOL_H, since stdbool is a prerequisite.
64920         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
64921         since we assume C89 or better.
64922         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
64923         as we don't use their results.
64924         Don't check for fchdir, memmove, memset, strrchr, as we use
64925         them unconditionally.
64926         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
64927         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
64928
64929 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
64930
64931         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
64932         Include <stddef.h> unconditionally, since we assume C89 now.
64933         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
64934         * lib/fts.c: Include fts_.h first, to check interface.
64935         Do not include intprops.h; no longer needed.
64936         Include cycle-check.h and hash.h, since fts_.h no longer does.
64937         Remove unnecessary casts of closedir to void.
64938         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
64939         decide whether to decrement nlinks.
64940         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
64941         (FTS): Use struct hash_table * instead of Hash_table, so that
64942         we no longer need to include hash.h here.
64943
64944 2005-05-18  Jim Meyering  <jim@meyering.net>
64945
64946         * modules/dirfd (License): Change to LGPL.  Most of the code
64947         is already in the public domain.
64948
64949 2005-05-18  Jim Meyering  <jim@meyering.net>
64950
64951         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
64952         Reported by Yoann Vandoorselaere.
64953
64954 2005-05-17  Jim Meyering  <jim@meyering.net>
64955
64956         * m4/fts.m4: New file, from coreutils.
64957
64958 2005-05-17  Jim Meyering  <jim@meyering.net>
64959
64960         * lib/fts.c, lib/fts_.h: New files, from coreutils.
64961
64962 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
64963
64964         Sync from coreutils.
64965         * m4/unlinkdir.m4: New file.
64966
64967 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
64968
64969         Sync from coreutils.
64970         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
64971         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
64972         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
64973         White space changes only.
64974         * lib/makepath.c (make_path): Port to hosts where leading "//" is
64975         special.
64976         * lib/yesno.c: Include getline.h, not ctype.h.
64977         (yesno): Don't remove leading white space; POSIX doesn't allow it.
64978         Use getline to remove arbitrary restriction on response length.
64979
64980 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
64981
64982         * config/srclist-update: Spell out "Street" in FSF postal
64983         mail address; this is the style the FSF seems to prefer.
64984
64985         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
64986         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
64987         this updates FSF postal mail address.
64988
64989         Sync from coreutils.
64990         * modules/unlinkdir: New file.
64991         * modules/yesno (Depends-on): Add getline.
64992         * MODULES.html.sh (File system functions): Add unlinkdir.
64993
64994 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
64995
64996         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
64997         lib/strsep.h:
64998         Change the initial comment to refer to GPL, not LGPL.
64999         gnulib-tool will change it to LGPL as needed.
65000
65001         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
65002         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
65003         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
65004         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
65005         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
65006         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
65007         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
65008         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
65009         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
65010         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
65011         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
65012         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
65013         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
65014         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
65015         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
65016         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
65017         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
65018         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
65019         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
65020         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
65021         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
65022         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
65023         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
65024         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
65025         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
65026         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
65027         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
65028         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
65029         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
65030         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
65031         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
65032         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
65033         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
65034         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
65035         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
65036         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
65037         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
65038         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
65039         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
65040         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
65041         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
65042         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
65043         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
65044         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
65045         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
65046         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
65047         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
65048         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
65049         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
65050         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
65051         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
65052         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
65053         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
65054         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
65055         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
65056         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
65057         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
65058         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
65059         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
65060         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
65061         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
65062         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
65063         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
65064         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
65065         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
65066         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
65067         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
65068         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
65069         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
65070         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
65071         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
65072         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
65073         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
65074         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
65075         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
65076         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
65077         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
65078         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
65079         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
65080         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
65081         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
65082         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
65083         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
65084         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
65085         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
65086         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
65087         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
65088         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
65089         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
65090         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
65091         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
65092         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
65093         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
65094         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
65095         lib/yesno.c, lib/yesno.h:
65096         Update FSF postal mail address.
65097
65098 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
65099
65100         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
65101         tests/test-memmem.c, tests/test-stpncpy.c:
65102         Update FSF postal mail address.
65103
65104 2005-05-13  Bruno Haible  <bruno@clisp.org>
65105
65106         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
65107         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
65108         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
65109         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
65110         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
65111         Add support for 64-bit integers in the MSVC compiler.
65112
65113 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65114
65115         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
65116
65117 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
65118
65119         * gnulib-tool (func_import): Sort and uniquify recommended includes.
65120
65121 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
65122
65123         * doc/getdate.texi (General date syntax): Don't say that date
65124         date --iso-8601=ns generates acceptable dates; it doesn't yet.
65125         Problem reported by Nic Ferrier.
65126
65127 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65128
65129         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
65130         specified in ai_socktype. Fix invalid ai_protocol
65131         check. ai_protocol is usually set to 0 or depending on
65132         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
65133         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
65134         ai_socktype / ai_protocol in the returned addrinfo structure.
65135
65136 2005-05-10  Simon Josefsson  <jas@extundo.com>
65137
65138         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
65139         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
65140
65141 2005-05-10  Karl Berry  <karl@gnu.org>
65142
65143         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
65144         (from http://www.gnu.org/licenses).
65145         * doc/COPYING.LIB: also rename to COPYING.LESSER.
65146         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
65147         fdl.texi suffices.
65148
65149 2005-05-10  Karl Berry  <karl@gnu.org>
65150
65151         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
65152         (COPYING.DOC): remove.
65153
65154         * config/srclist-update: new FSF address.
65155
65156 2005-05-10  Derek Price  <derek@ximbiot.com>
65157
65158         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
65159         possible.
65160
65161 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65162             Bruno Haible  <bruno@clisp.org>
65163
65164         * modules/inet_ntop: New file.
65165         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
65166         inet_ntop.
65167
65168 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65169             Bruno Haible  <bruno@clisp.org>
65170
65171         * m4/inet_ntop.m4: New file.
65172
65173 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65174             Bruno Haible  <bruno@clisp.org>
65175
65176         * lib/inet_ntop.h: New file.
65177         * lib/inet_ntop.c: New file, from glibc with modifications.
65178
65179 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
65180
65181         * modules/time_r (License): Change to LGPL.
65182         * modules/extensions (License): Change to LGPL.  Actually,
65183         the license is more permissive than that, but currently gnulib-tool
65184         doesn't know how to handle more-permissive licenses.
65185
65186         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
65187         Problem reported by Dave Love.
65188
65189 2005-05-08  Jim Meyering  <jim@meyering.net>
65190
65191         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
65192         blank.
65193
65194 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
65195
65196         * modules/argmatch (Depends-on): Add stdbool.
65197         * modules/backupfile (Depends-on): Likewise.
65198         * modules/chdir-long (Depends-on): Likewise.
65199         * modules/closeout (Depends-on): Likewise.
65200         * modules/cycle-check (Depends-on): Likewise.
65201         * modules/dirname (Depends-on): Likewise.
65202         * modules/fnmatch (Depends-on): Likewise.
65203         * modules/fsusage (Depends-on): Likewise.
65204         * modules/fwriteerror (Depends-on): Likewise.
65205         * modules/getcwd (Depends-on): Likewise.
65206         * modules/getloadavg (Depends-on): Likewise.
65207         * modules/hard-locale (Depends-on): Likewise.
65208         * modules/makepath (Depends-on): Likewise.
65209         * modules/mountlist (Depends-on): Likewise.
65210         * modules/nanosleep (Depends-on): Likewise.
65211         * modules/posixtm (Depends-on): Likewise.
65212         * modules/quotearg (Depends-on): Likewise.
65213         * modules/readtokens (Depends-on): Likewise.
65214         * modules/readtokens0 (Depends-on): Likewise.
65215         * modules/readutmp (Depends-on): Likewise.
65216         * modules/save-cwd (Depends-on): Likewise.
65217         * modules/strftime (Depends-on): Likewise.
65218         * modules/userspec (Depends-on): Likewise.
65219         * modules/utimecmp (Depends-on): Likewise.
65220         * modules/xgetcwd (Depends-on): Likewise.
65221         * modules/xnanosleep (Depends-on): Likewise.
65222         * modules/xstrtod (Depends-on): Likewise.
65223         * modules/yesno (Depends-on): Likewise.
65224
65225 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
65226
65227         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
65228         needless checks.
65229
65230 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
65231
65232         Merge from coreutils.  Among other things,
65233         add bulletproofing for cases where stdin, stdout, or stderr are closed.
65234         * lib/fd-safer.c: New file.
65235         * lib/fcntl-safer.h, open-safer.c: Remove.
65236         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
65237         * lib/dup-safer.c: Include unistd-safer.h first.
65238         Don't include errno.h.
65239         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
65240         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
65241         * lib/file-type.c: Rely on file-type.h change.
65242         * lib/getloadavg.c: Include unistd-safer.h.
65243         (getloadavg): Use safer open.
65244         * lib/getusershell.c: Include "stdio-safer.h".
65245         (getusershell): Use safer fopen.
65246         * lib/long-options.c (long_options): Use NULL rather than 0.
65247         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
65248         'free'.
65249         * lib/modechange.c: Likewise.
65250         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
65251         (MODE_DONE): New constant.
65252         (struct mode_change): Remove 'next' member.
65253         (make_node_op_equals): New function; like the old one of the
65254         same name, except it allocates an array.
65255         (mode_compile, mode_create_from_ref): Use it.
65256         (mode_compile): Allocate result as an array, not a linked list.
65257         Parse octal string ourself, so that we catch mistakes like "+0".
65258         (mode_adjust): Arg is an array, not a linked list.
65259         * lib/modechange.c: Include stat-macros.h, xalloc.h.
65260         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
65261         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
65262         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
65263         Remove.  This is now stat-macros.h's job.
65264         (talloc): Remove.  All callers replaced by xalloc, so that
65265         our invokers don't have to worry about reporting memory failures.
65266         (make_node_op_equals): Remove.
65267         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
65268         New constants.
65269         (struct mode_change): Moved here from modechange.h.
65270         (mode_append_entry): Remove.
65271         (mode_compile): Remove MASKED_OPS arg, since it encouraged
65272         apps to have incorrect behavior.  Use simpler algorithm for head
65273         and tail.  Don't futz with umask; that's now the job of mode_adjust.
65274         Detect more invalid usages rather than having somewhat-random behavior.
65275         Don't insert an "a=" action, as that leads to incorrect behavior.
65276         (mode_compile, mode_create_from_ref): Return NULL on error instead
65277         of an enum, since now there's only one way to have an error.  All
65278         callers changed.
65279         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
65280         at the correct time.  Simplify calculation of "+u" and its ilk.
65281         Don't mishandle "+X".
65282         (mode_free): Remove "register" and localize decls.
65283         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
65284         (struct mode_change): Move to modechange.c; callers don't
65285         need to see this stuff.
65286         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
65287         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
65288         (mode_change, mode_adjust): Reflect the new signatures noted above.
65289         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
65290         that might redefine system include files.
65291         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
65292         (my_usleep): Use NULL rather than (void *) 0.
65293         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
65294         Use siginterrupt to specify that system calls should be interrupted.
65295         (rpl_nanosleep): Move initialization of suspended closer to call of
65296         my_usleep.
65297         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
65298         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
65299         (desirable_utmp_entry): New function.
65300         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
65301         using x2nrealloc, to simplify logic.
65302         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
65303         size calculation.  Do not assume utmp file is a regular file.
65304         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
65305         (READ_UTMP_CHECK_PIDS): New constant.
65306         * lib/save-cwd.c: Include unistd-safer.h.
65307         (save_cwd): Use fd_safer.
65308         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
65309         [!_LIBC] Include "stat-macros.h" instead.
65310         * lib/unistd-safer.h (fd_safer): New decl.
65311
65312 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
65313
65314         * modules/getloadavg (Depends-on): Add unistd-safer.
65315         * modules/getusershell (Depends-on): Add stdio-safer.
65316         * modules/lstat (Depends-on): Remove xalloc.
65317         * modules/mkstemp (Depends-on): Add stat-macros.
65318         * modules/modechange (Depends-on): Remove xstrtol.
65319         Add stat-macros, xalloc.
65320         * modules/save-cwd (Depends-on): Add unistd-safer.
65321         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
65322         * modules/unistd-safer (Files): Add lib/fd-safer.c
65323         (Makefile.am): Remove lib_SOURCES.
65324
65325         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
65326         Remove fcntl-safer; unistd-safer supersedes it.
65327
65328 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
65329
65330         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
65331         AC_HEADER_STAT.
65332         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
65333         (gl_PREREQ_CHOWN): Remove.
65334         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
65335         it.  Don't require AC_HEADER_STAT.
65336         (gl_PREREQ_LSTAT): Remove.
65337         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
65338         Don't require AC_HEADER_STAT.
65339         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
65340         (gl_PREREQ_RMDIR): Remove.
65341         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
65342         mention stat-macros.h or AC_HEADER_STAT, since we'll make
65343         the stat-macros module a prerequisite.
65344         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
65345         * m4/filemode.m4 (gl_FILEMODE): Likewise.
65346         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
65347         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
65348         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
65349         variable names.
65350         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
65351         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
65352         variable prefixes.
65353         * m4/fcntl-safer.m4: Remove.
65354         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
65355         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
65356         Invoke gl_PREREQ_FD_SAFER.
65357         (gl_PREREQ_FD_SAFER): New macro.
65358         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
65359         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
65360         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
65361         Remove duplicate call to AC_LIBOBJ(readutmp).
65362         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
65363
65364         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
65365         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
65366
65367 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
65368
65369         * MODULES.html.sh (Misc): Add byteswap.
65370
65371 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
65372
65373         * modules/getcwd (Depends-on): Add extensions.
65374         * modules/openat (Depends-on): Likewise.
65375
65376 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
65377
65378         * modules/byteswap: New file.
65379
65380 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
65381
65382         * m4/byteswap.m4: New file.
65383
65384 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
65385
65386         * lib/byteswap_.h: New file.
65387
65388 2005-04-25  Karl Berry  <karl@gnu.org>
65389
65390         * m4/gettext.m4: Update from GNU gettext 0.14.4.
65391
65392 2005-04-25  Albert Chin  <china@thewrittenword.com>
65393
65394         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
65395         Toolkit C bug.
65396
65397 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
65398
65399         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
65400         (func_ln_if_changed) Remove forcibly for no error message
65401         in case file does not exist.
65402
65403 2005-04-19  Simon Josefsson  <jas@extundo.com>
65404
65405         * gnulib-tool (Options): Make --symlink mean --symbolic.
65406
65407 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
65408
65409         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
65410
65411 2005-04-16  Simon Josefsson  <jas@extundo.com>
65412
65413         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
65414
65415 2005-04-15  Simon Josefsson  <jas@extundo.com>
65416
65417         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
65418
65419 2005-04-15  Simon Josefsson  <jas@extundo.com>
65420
65421         * gnulib-tool: Rename --symlink to --symbolic.
65422
65423 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
65424
65425         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
65426         symbolic links to files instead of copying/moving.  Add --aux-dir,
65427         specifying directory relative --dir where auxiliary build tools
65428         are placed.
65429
65430 2005-04-14  Bruno Haible  <bruno@clisp.org>
65431
65432         * modules/allocsa (License): Change to LGPL.
65433         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
65434
65435 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
65436
65437         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
65438         that "UTC +1 second" continues to work.  Problem reported
65439         by Dmitry V. Levin.
65440         (relunit_snumber): New rule.
65441         (relunit): Use it.
65442
65443 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
65444
65445         * lib/getdate.y (universal_time_zone_table): New constant.
65446         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
65447         universal_time_zone_table.
65448         (lookup_zone): Prefer universal_time_zone_table to
65449         local_time_zone_table, so that "GMT" time stamps are allowed in
65450         London during the summer.  Problem reported by Ian Abbott.
65451
65452 2005-04-12  Jim Meyering  <jim@meyering.net>
65453
65454         * lib/human.c (humblock): Set *options even when returning due to
65455         xstrtoumax conversion failure.  Thanks to a used-uninitialized
65456         warning from gcc-4.
65457
65458 2005-04-09  Jim Meyering  <jim@meyering.net>
65459
65460         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
65461         -Wuninitialized: initialize tm0.tm_year.
65462
65463 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
65464
65465         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
65466         count, since there's no maximum.  All uses changed.
65467         Add member dsts_seen.
65468         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
65469         not being INT_MAX.
65470         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
65471         Use pc_rels_seen to decide whther a date is absolute.
65472
65473         * lib/getdate.y (number): Don't overwrite year.
65474         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
65475         check.
65476
65477 2005-04-02  Simon Josefsson  <jas@extundo.com>
65478
65479         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
65480         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
65481
65482 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
65483
65484         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
65485         where no absolute path name can be longer than PATH_MAX.
65486
65487 2005-03-27  Jim Meyering  <jim@meyering.net>
65488
65489         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
65490
65491 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
65492
65493         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
65494         "one's complement" -> "ones' complement" in comment, as per Knuth.
65495         "value of type" -> "type or expression" in comment.
65496         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
65497
65498 2005-03-26  Jim Meyering  <jim@meyering.net>
65499
65500         Comment nits.
65501         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
65502         Correct typos: s/or/of/.
65503
65504 2005-03-26  Jim Meyering  <jim@meyering.net>
65505
65506         * modules/check-include-files: Move to ../ and rename to...
65507         * check-module: ...this.
65508
65509 2005-03-25  Jim Meyering  <jim@meyering.net>
65510
65511         * modules/xvasprintf (Files): Add xalloc.h.
65512
65513 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
65514
65515         * modules/gettext (Files): config/config.rpath ->
65516         build-aux/config.rpath
65517         * modules/iconv (Files): Likewise.
65518         Problem reported by Oskar Liljeblad.
65519
65520 2005-03-23  Jim Meyering  <jim@meyering.net>
65521
65522         * modules/check-include-files: New script to check for
65523         missing dependencies, multiple includes, etc.
65524
65525         * modules/c-strtold (Depends-on): Add xalloc.
65526         * modules/c-strtod (Depends-on): Add xalloc.
65527         * modules/hash (Depends-on): Add xalloc.
65528         (Files): Remove lib/xalloc.h.
65529
65530         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
65531         * modules/userspec (Files): Add lib/inttostr.h.
65532
65533 2005-03-23  Jim Meyering  <jim@meyering.net>
65534
65535         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
65536
65537 2005-03-22  Jim Meyering  <jim@meyering.net>
65538
65539         * modules/stat-macros: New module.
65540         * modules/canonicalize, modules/euidaccess, modules/file-type,
65541         * modules/filemode, modules/lchown, modules/makepath,
65542         * modules/rmdir, modules/stat: Depend on new stat-macros module
65543         rather than listing lib/stat-macros.h manually.
65544         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
65545
65546 2005-03-22  Jim Meyering  <jim@meyering.net>
65547
65548         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
65549
65550 2005-03-22  Bruno Haible  <bruno@clisp.org>
65551
65552         * config/srclist.txt: Replace target directory 'config' with
65553         'build-aux'.
65554         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
65555         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
65556         ../build-aux/.
65557
65558 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
65559
65560         * modules/chdir-long (Depends-on): Add mempcpy.
65561
65562         * modules/acl, modules/backupfile, modules/c-strtod,
65563         modules/c-strtold, modules/canon-host, modules/canonicalize,
65564         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
65565         modules/exclude, modules/exitfail, modules/file-type,
65566         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
65567         modules/getdate, modules/getline, modules/getpagesize,
65568         modules/getpass, modules/getugroups, modules/group-member,
65569         modules/hard-locale, modules/hash, modules/human, modules/idcache,
65570         modules/inttostr, modules/long-options, modules/makepath,
65571         modules/md5, modules/memcasecmp, modules/memcoll,
65572         modules/modechange, modules/mountlist, modules/path-concat,
65573         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
65574         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
65575         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
65576         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
65577         modules/strftime, modules/strndup, modules/strverscmp,
65578         modules/timespec, modules/unlocked-io, modules/userspec,
65579         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
65580         modules/yesno:
65581         Remove lib_SOURCES line from Makefile.am section, as this is now
65582         done automatically by the corresponding Autoconf macro.
65583
65584 2005-03-21  Jim Meyering  <jim@meyering.net>
65585
65586         Changes imported from coreutils.
65587
65588         * lib/cycle-check.c: Don't include xalloc.h.
65589
65590         * lib/path-concat.c: Don't include assert.h.
65591         (path_concat): Remove assertion that would have triggered
65592         for ABASE starting with more than one slash.
65593         Reported by Andreas Schwab.
65594
65595         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
65596         properly when ABASE is an absolute file name.
65597         Correct the description of this function.
65598         Include <assert.h>.
65599         Add an assertion and a test driver.
65600         This fixes a bug introduced on 2004-07-02.
65601         Andreas Schwab reported the resulting failure of cp --parents:
65602         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
65603
65604 2005-03-21  Jim Meyering  <jim@meyering.net>
65605
65606         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
65607         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
65608
65609 2005-03-21  Jim Meyering  <jim@meyering.net>
65610         and  Paul Eggert  <eggert@cs.ucla.edu>
65611
65612         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
65613         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
65614         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
65615         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
65616         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
65617         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
65618         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
65619         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
65620         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
65621         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
65622         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
65623         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
65624         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
65625         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
65626         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
65627         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
65628         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
65629         for these modules.
65630
65631 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
65632
65633         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
65634         (which shouldn't happen), generate nothing instead of returning 0
65635         immediately, so that nstrftime (NULL, ...) doesn't return 0.
65636
65637 2005-03-16  Bruno Haible  <bruno@clisp.org>
65638
65639         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
65640         HAVE_LONGLONG_64BIT.
65641
65642 2005-03-16  Bruno Haible  <bruno@clisp.org>
65643
65644         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
65645         HAVE_LONGLONG_64BIT.
65646
65647 2005-03-16  Bruno Haible  <bruno@clisp.org>
65648
65649         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
65650         HAVE_LONGLONG_64BIT.
65651
65652 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
65653
65654         * lib/strftime.c (my_strftime): Prepend space to format so that we can
65655         reliably distinguish strftime failure from empty output on POSIX
65656         hosts.
65657
65658 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
65659
65660         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
65661         (iconv_string): Don't guess a size-zero buffer, as that might cause
65662         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
65663         result would be 'too large', where 'too large' is (heuristically)
65664         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
65665         overflow concerns.  This will prevent some unwanted malloc failures
65666         when the inputs are very large.
65667
65668 2005-03-15  Karl Berry  <karl@gnu.org>
65669
65670         * config/srclist.txt (config.rpath): from gettext.
65671         * config/config.rpath: update.
65672
65673 2005-03-15  Bruno Haible  <bruno@clisp.org>
65674
65675         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
65676         to 'negate'.
65677
65678         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
65679         variable.
65680
65681         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
65682         results.
65683
65684 2005-03-14  Simon Josefsson  <jas@extundo.com>
65685
65686         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
65687         <fx@gnu.org>.
65688
65689 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
65690
65691         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
65692         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
65693         intprops.h.
65694         * lib/strtol.c: Likewise.
65695
65696 2005-03-14  Jim Meyering  <jim@meyering.net>
65697
65698         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
65699         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
65700         to be nonzero so that we (and caller) can detect the difference
65701         between a valid zero-length expansion and an error return, even
65702         when the underlying strftime fails before writing anything into
65703         that location.
65704
65705 2005-03-14  Bruno Haible  <bruno@clisp.org>
65706
65707         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
65708         Update from GNU gettext 0.14.3.
65709
65710 2005-03-10  Jim Meyering  <jim@meyering.net>
65711
65712         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
65713
65714 2005-03-10  Jim Meyering  <jim@meyering.net>
65715
65716         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
65717         so that this module works on systems without fchdir.
65718
65719 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
65720
65721         Factor int-properties macros into a single file, except for
65722         glibc-related files.
65723         * lib/intprops.h: New file.
65724         * lib/getloadavg.c: Include it instead of limits.h.
65725         (INT_STRLEN_BOUND): Remove.
65726         * lib/human.c: Include intprops.h.
65727         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
65728         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
65729         302/1000.
65730         * lib/inttostr.h: Include intprops.h instead of limits.h.
65731         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
65732         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
65733         for consistency with intprops.h.
65734         (time_t_is_integer, twos_complement_arithmetic): Use them.
65735         * lib/sig2str.h: Include <signal.h>, intprops.h.
65736         (INT_STRLEN_BOUND): Remove.
65737         * lib/strftime.c (TYPE_SIGNED): Remove.
65738         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
65739         * lib/strtol.c: Adjust comments to match intprops.h.
65740         * lib/userspec.c: Include intprops.h.
65741         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
65742         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
65743         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
65744         instead of rolling our own expressions.
65745         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
65746
65747         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
65748         instead of int.
65749         (my_strftime): Do not mishandle years close to INT_MAX, by doing
65750         the right thing even if adding 1900 would overflow.  Similarly
65751         for tm_mon + 1 and tm_yday + 1.
65752         Make %Y always equivalent to %C%y, and similarly for %G and %g.
65753         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
65754         (DO_SIGNED_NUMBER): New macro.
65755         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
65756
65757 2005-03-07  Bruno Haible  <bruno@clisp.org>
65758
65759         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
65760
65761 2005-03-07  Bruno Haible  <bruno@clisp.org>
65762
65763         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
65764
65765 2005-03-04  Derek R. Price  <derek@ximbiot.com>
65766
65767         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
65768         (func_import): Only replace files via --import when they have actually
65769         changed.
65770
65771 2005-03-03  Derek R. Price  <derek@ximbiot.com>
65772
65773         * m4/mmap-anon.m4: New file.
65774         * m4/pagealign_alloc.m4: New file.
65775
65776 2005-03-03  Derek R. Price  <derek@ximbiot.com>
65777             Bruno Haible  <bruno@clisp.org>
65778
65779         * modules/pagealign_alloc: New file.
65780         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
65781
65782 2005-03-03  Derek R. Price  <derek@ximbiot.com>
65783             Bruno Haible  <bruno@clisp.org>
65784
65785         * lib/pagealign_alloc.h: New file.
65786         * lib/pagealign_alloc.c: New file.
65787
65788 2005-03-03  Bruno Haible  <bruno@clisp.org>
65789
65790         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
65791         Use an all-permissive copyright notice, recommended by RMS.
65792
65793 2005-03-02  Bruno Haible  <bruno@clisp.org>
65794
65795         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
65796         of AIX, the replacement has to be done only after <string.h> is
65797         included, therefore not in config.h. stpncpy.h does the replacement,
65798         and stpncpy.c uses it.
65799
65800 2005-03-02  Bruno Haible  <bruno@clisp.org>
65801
65802         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
65803         stpncpy.c uses it.
65804
65805 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65806
65807         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
65808         The workaround isn't strictly needed for POSIX conformance, and
65809         it's too much of a pain to configure and maintain.  We'll ask
65810         people to fix their kernels instead.
65811         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
65812         (NANOSLEEP_BUG_WORKAROUND): Remove.
65813         (xnanosleep): Remove the workaround.
65814
65815 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65816
65817         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
65818         Reported by Derek Price.
65819         (Include): Add "timespec.h".
65820
65821         * modules/xnanosleep (Depends-on): Remove gethrxtime.
65822
65823 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65824
65825         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
65826         to detect nanosleep bug.
65827
65828 2005-03-01  Bruno Haible  <bruno@clisp.org>
65829
65830         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
65831
65832 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
65833
65834         * modules/gethrxtime: New file.
65835         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
65836         (Depends-on): Add gethrxtime.
65837         (configure.ac): Add gl_XNANOSLEEP.
65838         (Makefile.am): Remove lib_SOURCES line.
65839
65840 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
65841
65842         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
65843         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
65844
65845 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
65846
65847         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
65848         * lib/timespec.h (gettime): Return void, since it always
65849         succeeds now.  All uses changed.
65850         * lib/gettime.c (gettime) Likewise.
65851         [HAVE_NANOTIME]: Prefer nanotime.
65852         Assume gettimeofday succeeds, as POSIX requires.
65853         Assime time () succeeds, since other code already does.
65854         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
65855         (timespec_subtract): Remove.
65856         (NANOSLEEP_BUG_WORKAROUND): New constant.
65857         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
65858         things considerably.  Use it only on GNU/Linux hosts, since the
65859         workaround shouldn't be needed elsewhere.
65860
65861 2005-02-24  Bruno Haible  <bruno@clisp.org>
65862
65863         * modules/gettext (Files): Add m4/glibc2.m4.
65864
65865 2005-02-24  Bruno Haible  <bruno@clisp.org>
65866
65867         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
65868         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
65869         * m4/progtest.m4:
65870         Update from GNU gettext 0.14.2.
65871         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
65872
65873 2005-02-24  Bruno Haible  <bruno@clisp.org>
65874
65875         * lib/localcharset.c: Update from GNU gettext 0.14.2.
65876         * lib/config.charset: Update from GNU gettext 0.14.2.
65877
65878 2005-02-24  Bruno Haible  <bruno@clisp.org>
65879
65880         * lib/gettext.h: Update from GNU gettext 0.14.2.
65881
65882 2005-02-23  Simon Josefsson  <jas@extundo.com>
65883
65884         * m4/iconvme.m4: New file.
65885
65886 2005-02-23  Jim Meyering  <jim@meyering.net>
65887
65888         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
65889         change.
65890         Thanks to Bruno Haible for catching it.
65891
65892 2005-02-22  Simon Josefsson  <jas@extundo.com>
65893
65894         * modules/iconvme: New file.
65895
65896         * MODULES.html.sh: Add iconvme.
65897
65898 2005-02-22  Simon Josefsson  <jas@extundo.com>
65899
65900         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
65901
65902 2005-02-22  Simon Josefsson  <jas@extundo.com>
65903
65904         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
65905
65906 2005-02-22  Jim Meyering  <jim@meyering.net>
65907
65908         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
65909         s/ifndef/ifdef/.
65910
65911 2005-02-20  Neil Conway  <neilc@samurai.com>
65912
65913         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
65914         returned by OSX/Darwin if the specified buffer is not large
65915         enough for the hostname.
65916
65917 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65918
65919         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
65920         pass it to _help, otherwise the latter coredumps trying to
65921         dereference state.root_argp.
65922
65923 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
65924
65925         * modules/chdir-long (Depends-on): Add memrchr.
65926         * modules/memrchr (Files): Add lib/memrchr.h.
65927         (Include): "memrchr.h".
65928
65929 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
65930
65931         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
65932
65933 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
65934
65935         * lib/memrchr.h: New file.
65936         * lib/chdir-long.c: Include it.
65937         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
65938         Don't bother including stddef.h.
65939
65940 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
65941
65942         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
65943         inclusion.
65944         Include <sys/types.h>, for dev_t.
65945         (ME_DUMMY, ME_REMOTE): Move from here....
65946         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
65947         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
65948         Dmitry V. Levin.
65949         Include mountlist.h first, to test the interface.
65950
65951 2005-01-29  Bruno Haible  <bruno@clisp.org>
65952
65953         * lib/progname.c (program_name): Initialize.
65954         Needed when linking statically on MacOS X.
65955
65956 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
65957
65958         Sync from coreutils.
65959         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
65960         (Depends-on): Add c-strtod.
65961         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
65962
65963 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
65964
65965         Sync from coreutils.
65966         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
65967
65968         Remove files that are specific to coreutils.
65969         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
65970
65971 2005-01-28  Bruno Haible  <bruno@clisp.org>
65972
65973         * modules/javacomp: New file.
65974         * MODULES.html.sh (Java): Add javacomp.
65975
65976 2005-01-28  Bruno Haible  <bruno@clisp.org>
65977
65978         * m4/javacomp.m4: New file, from GNU gettext.
65979
65980 2005-01-28  Bruno Haible  <bruno@clisp.org>
65981
65982         * lib/javacomp.sh.in: New file, from GNU gettext.
65983         * lib/javacomp.h: New file, from GNU gettext.
65984         * lib/javacomp.c: New file, from GNU gettext.
65985
65986 2005-01-26  Simon Josefsson  <jas@extundo.com>
65987
65988         * lib/gai_strerror.c: Use GPL in header.
65989
65990 2005-01-26  Bruno Haible  <bruno@clisp.org>
65991
65992         * modules/javaexec: New file.
65993         * MODULES.html.sh (Java): Add javaexec.
65994
65995 2005-01-26  Bruno Haible  <bruno@clisp.org>
65996
65997         * m4/javaexec.m4: New file, from GNU gettext.
65998
65999 2005-01-26  Bruno Haible  <bruno@clisp.org>
66000
66001         * lib/javaexec.sh.in: New file, from GNU gettext.
66002         * lib/javaexec.h: New file, from GNU gettext.
66003         * lib/javaexec.c: New file, from GNU gettext.
66004
66005 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66006
66007         * modules/lchown (Depends-on): Remove lchown.h
66008
66009 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66010
66011         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
66012         must be defined if the header file was not found, in order
66013         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
66014
66015 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66016
66017         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
66018         initializers for struct pentry_state.
66019         (__argp_error): Check return value of __asprintf
66020         (__argp_failure): Translate error message
66021
66022         * lib/argp-parse.c: Removed braces around the expansion of N_()
66023
66024 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
66025
66026         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
66027         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
66028         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
66029         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
66030         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
66031         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
66032         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
66033         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
66034         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
66035         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
66036         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
66037         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
66038         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
66039         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
66040         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
66041         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
66042         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
66043         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
66044         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
66045         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
66046         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
66047         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
66048         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
66049         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
66050         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
66051         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
66052         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
66053         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
66054         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
66055         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
66056         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
66057         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
66058         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
66059         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
66060         xstrtol.m4, xstrtoumax.m4, yesno.m4:
66061         Use an all-permissive copyright notice, recommended by RMS.
66062
66063 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
66064
66065         * modules/chdir-long (Depends-on): Remove mempcpy.
66066
66067 2005-01-21  Jim Meyering  <jim@meyering.net>
66068
66069         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
66070         same value as for Solaris 9.
66071
66072         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
66073         component length.  This included changing the parameter to be
66074         of type `char *' rather than `char const *'.
66075         * lib/chdir-long.h (chdir_long): Update prototype.
66076
66077         * lib/openat.c (fdopendir, fstatat): New functions.
66078         * lib/openat.h: Include headers required for use of DIR and struct
66079         stat.
66080         [AT_SYMLINK_NOFOLLOW]: Define.
66081         (fdopendir, fstatat): Add prototypes.
66082
66083 2005-01-21  Bruno Haible  <bruno@clisp.org>
66084
66085         * modules/classpath: New file.
66086         * MODULES.html.sh (Java): Add classpath.
66087
66088 2005-01-21  Bruno Haible  <bruno@clisp.org>
66089
66090         * lib/classpath.h: New file, from GNU gettext.
66091         * lib/classpath.c: New file, from GNU gettext.
66092
66093 2005-01-20  Simon Josefsson  <jas@extundo.com>
66094
66095         * modules/version-etc-fsf: New file.
66096
66097 2005-01-20  Simon Josefsson  <jas@extundo.com>
66098
66099         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
66100         * lib/version-etc.c: Remove version_etc_copyright.
66101         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
66102         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
66103
66104 2005-01-20  Simon Josefsson  <jas@extundo.com>
66105
66106         * lib/base64.h (isbase64): Add.
66107
66108         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
66109         using a unsigned prototype, don't inline.
66110         (base64_decode): Use it.
66111
66112 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
66113
66114         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
66115         it.
66116
66117 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
66118
66119         * lib/save-cwd.c (save_cwd): Remove code to support the case
66120         where fchdir is missing or flaky.
66121
66122 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
66123
66124         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
66125
66126 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
66127
66128         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
66129         AC_LIBSOURCES now does this.
66130         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
66131         with new ullong_max module.
66132
66133 2005-01-19  Bruno Haible  <bruno@clisp.org>
66134
66135         * modules/sh-quote: New file.
66136         * MODULES.html.sh (Executing programs): Add sh-quote.
66137
66138 2005-01-19  Bruno Haible  <bruno@clisp.org>
66139
66140         * lib/sh-quote.h: New file, from GNU gettext.
66141         * lib/sh-quote.c: New file, from GNU gettext.
66142
66143 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
66144
66145         Merge from coreutils.
66146         * m4/ullong_max.m4: New file.
66147         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
66148         (gl_MACROS): Assume localeconv exists.
66149
66150 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
66151
66152         Merge changes from coreutils, as described below in several
66153         changelogs dated today.
66154
66155         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
66156         (O_DIRECTORY): Remove; not needed here, since "." must be
66157         a directory.  All uses removed.
66158         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
66159         universal on Suns, and we also need to test for IRIX.
66160         Revamp code to use 'if' rather than '#if'.
66161         Avoid unnecessary comparison of cwd->desc to 0.
66162
66163         * lib/utimens.c (futimens): Robustify the previous patch, by checking
66164         for known valid error numbers rather than observed invalid ones.
66165
66166 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
66167
66168         * modules/ullong_max: New file.
66169
66170         * modules/chdir-long, modules/openat: New files.
66171         * modules/save-cwd (Depends-on): Depend on chdir-long.
66172         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
66173
66174 2005-01-18  Jim Meyering  <jim@meyering.net>
66175
66176         Merge from coreutils.
66177         * m4/chdir-long.m4, m4/openat.m4: New files.
66178         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
66179         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
66180         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
66181         is sane and DOES follow symlinks.  Besides, testing 20 different
66182         systems found no broken chown implementations.
66183         Prompted by a change in rsync's copy of this macro.
66184         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
66185
66186         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
66187
66188         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
66189         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
66190         NULL-means-set-to-current-time semantics.
66191         Remove temporary file immediately, rather than waiting
66192         for configure's at-exit trap code to do it.
66193
66194 2005-01-18  Jim Meyering  <jim@meyering.net>
66195
66196         * lib/version-etc.c (version_etc_copyright): Update copyright date.
66197
66198         * lib/utimens.c (futimens): Account for the fact that futimes
66199         can also fail with errno == ENOSYS or errno == ENOENT.
66200         Patch from Dmitry V. Levin.
66201
66202         Change the name of the robust chdir function from chdir to chdir_long.
66203         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
66204         (restore_cwd): Use chdir_long, not chdir.
66205         * lib/chdir-long.c: Renamed from chdir.c.
66206         * lib/chdir-long.h: Renamed from chdir.h.
66207         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
66208         Hurd.
66209
66210 2005-01-18  Bruno Haible  <bruno@clisp.org>
66211
66212         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
66213         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
66214         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
66215         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
66216         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
66217         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
66218         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
66219         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
66220         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
66221         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
66222         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
66223         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
66224         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
66225         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
66226         Use an all-permissive copyright notice, recommended by RMS.
66227
66228 2005-01-18  Bob Proulx  <bob@proulx.com>
66229
66230         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
66231         simplify offsetof() macro construct to avoid compile failure with
66232         native HP-UX 11.0 ANSI C compiler.
66233
66234 2005-01-17  Bruno Haible  <bruno@clisp.org>
66235
66236         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
66237         redundant because stpncpy.m4 takes care of it.
66238
66239 2005-01-17  Bruno Haible  <bruno@clisp.org>
66240
66241         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
66242
66243 2005-01-17  Bruno Haible  <bruno@clisp.org>
66244
66245         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
66246         used.
66247
66248 2005-01-17  Bruno Haible  <bruno@clisp.org>
66249
66250         * lib/fwriteerror.h (fwriteerror): Change specification to include
66251         fclose.
66252         * lib/fwriteerror.c: Include <stdbool.h>.
66253         (fwriteerror): At the end, close the file stream. Record whether
66254         stdout was already closed.
66255
66256 2005-01-17  Bruno Haible  <bruno@clisp.org>
66257
66258         * lib/execute.c (environ): Declare if needed.
66259         * lib/pipe.c (environ): Likewise.
66260         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
66261
66262 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66263
66264         * modules/argp: Depend on vsnprintf
66265
66266 2005-01-10  Jim Meyering  <jim@meyering.net>
66267
66268         * modules/closeout (Depends-on): Add atexit.
66269
66270 2005-01-06  Bruno Haible  <bruno@clisp.org>
66271
66272         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
66273
66274 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
66275
66276         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
66277         definitions to be after all include files, to avoid collisions.
66278         Problem reported by Bob Proulx.
66279
66280 2005-01-04  Jim Meyering  <jim@meyering.net>
66281
66282         Changes imported from coreutils.
66283         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
66284         as the mkstemp template, use a temporary directory and an
66285         8.3-friendly template to avoid trouble on systems like DJGPP.
66286         Reported by Juan M. Guerrero via Stepan Kasal.
66287         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
66288         close. Remove the temporary directory right away, rather than waiting
66289         for configure's at-exit trap code to do it.
66290         Suggestion from Stepan Kasal.
66291
66292 2005-01-01  Simon Josefsson  <jas@extundo.com>
66293
66294         * gnulib-tool: Print #include directives when --import'ing.
66295
66296 2004-12-28  Simon Josefsson  <jas@extundo.com>
66297
66298         * tests/test-base64.c: Include required header files.  Remove
66299         unused variables.
66300
66301 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
66302
66303         * modules/error (Depends-on): Remove gettext.
66304
66305 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
66306
66307         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
66308         not needed.  This removes a dependency on the gettext module.
66309         [defined _LIBC]: Do not include <libintl.h>; not needed.
66310
66311 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
66312
66313         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
66314         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
66315
66316 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
66317
66318         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
66319         HAVE_DECL_STRTOLD.
66320
66321 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
66322
66323         * modules/getdate (Depends-on): Remove alloca-opt.
66324
66325 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
66326
66327         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
66328
66329 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
66330
66331         * lib/argp-parse.c: Include <stddef.h>.
66332         (alignof, alignto): New macros.
66333         (parser_init): Don't assume that void * is aligned sufficiently
66334         for struct option.
66335
66336         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
66337         need to extend the stack.
66338         (YYINITDEPTH): New macro, so that the initial stack isn't overly
66339         large.
66340
66341 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66342
66343         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
66344
66345 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
66346
66347         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
66348         (2004-10-24) change.  Apparently this was a false alarm.
66349
66350         * modules/getdate: Depend on alloca-opt, not alloca.
66351
66352 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
66353
66354         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
66355         Remove now-obsolete comment about AIX.
66356         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
66357         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
66358         (YYMAXDEPTH): New macro.
66359
66360 2004-12-18  Simon Josefsson  <jas@extundo.com>
66361
66362         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
66363
66364 2004-12-18  Bruno Haible  <bruno@clisp.org>
66365
66366         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
66367
66368 2004-12-18  Bruno Haible  <bruno@clisp.org>
66369
66370         * lib/fatal-signal.c (fatal_signals): Make non-const.
66371         (init_fatal_signals): New function.
66372         (uninstall_handlers, install_handlers): Ignore signals that were set to
66373         SIG_IGN.
66374         (at_fatal_signal): Call init_fatal_signals.
66375         (init_fatal_signal_set): Likewise. Ignore signals that were set to
66376         SIG_IGN.
66377         Reported by Paul Eggert.
66378
66379 2004-12-18  Bruno Haible  <bruno@clisp.org>
66380
66381         * doc/alloca.texi: New file.
66382         * doc/alloca-opt.texi: New file.
66383
66384 2004-12-17  Jim Meyering  <jim@meyering.net>
66385
66386         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
66387         Otherwise, install-sh could exit with improper exit status when
66388         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
66389
66390 2004-12-16  Simon Josefsson  <jas@extundo.com>
66391
66392         * tests/test-base64.c: Add license.
66393
66394 2004-12-15  Stepan Kasal  <address@hidden>
66395
66396         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
66397
66398 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
66399
66400         * modules/getcwd (Files): Add m4/d-ino.m4.
66401         Suggested by Mark D. Baushke.
66402
66403 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
66404
66405         * lib/getdate.y (textint): New member "negative".
66406         (time_zone_hhmm): New function.
66407         Expect 14 shift-reduce conflicts, not 13.
66408         (o_colon_minutes): New rule.
66409         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
66410         (yylex): Set the "negative" member of signed numbers.
66411
66412 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
66413
66414         * doc/getdate.texi (Time of day items, Time zone items):
66415         Describe new formats +00:00, UTC+00:00.
66416
66417 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
66418
66419         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
66420         spurious "-l"s.  Problem reported by Stepan Kasal.
66421
66422 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
66423
66424         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
66425         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
66426
66427 2004-12-04  Simon Josefsson  <jas@extundo.com>
66428
66429         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
66430         Vandoorselaere <yoann@prelude-ids.org>.
66431
66432 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
66433
66434         Changes imported from coreutils.
66435         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
66436         exist.
66437         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
66438
66439 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
66440
66441         Changes imported from coreutils.
66442         * lib/hard-locale.c: Assume <locale.h> exists.
66443         Include "strdup.h".
66444         (GLIBC_VERSION): New macro.
66445         (hard_locale): Assume setlocale exists.
66446         Rewrite to avoid #ifdef.
66447         Use strdup rather than malloc + strcpy.
66448         * lib/human.c: Assume <locale.h> exists.
66449         (human_readable): Assume localeconv exists.
66450
66451 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
66452
66453         * modules/hard-locale (Depends-on): Add strdup.
66454
66455 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
66456
66457         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
66458         convert T2, not T.  (Imported from libc.)
66459
66460 2004-11-30  Simon Josefsson  <jas@extundo.com>
66461
66462         * modules/restrict (License): Change to LGPL.
66463
66464 2004-11-30  Simon Josefsson  <jas@extundo.com>
66465
66466         * m4/restrict.m4: Add copyright and copying conditions.
66467
66468 2004-11-30  Simon Josefsson  <jas@extundo.com>
66469
66470         * m4/base64.m4: New file.
66471
66472 2004-11-30  Simon Josefsson  <jas@extundo.com>
66473
66474         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
66475         base64.
66476
66477         * tests/test-base64.c: New file.
66478
66479         * modules/base64: New file.
66480
66481 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
66482
66483         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
66484         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
66485
66486         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
66487
66488 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
66489
66490         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
66491         (__getcwd.c): Don't restore errno; glibc doesn't.
66492         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
66493         first, falling back to our code only if its results look suspicious.
66494         Ensure that the resulting buffer is only as large as necessary.
66495
66496         * lib/readutmp.c: Include readutmp.h first.
66497         Include <errno.h>, since readutmp.h no longer does that.
66498         * lib/readutmp.h: Don't include <errno.h>,
66499         <sys/param.h>, <time.h>; not needed to establish interface.
66500         (errno): Remove decl.
66501         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
66502         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
66503         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
66504
66505 2004-11-28  Simon Josefsson  <jas@extundo.com>
66506
66507         * lib/base64.h, base64.c: New file.
66508
66509 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
66510
66511         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
66512
66513 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
66514
66515         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
66516         (Depends-on): Remove pathmax, same.  Add mempcpy.
66517         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
66518         (Makefile.am): Append getcwd.h to lib_SOURCES.
66519         (Include): Add getcwd.h.
66520         (Maintainer): Change from Jim Meyering to "all, glibc",
66521         since getdate now uses intended-for-glibc code.
66522         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
66523         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
66524
66525 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
66526
66527         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
66528         HP's ANSI C compiler.
66529         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
66530         Declaring int functions causes warnings on some modern systems and
66531         shouldn't be needed to compile on ancient ones.
66532         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
66533         defined.
66534
66535         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
66536         with the following changes.
66537         (__set_errno): Parenthesize properly.
66538         Include <stdbool.h>.
66539         (MIN, MAX, MATCHING_INO): New macros.
66540         (__getcwd): Define with prototype, not K&R form.
66541         Use heuristics to allocate default buffer on stack if possible.
66542         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
66543         behavior, and to avoid the PATH_MAX limit when computing
66544         ../../../../...
66545         Use MATCHING_INO to compare inode number to file.
66546         Check for arithmetic overflow in size calculations.
66547         Fix bug in reallocation of dot array that caused getcwd to fail
66548         on directories nested deeper than 75.
66549         Be more careful about saving errno on error.
66550         Do not use realloc; use only free+malloc, as this is a bit
66551         more flexible and avoids a needless copy operation.
66552         Do not inspect st_dev and st_ino for symbolic links; POSIX
66553         doesn't specify the latter.
66554         Check for closedir errors.
66555         Avoid needless casts.
66556         Use "#ifdef weak_alias" around weak_alias, to be like other
66557         glibc code.
66558         The following changes to getcwd.c have effect only when used in
66559         gnulib; they have no effect inside glibc proper.
66560         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
66561         as alloca isn't used.
66562         (alloca, __alloca): Likewise.
66563         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
66564         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
66565         unconditionally, as gnulib assumes C89 or better.
66566         Do not include <sys/param.h>.
66567         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
66568         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
66569         better.
66570         (NULL) [!defined NULL]: Remove; we assume C89 or better.
66571         Include <dirent.h> in a way that is compatible with modern Autoconf.
66572         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
66573         New macros, if not already defined.
66574         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
66575         Use "_LIBC", not "defined _LIBC", for consistency.
66576         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
66577         a mempcpy module.
66578         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
66579         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
66580         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
66581         credit only to Jim Meyering and adjust the copyright dates.
66582         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
66583         <stdlib.h>, <unistd.h>, "pathmax.h".
66584         Instead, include "xgetcwd.h" (first) and "getcwd.h".
66585         (INITIAL_BUFFER_SIZE): Remove.
66586         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
66587
66588 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
66589
66590         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
66591         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
66592         Use the _ONCE methods, for efficiency.
66593         Check for fcntl.h.  In test program, include <errno.h>
66594         and <fcntl.h> if available.  Remove old K&R cruft from
66595         test program.  Check for common errors in GNU/Linux,
66596         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
66597         don't do AC_LIBOBJ, as that's getcwd.m4's job.
66598         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
66599         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
66600         name accordingly.
66601         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
66602         accommodate new getcwd.c.
66603         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
66604         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
66605         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
66606         that's all we need now.
66607
66608 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66609
66610         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
66611         argp-parse.c depends on getopt internals, that means we should
66612         always use our getopt, to be on the safe side.
66613         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
66614         order not to spoil the result of an eventual previous invocation
66615         of gl_GETOPT_SUBSTITUTE.
66616
66617 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66618
66619         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
66620         redefinition warnings. To avoid them, include the defines
66621         in `#if !defined __need_getopt ... #endif'. The only place
66622         where __getopt_argv_const is used is in definitions
66623         of getopt_long and getopt_long_only below, which are as well
66624         protected by `#ifndef __need_getopt'.
66625         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
66626         __need_getopt after including <stdio.h> and <unistd.h> These
66627         headers might have defined it.
66628
66629 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
66630
66631         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
66632
66633 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
66634
66635         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
66636         (futimens): New function, which uses futimes if available.
66637         (futimens, utimens): Support timespec==NULL, with same semantics
66638         as utime and utimens.
66639         * lib/utimens.h (futimens): New decl.
66640
66641 2004-11-23  Jim Meyering  <jim@meyering.net>
66642
66643         * lib/getopt_.h: Remove trailing blanks.
66644
66645 2004-11-23  Jim Meyering  <jim@meyering.net>
66646
66647         * lib/__fpending.c: Add comment.
66648
66649 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
66650
66651         * modules/canonicalize (Depends-on): Add xreadlink.
66652         Problem reported by James Youngman.
66653
66654 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
66655
66656         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
66657         New macros.
66658         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
66659         optopt): Use them instead of invoking ## directly; otherwise, the
66660         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
66661
66662 2004-11-19  Bruno Haible  <bruno@clisp.org>
66663
66664         * lib/strtok_r.c: Move comments from here...
66665         * lib/strtok_r.h: ... to here.
66666
66667 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
66668
66669         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
66670         implementations that mishandle size_t overflow.
66671
66672 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
66673
66674         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
66675         might fail.  Problem reported by Yoann Vandoorselaere.
66676         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
66677         implementations that mishandle size_t overflow.
66678
66679 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
66680
66681         * modules/canon-host (Depends-on): Add strdup.
66682
66683 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
66684
66685         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
66686
66687 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
66688
66689         * lib/canon-host.c: Include "strdup.h".
66690         (canon_host): Use getaddrinfo if available, so that IPv6 works.
66691         Use strdup instead of malloc/strcpy to duplicate strings.
66692
66693         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
66694         (human_space_before_unit): New constant.
66695         * lib/human.c (human_readable): Support it.
66696
66697         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
66698         (xgetcwd): Set errno correctly when failing.
66699         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
66700         the failure is actually due to a PATH_MAX problem.
66701
66702         Further getopt changes to make it more likely that glibc will
66703         buy the changes back.
66704         * lib/getopt.c (POSIXLY_CORRECT): New constant.
66705         (getopt): Use it, so to preserve glibc semantic
66706         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
66707         when compiling for libc.
66708         * lib/getopt_.h (__getopt_argv_const): Bring it back.
66709         (getopt_long, getopt_long_only): Use it.
66710
66711         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
66712         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
66713         (getopt): Argv is now char * const *, as per standard.
66714         (_getopt_internal_r, _getopt_internal): Argv is now char **,
66715         not char *__getopt_argv_const *.
66716         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
66717         _getopt_long_only_r): Likewise.
66718         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
66719         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
66720         _getopt_long_r, _getopt_long_only_r): Likewise.
66721         * lib/getopt_.h (__getopt_argv_const): Remove.
66722         (getopt): Argv is now char * const *, as per standard.
66723
66724         * lib/getdate.y (tORDINAL): New token.
66725         (day, relunit): Allow it for relative times.
66726         (relative_time_table): Use tORDINAL for ordinals.
66727
66728 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
66729
66730         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
66731         Document that "second" isn't allowed as an ordinal number.
66732
66733 2004-11-16  Jim Meyering  <jim@meyering.net>
66734
66735         * modules/closeout (Depends-on): Add fpending.
66736
66737 2004-11-15  Jim Meyering  <jim@meyering.net>
66738
66739         * lib/closeout.c: Include "__fpending.h" once again.
66740         Include <stdbool.h>.
66741         (close_stdout): Don't fail just because stdout was closed initially,
66742         since some programs don't write to stdout in the normal course of
66743         operation (other than --version and --help), and we don't want this
66744         function to make e.g. `touch file >&-' fail.
66745         But do fail if it was closed and someone has tried to write to it.
66746         E.g., `printf foo >&-' must fail.
66747
66748 2004-11-13  Jim Meyering  <jim@meyering.net>
66749
66750         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
66751
66752 2004-11-12  Simon Josefsson  <jas@extundo.com>
66753
66754         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
66755         small doc fix is still pending.
66756
66757 2004-11-11  Simon Josefsson  <jas@extundo.com>
66758
66759         * modules/strtok_r: New file.
66760
66761         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66762         strtok_r.
66763
66764 2004-11-11  Simon Josefsson  <jas@extundo.com>
66765
66766         * m4/strtok_r.m4: New file.
66767
66768         * m4/getopt.m4: Replace opterr.
66769
66770 2004-11-11  Simon Josefsson  <jas@extundo.com>
66771
66772         * lib/strtok_r.h, strtok_r.c: New file.
66773
66774 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
66775
66776         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
66777         of replacing opterr, getopt, etc.  This should handle the
66778         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
66779
66780 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
66781
66782         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
66783         we can stop lying to compilers about the constness of argv when we
66784         are compiled outside glibc.
66785         (getopt, getopt_long, getopt_long_only): Use it.
66786         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
66787         _getopt_internal, getopt): Likewise.
66788         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
66789         _getopt_long_only_r): Likewise.
66790         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
66791         _getopt_long_r, _getopt_long_only_r): Likewise.
66792
66793         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
66794         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
66795         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
66796         the other external symbols.
66797         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
66798         declaration, since the above renaming now works around collisions.
66799
66800 2004-11-11  Jim Meyering  <jim@meyering.net>
66801
66802         * lib/linebreak.c: Remove trailing blanks.
66803         * lib/alloca_.h: Likewise.
66804         * lib/acosl.c: Likewise.
66805         * lib/euidaccess.c: Likewise.
66806         * lib/allocsa.h: Likewise.
66807
66808 2004-11-10  Simon Josefsson  <jas@extundo.com>
66809
66810         * m4/getaddrinfo.m4: New file.
66811
66812 2004-11-10  Simon Josefsson  <jas@extundo.com>
66813
66814         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
66815
66816 2004-11-10  Simon Josefsson  <jas@extundo.com>
66817
66818         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66819         getaddrinfo.
66820
66821         * modules/getaddrinfo: New file.
66822
66823 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
66824
66825         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
66826
66827 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
66828
66829         * lib/mktime.c (SHR): New macro, which is a portable
66830         substitute for >> that should work even on Crays.
66831         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
66832         Problem reported by Mark D. Baushke in
66833         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
66834         * lib/getdate.y (SHR): Likewise.
66835         (tm_diff): Use it.
66836         * lib/strftime.c (SHR): Likewise.
66837         (tm_diff): Use it.
66838         * lib/quotearg.c (struct quoting_options): Use unsigned int for
66839         quote_these_too, so that right shifts are well defined.  All uses
66840         changed.
66841
66842 2004-11-10  Jim Meyering  <jim@meyering.net>
66843
66844         Ensure that no close failure goes unreported.
66845         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
66846         return early when it seems there's nothing to flush.
66847         Don't include __fpending.h.
66848
66849 2004-11-10  Jim Meyering  <jim@meyering.net>
66850
66851         * modules/closeout (Depends-on): Remove fpending.
66852
66853 2004-11-10  Jim Meyering  <jim@meyering.net>
66854
66855         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
66856
66857 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
66858
66859         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
66860         gl_FUNC_STRFTIME.
66861         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
66862         and AC_REQUIRE when possible, to avoid duplicate checks.
66863         Check for <wchar.h>.
66864
66865 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
66866
66867         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
66868
66869 2004-11-09  Bruno Haible  <bruno@clisp.org>
66870
66871         * m4/sockpfaf.m4: New file.
66872
66873 2004-11-05  Bruno Haible  <bruno@clisp.org>
66874
66875         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
66876         Reported by Mark D. Baushke <mdb@cvshome.org>.
66877
66878 2004-11-04  Bruno Haible  <bruno@clisp.org>
66879
66880         2004-09-11  Bruno Haible  <bruno@clisp.org>
66881                 * allocsa.valgrind: New file.
66882         2004-02-06  Bruno Haible  <bruno@clisp.org>
66883                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
66884                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
66885                 Reported by Christopher Seip <chris.seip@hp.com>.
66886
66887 2004-11-04  Bruno Haible  <bruno@clisp.org>
66888
66889         * modules/allocsa (Files): Add lib/allocsa.valgrind.
66890         (Makefile.am): Distribute it.
66891
66892 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
66893
66894         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
66895         with errno == ERANGE if the buffer is too small.
66896         Problem reported by Mark D. Baushke.
66897
66898 2004-11-03  Albert Chin  <china@thewrittenword.com>
66899             Paul Eggert  <eggert@cs.ucla.edu>
66900
66901         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
66902         equivalent, substitute $ac_type for equivalent type rather than
66903         blindly using uint32_t *always* which won't work if uint32_t is not
66904         available.  Define _UINT32_T to work around typedef of uint32_t if
66905         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
66906         2.5.1.
66907
66908 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
66909
66910         * m4/jm-macros.m4: Sync from coreutils.
66911         (gl_MACROS): Check for mbrlen, for pathchk.
66912         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
66913
66914 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
66915
66916         * lib/xreadlink.c (MAXSIZE): New macro.
66917         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
66918         size does not exceed MAXSIZE.  Avoid cast.
66919         As suggested by Mark D. Baushke in
66920         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
66921         if readlink fails with buffer size just under MAXSIZE, try again
66922         with MAXSIZE.
66923
66924 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
66925
66926         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
66927
66928 2004-11-02  Derek R. Price  <derek@ximbiot.com>
66929         and  Paul Eggert  <eggert@cs.ucla.edu>
66930
66931         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
66932         (get_date): Overparenthesize to avoid GCC warning.
66933
66934 2004-11-02  Bruno Haible  <bruno@clisp.org>
66935
66936         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
66937         returns void.
66938
66939 2004-11-02  Bruno Haible  <bruno@clisp.org>
66940
66941         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
66942         function returns void.
66943
66944 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
66945
66946         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
66947         fflush_unlocked, flockfile, funlockfile, funlockfile,
66948         fputs_unlocked, putc_unlocked.
66949
66950 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
66951
66952         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
66953         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
66954         already declared.
66955
66956 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
66957
66958         * modules/getdate (Files): Add doc/getdate.texi.
66959         (Depends-on): Add setenv, xalloc.
66960
66961 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
66962
66963         * lib/getdate.y: Add support for TZ="foo" within a date string.
66964         Fix some bugs near time_t boundaries.  Reject dates with
66965         out-of-range components, e.g., "Sept 31".
66966         Include <stdlib.h>, "setenv.h", "xalloc.h".
66967         (ISDIGIT_LOCALE): Remove; unused.
66968         Note that the TZ and time functions used here are not reentrant.
66969         (mktime_ok, get_tz): New functions.
66970         (TZBUFSIZE): New constant.
66971         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
66972         This requires that we sometimes generate our own TZ="XXX..." setting.
66973
66974 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
66975
66976         * doc/getdate.texi: New file, from coreutils with modifications for
66977         the new TZ parsing.
66978
66979 2004-10-27  Derek R. Price  <derek@ximbiot.com>
66980
66981         * lib/mktime.c (not_equal_tm): Remove redundant check.
66982
66983 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66984
66985         * modules/regex (lib_SOURCES): Add regex.c.
66986         Reported by James Youngman in
66987         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
66988
66989 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66990
66991         * lib/getdate.y: Use Bison 1.875 features, and some minor
66992         code cleanups.  This change does not affect semantics.
66993         Don't include <stdlib.h>; no longer needed.
66994         Don't include unlocked-io.h; only the "#if TEST" code uses
66995         stdio, and performance isn't crucial there.
66996         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
66997         Bison 1.875 features as described below.
66998         All uses of "PC." replaced by "pc->".
66999         (YYSTYPE): Add a forward declaration.
67000         (yylex, yyerror): Use full prototypes in forward decls.
67001         Use "%pure-parser" rather than obsolescent "%pure_parser".
67002         Use %parse-param and %lex-param instead of obsolescent
67003         YYPARSE_PARAM and YYLEX_PARAM.
67004         (meridian_table, month_and_day_table, time_units_table,
67005         relative_time_table, time_zone_table, military_table,
67006         lookup_zone, lookup_word, get_date):
67007         Use NULL instead of 0 where appropriate.
67008         (to_hour): Avoid abort (), to avoid a dependency on
67009         stdlib.h.
67010         (yyerror, yylex): Now accepts parser_control * arg.
67011         (main) [TEST]: Use '\0' rather than 0 for char.
67012
67013 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
67014
67015         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
67016
67017 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
67018
67019         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
67020         It's now the caller's responsibility to handle the case where
67021         !HAVE_GETPAGESIZE && !defined getpagesize.
67022
67023         * lib/mktime.c (leapyear): Arg is long int, not int.
67024
67025 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
67026
67027         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
67028
67029 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
67030
67031         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
67032         missing.  Problem reported by James Youngman.
67033
67034 2004-10-16  Simon Josefsson  <jas@extundo.com>
67035
67036         * gnulib-tool: Fix comments.  Fix parse problem.
67037         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
67038
67039 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
67040
67041         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
67042         implementation of getopt_long.  Problem reported by Alexander Taler in:
67043         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
67044
67045 2004-10-15  Bruno Haible  <bruno@clisp.org>
67046
67047         * gnulib-tool: Untabify. Initialize supplied_libname.
67048         (func_usage): More homogenous output.
67049         (func_modules_transitive_closure, func_modules_to_filelist,
67050         func_emit_lib_Makefile_am): New functions.
67051         (func_import): New function, extracted from big case statement. Use
67052         func_get_license, func_modules_transitive_closure,
67053         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
67054         opt_lgpl. Don't use test -a, as it's not portable.
67055         (func_create_testdir): Use func_modules_transitive_closure,
67056         func_modules_to_filelist, func_emit_lib_Makefile_am.
67057
67058 2004-10-15  Bruno Haible  <bruno@clisp.org>
67059
67060         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
67061
67062 2004-10-15  Bruno Haible  <bruno@clisp.org>
67063
67064         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
67065         the portions belonging to each module.
67066         Suggested by Derek Robert Price <derek@ximbiot.com>.
67067
67068 2004-10-12  Simon Josefsson  <jas@extundo.com>
67069
67070         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
67071         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
67072         to real functions.
67073
67074 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67075
67076         * modules/vsnprintf: New file.
67077
67078 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67079
67080         * m4/vsnprintf.m4: New file.
67081
67082 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67083
67084         * lib/vsnprintf.h: New file.
67085         * lib/vsnprintf.c: New file.
67086
67087 2004-10-11  Bruno Haible  <bruno@clisp.org>
67088
67089         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
67090         vsnprintf.
67091
67092 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
67093
67094         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
67095
67096 2004-10-07  Bruno Haible  <bruno@clisp.org>
67097
67098         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
67099         fits into the provided buffer.
67100
67101 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
67102
67103         * lib/diacrit.c, diacrit.h: Add GPL notice.
67104
67105         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
67106         notice.
67107         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
67108         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
67109         This avoids a potential constant-folding bug.
67110
67111 2004-10-05  Bruno Haible  <bruno@clisp.org>
67112
67113         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
67114         for the declaration of strsep.
67115
67116 2004-10-05  Bruno Haible  <bruno@clisp.org>
67117
67118         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
67119
67120 2004-10-04  Simon Josefsson  <jas@extundo.com>
67121
67122         * modules/memmem: New file.
67123         * tests/test-memmem.c: New file.
67124         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
67125
67126 2004-10-04  Simon Josefsson  <jas@extundo.com>
67127
67128         * m4/memmem.m4: New file.
67129
67130 2004-10-04  Simon Josefsson  <jas@extundo.com>
67131
67132         * lib/memmem.h: New file.
67133         * lib/memmem.c: New file, taken from glibc.
67134
67135 2004-10-04  Simon Josefsson  <jas@extundo.com>
67136
67137         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
67138         '#ifdef USE_UNLOCKED_IO'.
67139
67140 2004-10-04  Simon Josefsson  <jas@extundo.com>
67141
67142         * config/srclist.txt: Add memmem from glibc.
67143
67144 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67145
67146         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
67147
67148         * modules/argmatch, modules/argp, modules/closeout, modules/error,
67149         modules/exclude, modules/getdate, modules/getline,
67150         modules/getndelim2, modules/getpass, modules/getpass-gnu,
67151         modules/getusershell, modules/linebuffer, modules/md5,
67152         modules/mountlist, modules/posixtm, modules/readtokens,
67153         modules/readutmp, modules/regex, modules/sha1,
67154         modules/version-etc, modules/yesno:
67155         Remove dependency on unlocked-io.
67156
67157 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67158
67159         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
67160
67161         * m4/unlocked-io.m4: Add copyright notice.
67162         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
67163
67164 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67165
67166         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
67167         * lib/xmalloc.c (xmemdup): Likewise.
67168         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
67169         XFREE): Remove these long-obsolescent macros.
67170         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
67171         * lib/xstrdup.c: Remove.
67172
67173         * lib/regex.c (re_comp): Cast gettext return value to char *,
67174         Problem reported by Martin Neitzel via Mark D. Baushke.
67175
67176 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67177
67178         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
67179         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
67180         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
67181         regex.c, sha1.c, version-etc.c, yesno.c:
67182         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
67183         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
67184         the includer's responsibility.
67185
67186         Sync from coreutils.
67187
67188         * lib/modechange.c (mode_compile): Don't decrement a pointer that
67189         points to the start of a string, as the C Standard says the
67190         resulting behavior is undefined.
67191
67192         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
67193         simple -> simple_backups, numbered_existing ->
67194         numbered_existing_backups, numbered -> numbered_backups
67195         to avoid shadowing problems.  All uses changed.
67196         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
67197         * lib/backupfile.c (check_extension, numbered_backup):
67198         Rename locals to avoid shadowing 'basename'.
67199         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
67200         once.
67201
67202         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
67203         * lib/.cvsignore: Add getopt.h.
67204
67205 2004-10-04  Bruno Haible  <bruno@clisp.org>
67206
67207         * modules/README: New file.
67208         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
67209         not a module.
67210
67211 2004-10-02  Jim Meyering  <jim@meyering.net>
67212
67213         * lib/dirfd.h, getpagesize.h: Add copyright notice.
67214
67215 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67216
67217         * modules/strsep: New file.
67218
67219 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67220
67221         * m4/strsep.m4: New file.
67222
67223 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67224
67225         * lib/strsep.h: New file.
67226         * lib/strsep.c: New file.
67227
67228 2004-10-01  Simon Josefsson  <jas@extundo.com>
67229
67230         * lib/snprintf.c (snprintf): Handle size==0.
67231
67232 2004-10-01  Simon Josefsson  <jas@extundo.com>
67233             Bruno Haible  <bruno@clisp.org>
67234
67235         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
67236         (snprintf): Declare 'args'.
67237
67238 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
67239
67240         * lib/snprintf.c: Remove comments as to why each header is needed.
67241
67242 2004-10-01  Bruno Haible  <bruno@clisp.org>
67243
67244         * MODULES.html.sh: Add strsep.
67245
67246 2004-09-30  Simon Josefsson  <jas@extundo.com>
67247
67248         * modules/snprintf: New file.
67249
67250 2004-09-30  Simon Josefsson  <jas@extundo.com>
67251
67252         * m4/snprintf.m4: New file.
67253
67254 2004-09-30  Simon Josefsson  <jas@extundo.com>
67255
67256         * lib/snprintf.h, lib/snprintf.c: New files.
67257
67258 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67259
67260         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
67261         (hol_entry_help): Never translate an empty string.
67262         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
67263         * lib/argp.h (OPTION_NO_TRANS): New option.
67264
67265 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
67266
67267         * modules/argp (Maintainer): Replace Simon Josefsson
67268         by Sergey Poznyakoff.
67269
67270 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
67271
67272         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
67273         changes merged back into glibc.
67274
67275 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
67276
67277         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
67278
67279 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
67280
67281         * lib/xvasprintf.c: Include xalloc.h.
67282         (xvasprintf): Use xalloc_die, not xmalloc_die.
67283
67284 2004-09-29  Bruno Haible  <bruno@clisp.org>
67285
67286         * modules/alloca-opt: New file, derived from modules/alloca.
67287         * modules/allocsa: Depend on alloca-opt instead of alloca.
67288         * modules/setenv: Likewise.
67289         * modules/vasnprintf: Likewise.
67290         * MODULES.html.sh: Add alloca-opt.
67291
67292 2004-09-28  Simon Josefsson  <jas@extundo.com>
67293
67294         * gnulib-tool: New parameter --lgpl, to asseert that modules are
67295         LGPL, and to replace license template from GPL to LGPL.
67296
67297 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
67298
67299         * modules/dummy: Change license to LGPL.
67300
67301 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
67302
67303         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
67304
67305 2004-09-24  Simon Josefsson  <jas@extundo.com>
67306
67307         * modules/minmax (License): Change from GPL to LGPL.
67308
67309 2004-09-23  Simon Josefsson  <jas@extundo.com>
67310
67311         * gnulib-tool (--import): Typo.
67312
67313 2004-09-23  Simon Josefsson  <jas@extundo.com>
67314
67315         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
67316
67317 2004-09-22  Bruno Haible  <bruno@clisp.org>
67318
67319         * modules/*: Add 'License' field.
67320         * gnulib-tool: Accept --extract-license option.
67321         (func_get_license): New function.
67322
67323 2004-09-21  Bruno Haible  <bruno@clisp.org>
67324
67325         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
67326         Reported by Simon Josefsson.
67327
67328 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
67329
67330         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
67331         gl_AC_TYPE_LONG_LONG.
67332
67333 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
67334
67335         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
67336
67337 2004-09-18  Simon Josefsson  <jas@extundo.com>
67338         and  Paul Eggert  <eggert@cs.ucla.edu>
67339
67340         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
67341         calls with autoreconf.  Define GL_LIB.
67342
67343 2004-09-14  Karl Berry  <karl@gnu.org>
67344
67345         * config/srclist.txt: unsync setenv.c, sigh.
67346
67347 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
67348
67349         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
67350         Problem reported by Bruno Haible in:
67351         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
67352
67353 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
67354
67355         * config/srclist.txt: Comment out argp-pvh.c.
67356
67357 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
67358
67359         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
67360         in case some system header has #define'd it.  Problem reported by
67361         Soeren D. Schulze in
67362         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
67363
67364 2004-09-09  Karl Berry  <karl@gnu.org>
67365
67366         * regex.[ch]: delete from the root.  These were supposed to be
67367                 synced with emacs cvs, but this has not happened for about
67368                 a year, and anyway nothing else uses emacs regex.[ch].
67369                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
67370                 lib/regex[.ch] is untouched.
67371
67372 2004-09-09  Bruno Haible  <bruno@clisp.org>
67373
67374         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
67375
67376 2004-09-09  Bruno Haible  <bruno@clisp.org>
67377
67378         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
67379         modifications.
67380         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
67381
67382 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
67383
67384         * modules/xvasprintf: New file.
67385         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
67386
67387 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
67388
67389         * lib/xvasprintf.h: New file.
67390         * lib/xvasprintf.c: New file.
67391         * lib/xasprintf.c: New file.
67392
67393 2004-09-08  Bruno Haible  <bruno@clisp.org>
67394
67395         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
67396
67397 2004-09-08  Bruno Haible  <bruno@clisp.org>
67398
67399         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
67400         length is > INT_MAX.
67401         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
67402         more.
67403
67404 2004-09-08  Bruno Haible  <bruno@clisp.org>
67405
67406         * lib/stdint_.h: New file, taken from GNU clisp.
67407
67408 2004-09-08  Bruno Haible  <bruno@clisp.org>
67409             Oskar Liljeblad  <oskar@osk.mine.nu>
67410
67411         * modules/stdint: New file.
67412         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
67413
67414 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
67415
67416         Import from coreutils.
67417         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
67418         strings on unbounded length.  alloca's performance benefits aren't
67419         that important here.
67420         (V_STRDUP): Remove.
67421         (parse_with_separator): New function, with most of the internals
67422         of the old parse_user_spec.  Allow user to omit both user and group,
67423         for compatibility with FreeBSD.
67424         Clone only the user name, not the entire spec.
67425         Do not set *uid, *gid unless entirely successful.
67426         Avoid memory leak in some failing cases.
67427         Fix regression for USER.GROUP reported by Dmitry V. Levin in
67428         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
67429         (parse_user_spec): Rewrite to use parse_with_separator.
67430
67431 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
67432
67433         * modules/userspec: Don't depend on alloca.
67434
67435 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
67436
67437         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
67438
67439 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
67440
67441         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
67442         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
67443         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
67444
67445 2004-08-16  Simon Josefsson  <jas@extundo.com>
67446
67447         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
67448         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
67449         Add --dry-run for --import.
67450         Let user provided command line parameters override configure.ac
67451         settings.
67452
67453 2004-08-12  Simon Josefsson  <jas@extundo.com>
67454
67455         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
67456         as discussed with Paul Eggert in threads rooted at
67457         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
67458         and
67459         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
67460         Before, the test was empty, and relied on ELIDE_CODE in source
67461         code.)
67462         (gl_PREREQ_GETOPT): New macro.
67463         (gl_GETOPT): Use them.
67464
67465 2004-08-12  Simon Josefsson  <jas@extundo.com>
67466
67467         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
67468         * lib/getopt_.h: Renamed from getopt.h.
67469
67470 2004-08-12  Simon Josefsson  <jas@extundo.com>
67471
67472         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
67473         Change default library name from libfoo to libgnu.
67474         Now, if you have a configure.ac that says:
67475                 gl_SOURCE_BASE(gl)
67476                 gl_M4_BASE(gl/m4)
67477                 gl_MODULES(error getopt etcetera)
67478                 gl_INIT
67479         you can import all you need by running:
67480                 ../gnulib/gnulib-tool --import
67481
67482         * modules/getopt (Files): Rename getopt.h to getopt_.h.
67483         (Makefile.am): Rewrite, use logic from argz.
67484         (Include): Use <getopt.h> instead of "getopt.h".
67485
67486 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
67487
67488         * modules/argp (Files): Add m4/unlocked-io.m4.
67489         (Depends-on): Add extensions.
67490
67491 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
67492
67493         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
67494         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
67495         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
67496         Check for program_invocation_name, program_invocation_short_name,
67497         flockfile, funlockfile, features.h, _getopt_long_only_r.
67498
67499 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
67500
67501         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
67502         its complicated substitute.
67503         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
67504         and program_invocation_name.
67505         (__argp_basename) [!_LIBC]: Remove; the only use was
67506         replaced by its body.
67507         (__argp_short_program_name): Change condition from
67508         !defined __argp_short_program_name to
67509         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
67510         to match argp-namefrob.h.
67511         (__argp_failure): Don't assume strerror_r returns char *.
67512         * lib/argp-parse.c (N_): Define unconditionally.
67513         (argp_default_options): Fill out initializers with 0 to avoid
67514         gcc warnings.
67515
67516 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
67517
67518         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
67519         getopt1.c.
67520
67521 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
67522
67523         Merge from coreutils.
67524
67525         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
67526
67527         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
67528         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
67529
67530 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
67531
67532         Merge from coreutils.
67533
67534         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
67535         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
67536         for Reliant Unix 5.43.
67537
67538         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
67539         (union fooround): Use uintmax_t, not long int.
67540         The rest is a merge from libc:
67541         [defined _LIBC]: Include <shlib-compat.h>.
67542         (_obstack) [defined _LIBC]: Remove after 2.3.4.
67543
67544         * lib/settime.c (settime): Recode to avoid warning with
67545         Sun Forte C 6U2.
67546
67547         * lib/strverscmp.c: Convert to UTF-8.
67548
67549 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
67550
67551         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
67552         m4/uintmax_t.m4.
67553
67554 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
67555
67556         * modules/xalloc-die: New file.
67557         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
67558
67559         * modules/md5 (Files): Add m4/uint32_t.m4.
67560         * modules/sha1: Renamed from modules/sha.
67561         (Files):
67562         Rename lib/sha.h to lib/sha1.h.
67563         Rename lib/sha.c to lib/sha1.c.
67564         Rename m4/sha.m4 to m4/sha1.m4.
67565         (lib_SOURCES): Likewise.
67566         (configure.ac): Rename gl_SHA to gl_SHA1.
67567         (Include): sha.h -> sha1.h.
67568
67569 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
67570
67571         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
67572         * m4/sha1.m4: Renamed from sha.m4.
67573         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
67574
67575 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
67576
67577         * lib/obstack.h (obstack_empty_p):
67578         Don't assume that chunk->contents is suitably aligned.
67579         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
67580         Likewise. Problem reported by Benno in
67581         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
67582
67583         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
67584         readable.  This could be improved further but it'd take some work.
67585
67586 2004-08-08  Simon Josefsson  <jas@extundo.com>
67587
67588         * modules/xgethostname (Depends-on): Remove exit and error (not
67589         used).
67590
67591         * modules/getpass-gnu: Add getpass.h.
67592         (Depends-on): Add stdbool.
67593         * modules/getpass: Add getpass.h.
67594
67595 2004-08-08  Simon Josefsson  <jas@extundo.com>
67596
67597         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
67598         Check getpass declaration.
67599
67600 2004-08-08  Simon Josefsson  <jas@extundo.com>
67601
67602         * lib/xgethostname.c: Don't include error.h (not used).
67603
67604         * lib/getpass.h: Add.
67605         * lib/getpass.c: Include getpass.h first.
67606
67607 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
67608
67609         * lib/xalloc-die.c: New file.
67610         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
67611         All uses removed.
67612         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
67613         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
67614         xalloc-die.c.
67615         (_, N_, xalloc_die): Move to xalloc-die.c.
67616         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
67617         so that we needn't mess with xalloc_msg_memory_exhausted.
67618
67619         * lib/sha1.h: Renamed from sha.h.
67620         (SHA1_H): Renamed from _SHA_H.
67621         (sha1_ctx): Renamed from sha_ctx.
67622         (sha1_init_ctx): Renamed from sha_init_ctx.
67623         (sha1_process_block): Renamed from sha_process_block.
67624         (sha1_process_bytes): Renamed from sha_process_bytes.
67625         (sha1_finish_ctx): Renamed from sha_finish_ctx.
67626         (sha1_read_ctx): Renamed from sha_read_ctx.
67627         (sha1_stream): Renamed from sha_stream.
67628         (sha1_buffer): Renamed from sha_buffer.
67629         * lib/sha1.c: Likewise; renamed from sha.c.
67630         Do not include <sys/types.h>.
67631         Include <stddef.h> rather than <stdlib.h>.
67632
67633 2004-08-08  Bruno Haible  <bruno@clisp.org>
67634
67635         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
67636         FILESYSTEM_PREFIX_LEN.
67637         * lib/progreloc.c: Likewise.
67638         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
67639
67640 2004-08-06  Simon Josefsson  <jas@extundo.com>
67641
67642         * modules/progname (Depends-on): Don't depend on stdbool.
67643
67644 2004-08-06  Simon Josefsson  <jas@extundo.com>
67645
67646         * modules/getsubopt: New file.
67647         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67648         getsubopt.
67649
67650 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67651
67652         More merge from coreutils.
67653
67654         * m4/utimens.m4, m4/utimecmp.m4: New files.
67655         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
67656         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
67657         prereq.m4, sha.m4: Import changes from coreutils.
67658
67659 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67660
67661         More merge from coreutils.
67662         * modules/raise, modules/readtokens0, modules/utimens:
67663         * modules/utimecmp, module/xnanosleep: New files.
67664         * modules/strftime: Add lib/strftime.h.
67665         Change include from <time.h> to "strftime.h".
67666         * modules/yesno: Add lib/yesno.h.
67667         * modules/backupfile: Remove lib/addext.c.
67668         * modules/euidaccess: Add stat-macros.h.
67669         * modules/canonicalize, modules/euidaccess,
67670         modules/filemode, modules/lchown, modules/makepath,
67671         modules/rmdir, modules/stat: Likewise.
67672
67673 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67674
67675         Merge from tar.
67676         * lib/argp-help.c (make_hol, hol_append): Don't assume that
67677         SIZE_MAX is a valid preprocessor constant.
67678         (__argp_basename): Change from "#ifndef _LIBC"
67679         to "#ifndef __argp_short_program_name", so that
67680         we don't compile these functions for tar.
67681
67682         More merges from coreutils.
67683         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
67684         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
67685         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
67686         * lib/addext.c: Remove; no longer needed.
67687         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
67688         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
67689         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
67690         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
67691         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
67692         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
67693         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
67694         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
67695         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
67696         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
67697         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
67698         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
67699         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
67700         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
67701         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
67702         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
67703         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
67704         Import changes from coreutils.
67705
67706 2004-08-05  Simon Josefsson  <jas@extundo.com>
67707
67708         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
67709
67710 2004-08-05  Simon Josefsson  <jas@extundo.com>
67711
67712         * m4/getsubopt.m4: New file.
67713
67714 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
67715
67716         Merge from coreutils.
67717
67718         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
67719         * m4/getcwd-path-max.m4: New files.
67720
67721         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
67722         FILESYSTEM_PREFIX_LEN ->
67723         FILE_SYSTEM_PREFIX_LEN.
67724         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
67725         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
67726         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
67727         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
67728
67729         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
67730         prerequisite modules now handle the DOS stuff.
67731         Don't check for unistd.h.
67732
67733 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
67734
67735         Merge from coreutils.
67736
67737         * lib/.gdb-history: Remove; this doesn't belong here.
67738
67739         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
67740         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
67741         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
67742         * lib/getcwd.c: New files.
67743
67744         * lib/dirname.h: Include <stdbool.h>.
67745         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
67746         for consistency with POSIX terminology.  All uses changed.
67747         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
67748         (strip_trailing_slashes): Use bool for booleans.
67749         * lib/stripslash.c (strip_trailing_slashes): Likewise.
67750
67751         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
67752         sometimes returns a positive errno value even when it succeeds.
67753         (print_errno_message) [!LIBC]: Fall back on strerror if
67754         __strerror_r fails.
67755
67756         * lib/path-concat.c (mempcpy): Don't define if a system header defines
67757         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
67758         (longest_relative_suffix): New function.
67759         (path_concat): Use it.  Assume first argument is not NULL.
67760         Port to DOS.  Omit redundant separators.
67761         Report an error instead of returning NULL.
67762         Use mempcpy instead of memcpy.
67763         (xpath_concat): Remove: not declared or used.
67764
67765         * lib/same.h: Include <stdbool.h>
67766         (same_name): Return bool, not int.
67767         * lib/same.c (same_name): Likewise.
67768         (errno): Don't declare; we assume C89 or better now.
67769
67770         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
67771         if not already defined.
67772
67773         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
67774         * lib/dup-safer.c (errno): Likewise.
67775
67776 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
67777
67778         Merge from coreutils.
67779         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
67780         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
67781         * modules/path-concat: Don't depend on strdup.
67782
67783 2004-08-03  Simon Josefsson  <jas@extundo.com>
67784
67785         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
67786         * lib/progname.h: Don't include stdbool.h.
67787
67788 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
67789
67790         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
67791         * MODULES.html.sh (func_all_modules): Remove fatal.
67792
67793 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
67794
67795         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
67796
67797 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
67798
67799         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
67800         working.
67801
67802 2004-08-02  Simon Josefsson  <jas@extundo.com>
67803
67804         * lib/getsubopt.h: New file, with comments from Bruno Haible.
67805         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
67806         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
67807
67808 2004-08-01  Simon Josefsson  <jas@extundo.com>
67809
67810         * lib/xgetdomainname.c: Include stdlib.h, for free().
67811
67812 2004-07-19  Bruno Haible  <bruno@clisp.org>
67813
67814         * MODULES.html.sh (func_all_modules): Add dummy.
67815
67816 2004-07-16  Simon Josefsson  <jas@extundo.com>
67817
67818         * modules/dummy: New file.
67819
67820 2004-07-16  Simon Josefsson  <jas@extundo.com>
67821
67822         * lib/dummy.c: New file.
67823
67824 2004-07-16  Bruno Haible  <bruno@clisp.org>
67825
67826         * lib/backupfile.h: Add extern "C" for C++.
67827         * lib/closeout.h: Likewise.
67828         * lib/copy-file.h: Likewise.
67829         * lib/findprog.h: Likewise.
67830         * lib/full-write.h: Likewise.
67831         * lib/pathname.h: Likewise.
67832         * lib/progname.h: Likewise.
67833         * lib/stpcpy.h: Likewise.
67834         * lib/stpncpy.h: Likewise.
67835         * lib/strcase.h: Likewise.
67836         * lib/strstr.h: Likewise.
67837         * lib/xalloc.h: Likewise.
67838
67839         * lib/mbswidth.h: Add extern "C" for C++.
67840         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
67841
67842 2004-07-13  Robert Millan  <robertmh@gnu.org>
67843
67844         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
67845
67846 2004-07-09  Simon Josefsson  <jas@extundo.com>
67847
67848         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
67849         failed without this.)
67850
67851 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
67852
67853         * modules/chown (Files): Add lib/fchown-stub.c, since
67854         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
67855
67856 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
67857
67858         * lib/fchown-stub.c: New file.
67859
67860 2004-06-24  Jim Meyering  <jim@meyering.net>
67861
67862         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
67863
67864 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67865
67866         * modules/argz: Omit "#include".
67867
67868         * MODULES.html.sh (func_all_modules): Add calloc, to match
67869         2004-06-01 addition of calloc module.
67870
67871 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67872
67873         * m4/argz.m4: New file, which is autoupdated from libtool.
67874
67875 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67876
67877         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
67878         libtool.
67879
67880 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67881
67882         * config/srclist-update: Don't insist on "USA." before the
67883         close-comment, as libtool omits the period and puts the */ on a
67884         separate line.
67885         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
67886         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
67887
67888 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
67889
67890         * modules/argz: New file.
67891         * MODULES.html.sh (func_all_modules): Add argz.
67892
67893 2004-06-12  Jim Meyering  <jim@meyering.net>
67894         and  Paul Eggert  <eggert@cs.ucla.edu>
67895
67896         * modules/hash (Files): Add lib/xalloc.h.
67897         * modules/pipe (Depends-on): Add wait-process.
67898         * modules/stat (Depends-on): Add xalloc.
67899         * modules/userspec (Files): Add lib/userspec.h.
67900         * modules/xstrto
67901
67902         Upgrade from gettext-0.13.
67903         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
67904         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
67905         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
67906
67907 2004-06-10  Jim Meyering  <jim@meyering.net>
67908
67909         * lib/calloc.c: New file.
67910
67911 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
67912
67913         * lib/getdate.y (yylex): Allow space between sign and number.
67914         Problem reported by Dan Jacobson.
67915
67916 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
67917
67918         Merge from coreutils CVS.
67919
67920         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
67921         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
67922         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
67923         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
67924         xstrtol.m4: Fix copyright date and/or serial number.
67925
67926         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
67927         See if we need an fchown replacement.
67928         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
67929         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
67930         and use the replacement function if we detect either defect.
67931
67932         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
67933         gl_UTIMECMP.
67934
67935 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
67936         and  Jim Meyering  <jim@meyering.net>
67937
67938         Merge from coreutils CVS.
67939
67940         * lib/stat-macros.h: New file, with contents from file-type.h
67941         and coreutils' system.h.
67942         * lib/file-type.c: Include "stat-macros.h".
67943         * lib/file-type.h (file_type): Move all macro definitions to new file,
67944         stat-macros.h.
67945
67946         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
67947         Wrap old code with this conditional.
67948         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
67949         function that does not dereference symlinks.
67950         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
67951
67952         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
67953         dependency problems.
67954         (xreadlink): Accept new arg SIZE, for efficiency.
67955         All decls and uses changed.
67956         * lib/xreadlink.h: Include <stddef.h>, for size_t.
67957
67958         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
67959         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
67960
67961         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
67962         sysexits.h.
67963
67964 2004-06-01  Jim Meyering  <jim@meyering.net>
67965
67966         * m4/calloc.m4: New file.
67967
67968 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
67969
67970         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
67971         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
67972         Also, fix a typo in a diagnostic.
67973
67974 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
67975
67976         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
67977         or AC_FUNC_REALLOC.
67978
67979 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
67980
67981         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
67982         macros to be defined.
67983         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
67984         the allocator returns NULL because the requested size is zero.
67985
67986 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
67987
67988         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
67989         var.  Add comment explaining why libc still defines it.  This
67990         merges the following patch from glibc:
67991         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
67992
67993 2004-05-20  Andreas Schwab  <schwab@suse.de>
67994
67995         * m4/free.m4: Replace free if it not known to work, not the other
67996         way round.
67997
67998 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
67999
68000         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
68001         present in glibc since revision 1.1 of this file.
68002         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
68003         obstack_alignment_mask, obstack_alloc, obstack_base,
68004         obstack_blank, obstack_blank_fast, obstack_chunk_size,
68005         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
68006         obstack_grow0, obstack_init, obstack_int_grow,
68007         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
68008         obstack_next_free, obstack_object_size, obstack_ptr_grow,
68009         obstack_ptr_grow_fast, obstack_room): Remove declarations of
68010         nonexistent functions.
68011
68012 2004-05-18  Karl Berry  <karl@gnu.org>
68013
68014         * config/srclist.txt: break link for vasnprintf.c.
68015
68016 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
68017
68018         Port obstack to the AS/400, where pointers are 16 bytes wide and
68019         you cannot cast an integer to a valid pointer.  This patch is
68020         currently waiting to be integrated into glibc; see
68021         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
68022
68023         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
68024         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
68025         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
68026         (struct obstack): temp member is now a union of a pointer and
68027         an integer, instead of an integer.  All integer uses changed.
68028         This does not affect the physical layout of struct obstack,
68029         except on hosts (like the AS/400) where the size or alignment of
68030         void * is greater than that of ptrdiff_t.
68031         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
68032         __STDC__)]: Store temporary in pointer member of union, not
68033         integer member.
68034         * lib/obstack.c: Include <stddef.h>, for offsetof.
68035         (struct fooalign): Remove; it doesn't need a name.
68036         (union fooround): Change double to long double, and add void *.
68037         (DEFAULT_ALIGNMENT): Use offsetof to compute.
68038         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
68039         not a macro.  Hence the values are always int; so remove all
68040         casts-to-int in uses.
68041
68042 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
68043
68044         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
68045         we can get this patch merged into glibc.
68046
68047 2004-05-17  Derek R. Price  <derek@ximbiot.com>
68048             Paul Eggert  <eggert@cs.ucla.edu>
68049
68050         * m4/argp: Depend on alloca.
68051
68052 2004-05-17  Derek R. Price  <derek@ximbiot.com>
68053             Paul Eggert  <eggert@cs.ucla.edu>
68054
68055         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
68056         freecoding.
68057
68058 2004-05-17  Bruno Haible  <bruno@clisp.org>
68059
68060         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
68061         precision that consists of a '.' followed by an empty digit string.
68062         Patch by Tor Lillqvist <tml@iki.fi>.
68063
68064 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
68065
68066         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
68067         for backward compatibility with older code.  We need our own
68068         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
68069         it under some other name, and our alloca.h will define it.
68070
68071 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
68072             Derek Price  <derek@ximbiot.com>
68073
68074         * lib/alloca.c: Include <alloca.h>, to get our interface.
68075         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
68076         include <alloca.h> first.  Use C89 prototype for alloca; this
68077         requires including <stddef.h> for size_t.  Use extern "C" if C++.
68078         Use #elif for simplicity, since we can assume C89 now.
68079         Don't try to source the system alloca.h since it will not be found
68080         and to prevent recursively including its replacement.
68081         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
68082         * lib/regex.c: Likewise.
68083
68084 2004-05-16  Derek Price  <derek@ximbiot.com>
68085             Paul Eggert  <eggert@cs.ucla.edu>
68086
68087         getline cleanup.  This changes the getndelim2 API: both order of
68088         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
68089         no delimiter).
68090
68091         * lib/getline.c: Don't include stddef.h or stdio.h, since our
68092         interface does that.
68093         (getline): Always use getdelim, so that we don't have two
68094         copies of this code.
68095         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
68096         if available.
68097         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
68098         (GETNDELIM2_MAXIMUM): New macro.
68099         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
68100         instead of the old practice of delim2==0.  All callers changed.
68101         Return -1 on overflow, instead of returning junk.
68102         Do not set *linesize unless allocation succeeds.
68103         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
68104         that we include sys/types.h.
68105         * lib/getnline.h: Likewise.
68106         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
68107         (getndelim2): Reorder arguments.
68108         * lib/getnline.c (getnline, getndelim):
68109         Don't discard the NMAX argument.
68110         (getnline): Invoke getndelim, to avoid code duplication.
68111         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
68112         of (size_t) -1 by callers of the getnline family.
68113
68114 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
68115
68116         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
68117         Check for gettimeofday.
68118         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
68119         Check for settimeofday, stime.
68120
68121 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
68122
68123         * lib/nanosleep.c (suspended): Change its type from int to
68124         sig_atomic_t volatile.
68125         (first_call): Make it private to rpl_nanosleep, and have it
68126         be zero initially as that's a bit faster.
68127         (my_usleep): Round up fractional times instead of truncating them,
68128         as this is the usual meaning for 'sleep'.
68129
68130         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
68131         doesn't work.
68132         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
68133         (ENOSYS): Define if not defined.
68134         (settime): Fall back on stime if it exists and settimeofday fails.
68135         But don't bother with fallbacks if a method fails with errno == EPERM.
68136
68137 2004-05-11  Jim Meyering  <jim@meyering.net>
68138
68139         Prior to this change, the save_cwd caller required read access to the
68140         current directory on most systems (ones with the fchdir function).
68141
68142         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
68143         fails, try write-only, and finally, resort to using xgetcwd.
68144
68145 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
68146
68147         * lib/obstack.c, obstack.h: Import changes from libc.
68148
68149 2004-04-28  Bruno Haible  <bruno@clisp.org>
68150
68151         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
68152         also implicitly appends .exe to executables.
68153         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
68154         accepts Windows pathnames.
68155         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
68156         Treat Cygwin like Windows, since it now accepts Windows pathnames.
68157         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
68158         Treat Cygwin like Windows, since it now accepts Windows pathnames.
68159         Reported by Derek Robert Price <derek@ximbiot.com>.
68160
68161 2004-04-21  Karl Berry  <karl@gnu.org>
68162
68163         * config/srclist.txt (localcharset.c): break sync.
68164
68165 2004-04-20  Paul Eggert  <eggert@twinsun.com>
68166
68167         * m4/host-os.m4: Add a copyright notice.
68168
68169 2004-04-20  Jim Meyering  <jim@meyering.net>
68170
68171         Change UTILS_ to gl_ in AC_DEFINE'd names.
68172         Change utils_- and jm_-prefixed variables, too.
68173         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
68174         UTILS_FUNC_MKDIR_TRAILING_SLASH.
68175         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
68176
68177         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
68178         Don't emit trailing blanks.
68179         Also rename jm_-prefixed variables to have gl_ prefix.
68180
68181         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
68182         Also rename jm_-prefixed variables to have gl_ prefix.
68183
68184         * m4/jm-macros.m4: Reflect the renamings.
68185         * m4/prereq.m4: Likewise.
68186
68187 2004-04-20  Jim Meyering  <jim@meyering.net>
68188
68189         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
68190         memory.
68191
68192 2004-04-20  Jim Meyering  <jim@meyering.net>
68193             Bruno Haible  <bruno@clisp.org>
68194
68195         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
68196         memory when realloc fails.
68197
68198 2004-04-19  Jim Meyering  <jim@meyering.net>
68199
68200         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
68201         now that readutmp.c may call `free (0)'.
68202
68203 2004-04-19  Bruno Haible  <bruno@clisp.org>
68204
68205         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
68206         * m4/inttypes_h.m4: Likewise.
68207         * m4/stdint_h.m4: Likewise.
68208         * m4/intmax_t.m4: Likewise.
68209         * m4/uintmax_t.m4: Likewise.
68210
68211 2004-04-18  Jim Meyering  <jim@meyering.net>
68212
68213         * m4/prereq.m4: Don't forbid jm_ prefix.
68214
68215         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
68216         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
68217         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
68218         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
68219         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
68220         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
68221         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
68222         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
68223         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
68224         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
68225         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
68226         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
68227         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
68228         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
68229         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
68230         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
68231         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
68232         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
68233         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
68234
68235 2004-04-18  Jim Meyering  <jim@meyering.net>
68236
68237         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
68238         failure, don't leak memory and do call END_UTMP_ENT.
68239
68240 2004-04-16  Jim Meyering  <jim@meyering.net>
68241
68242         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
68243         coreutils' stat program.
68244         (gl_PREREQ): Don't require jm_PREREQ_STAT.
68245
68246 2004-04-11  Paul Eggert  <eggert@twinsun.com>
68247
68248         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
68249         C89.
68250         (CHAR_BIT): Remove, since we assume C89.
68251         Include <stdint.h> if available, as per current Autoconf CVS advice.
68252
68253 2004-03-31  Jim Meyering  <jim@meyering.net>
68254
68255         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
68256         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
68257         * m4/xalloc.m4: Likewise.
68258
68259 2004-03-30  Paul Eggert  <eggert@twinsun.com>
68260
68261         Merge from coreutils.
68262
68263         * m4/inttostr.m4: New file.
68264         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
68265         Require AM_STDBOOL_H and gl_TIMESPEC instead.
68266         Require gl_CLOCK_TIME.
68267         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
68268
68269 2004-03-30  Paul Eggert  <eggert@twinsun.com>
68270
68271         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
68272         not bool, to be more consistent with Unix conventions.
68273         Suggested by Bruno Haible.
68274
68275         Merge from coreutils.
68276
68277         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
68278         * lib/umaxtostr.c: New files.
68279
68280         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
68281         the usual <time.h> dance.
68282         (get_date): Change signature to support fractional time stamps.
68283         All callers changed.
68284         * lib/getdate.y: Include "getdate.h" first, as we can now
68285         assume C89 and don't need to worry about 'const'.
68286         Similarly, include "unlocked-io.h" near start, not in middle.
68287         Include <limits.h>.
68288         (textint.value): Use long int rather than int.
68289         (textint.digits): Use size_t rather than int.
68290         (BILLION, LOG10_BILLION): New constants.
68291         (parser_control): New member rel_ns.  Members day_ordinal,
68292         time_zone, month, day, hour, minutes, rel_year, rel_month,
68293         rel_day, rel_hour, rel_minutes, rel_seconds
68294         are now long int, not int.  Member seconds is now struct timespec,
68295         not int.  New member timespec_seen.  Members dates_seen, days_seen,
68296         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
68297         not int.
68298         (%union.intval): Now long int, not int.
68299         New member timespec.
68300         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
68301         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
68302         (spec): Now is a timespec or an item list.
68303         (timespec, items): New nonterminals.
68304         (time, rel, relunit, number, get_date):
68305         Add support for fractional seconds.
68306         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
68307         (gmtime, localtime, mktime): Remove decls; not needed with C89.
68308         (to_hour): First arg is now long int, not int.
68309         (to_year): Returns long int, not int.
68310         Don't treat year -70 like 70.
68311         (tm_diff): Returns long int, not int.
68312         (lookup_word): Use bool instead of int when appropriate.
68313         (yylex): Use size_t for count, not int.
68314         Detect overflow when parsing large integer constants.
68315         Add support for fractions.
68316         (get_date): Make pointers 'const' if possible.
68317         Use more-portable code to detect integer overflow.
68318         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
68319         Don't use ctime; it's not reliable if the year has >4 digits.
68320
68321         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
68322         This is for compatibility with BSD.
68323
68324         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
68325         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
68326         From coreutils' system.h.
68327
68328         * lib/userspec.c: Don't include "posixver.h".
68329         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
68330         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
68331         compatible extension.  Simplify code by removing a boolean int
68332         that was always nonzero if a string was nonnull.
68333
68334 2004-03-30  Jim Meyering  <jim@meyering.net>
68335
68336         Merge from coreutils.
68337
68338         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
68339         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
68340         on some systems one must include <grp.h> before it.
68341         Reported by Christian Krackowizer.
68342
68343 2004-03-30  Jim Meyering  <jim@meyering.net>
68344
68345         Merge from coreutils.
68346
68347         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
68348
68349         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
68350         an empty input stream.
68351
68352         * lib/readtokens.c: Include <stdbool.h>.
68353         (readtoken): Use `size_t' rather than int/long.
68354         All callers adjusted.
68355         Use `bool' rather than `int' where appropriate.
68356         Use memset rather than an explicit loop.
68357         Use x2nrealloc rather than xrealloc.
68358         Allow the use of `\0' as a delimiter.
68359         (readtokens): Likewise.
68360         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
68361
68362 2004-03-30  Jim Meyering  <jim@meyering.net>
68363
68364         * m4/realloc.m4: Remove file, since now it does no more than
68365         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
68366         the `configure.ac' section of module/realloc.
68367         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
68368
68369 2004-03-30  Bruno Haible  <bruno@clisp.org>
68370
68371         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
68372         nonnull.
68373
68374 2004-03-29  Paul Eggert  <eggert@twinsun.com>
68375
68376         Merge changes to getloadavg.c from coreutils and Emacs.
68377
68378         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
68379         Define to an expression, not to the empty string.
68380         Include cloexec.h and xalloc.h.
68381         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
68382         Use set_cloexec_flag rather than rolling our own.
68383         * lib/cloexec.c, lib/cloexec.h: New files.
68384
68385 2004-03-29  Paul Eggert  <eggert@twinsun.com>
68386
68387         * m4/cloexec.m4: New file.
68388
68389 2004-03-18  Paul Eggert  <eggert@twinsun.com>
68390
68391         * lib/getopt.h: Sync with libc CVS.
68392
68393 2004-03-18  Paul Eggert  <eggert@twinsun.com>
68394             Bruno Haible  <bruno@clisp.org>
68395
68396         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
68397         mbswidth.
68398
68399 2004-03-18  Paul Eggert  <eggert@twinsun.com>
68400             Bruno Haible  <bruno@clisp.org>
68401
68402         * lib/mbswidth.h: Include <wchar.h> only if
68403         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
68404         <wchar.h>.
68405         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
68406
68407 2004-03-09  Paul Eggert  <eggert@twinsun.com>
68408
68409         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
68410         Sync with libc CVS.
68411         * lib/getopt_int.h: New file, also synced from libc.
68412
68413 2004-03-09  Paul Eggert  <eggert@twinsun.com>
68414
68415         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
68416         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
68417         Bring back getopt.c, getopt.h, getopt1.c.
68418
68419 2004-03-07  Paul Eggert  <eggert@twinsun.com>
68420
68421         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
68422         All uses changed.  Check for sa_sigaction member; this fixes
68423         a bug first reported by Jason Andrade in
68424         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
68425
68426 2004-03-07  Paul Eggert  <eggert@twinsun.com>
68427
68428         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
68429         '#if' expressions.  Unlike the code it replaces, it does not
68430         depend on (defined _SC_PAGESIZE).  However, it does depend on
68431         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
68432         first reported by Jason Andrade in
68433         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
68434
68435 2004-02-25  Simon Josefsson  <jas@extundo.com>
68436
68437         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
68438
68439 2004-02-25  Simon Josefsson  <jas@extundo.com>
68440
68441         * lib/strdup.h: New file.
68442         * lib/strdup.c: Include it.
68443         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
68444         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
68445
68446 2004-02-23  Karl Berry  <karl@gnu.org>
68447
68448         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
68449         (from fencepost.gnu.org:/gd/gnuorg).
68450
68451 2004-02-23  Karl Berry  <karl@gnu.org>
68452
68453         * config/srclistvars.sh (GNUORG) [karl]: redefine.
68454         * config/srclist.txt: add maintain/standards documents.
68455
68456 2004-02-18  Bruno Haible  <bruno@clisp.org>
68457
68458         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
68459         Reported by Derek Robert Price <derek@ximbiot.com>.
68460
68461 2004-02-16  Karl Berry  <karl@gnu.org>
68462
68463         * config/mkinstalldirs, install-sh: update from automake.
68464
68465 2004-02-06  Karl Berry  <karl@gnu.org>
68466
68467         * m4/po.m4: update from gettext 0.14.1.
68468
68469 2004-02-06  Karl Berry  <karl@gnu.org>
68470
68471         * lib/config.charset: update from gettext 0.14.1.
68472
68473 2004-02-05  Paul Eggert  <eggert@twinsun.com>
68474
68475         Add comments and code, prompted by suggestions from Bruno Haible
68476         for sh-quote.
68477         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
68478         describing the enum quoting_style values.
68479         * lib/quotearg.c (quotearg_alloc): New function.
68480         (quotearg_buffer_restyled): Treat lone { and } as special.
68481         Treat = as special.  Work around bug with older shells
68482         that "see" a '\' that is really the 2nd byte of a multibyte char.
68483         Quote empty string with shell_quoting_style.
68484
68485 2004-02-03  Bruno Haible  <bruno@clisp.org>
68486
68487         * m4/pipe.m4: New file, from GNU gettext.
68488
68489 2004-02-03  Bruno Haible  <bruno@clisp.org>
68490
68491         * lib/pipe.h: New file, from GNU gettext.
68492         * lib/pipe.c: New file, from GNU gettext.
68493
68494 2004-01-27  Bruno Haible  <bruno@clisp.org>
68495
68496         * m4/execute.m4: New file, from GNU gettext.
68497
68498 2004-01-27  Bruno Haible  <bruno@clisp.org>
68499
68500         * lib/execute.h: New file, from GNU gettext.
68501         * lib/execute.c: New file, from GNU gettext.
68502         * lib/w32spawn.h: New file, from GNU gettext.
68503
68504 2004-01-24  Paul Eggert  <eggert@twinsun.com>
68505
68506         Merge from diffutils.
68507
68508         * lib/file-type.c (file_type): Add typed memory objects.
68509         * lib/file-type.h (S_TYPEISTMO): New macro.
68510
68511         * lib/c-stack.h (c_stack_action): Remove argv argument.
68512         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
68513         (die): Don't calculate message unless segv_action returns.
68514         (get_stack_location, min_address_from_argv, max_address_from_argv,
68515         volatile stack_base, volatile_stack_size): Remove.
68516         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
68517         that every segmentation violation is a stack overflow.  (Ouch!)
68518         See Debian bug 136249 (still outstanding) for more info about why
68519         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
68520
68521 2004-01-24  Paul Eggert  <eggert@twinsun.com>
68522
68523         Exit-status fix from coreutils.
68524
68525         Use exit_failure consistently in place of EXIT_FAILURE,
68526         so that program exit statuses are consistent on failure.
68527
68528         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
68529         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
68530         * lib/argmatch.h: Comment fix to match the above.
68531         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
68532         Now a macro referring to exit_failure, instead of a separate
68533         variable.  Include "exitfail.h" to get it.
68534         * lib/xstrtol.h: Include "exitfail.h".
68535         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
68536
68537         * lib/long-options.c (parse_long_options): Use prototype
68538         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
68539         for clarity.
68540
68541 2004-01-21  Jim Meyering  <jim@meyering.net>
68542
68543         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
68544         so as not to conflict with a different-sized __mktime_internal
68545         function in GNU libc.
68546         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
68547         Problem building statically-linked `ls' reported by Michael Brunnbauer.
68548
68549 2004-01-20  Karl Berry  <karl@gnu.org>
68550
68551         * config/config.guess: update from config.
68552
68553         * config/srclistvars.sh: GNUWWWLICENSES for karl.
68554
68555 2004-01-20  Bruno Haible  <bruno@clisp.org>
68556
68557         Safer stack allocation.
68558         * lib/setenv.c: Include allocsa.h.
68559         (alloca): Remove fallback definition.
68560         (freea): Remove macro.
68561         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
68562         instead of freea.
68563
68564 2004-01-20  Bruno Haible  <bruno@clisp.org>
68565
68566         * m4/eealloc.m4: New file, from GNU gettext.
68567
68568 2004-01-20  Bruno Haible  <bruno@clisp.org>
68569
68570         * m4/allocsa.m4: New file, from GNU gettext.
68571
68572 2004-01-20  Bruno Haible  <bruno@clisp.org>
68573
68574         * lib/xallocsa.h: New file, from GNU gettext.
68575         * lib/xallocsa.c: New file, from GNU gettext.
68576
68577 2004-01-20  Bruno Haible  <bruno@clisp.org>
68578
68579         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
68580
68581 2004-01-20  Bruno Haible  <bruno@clisp.org>
68582
68583         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
68584         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
68585         specially.
68586
68587 2004-01-20  Bruno Haible  <bruno@clisp.org>
68588
68589         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
68590         patch.
68591
68592 2004-01-20  Bruno Haible  <bruno@clisp.org>
68593
68594         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
68595
68596 2004-01-20  Bruno Haible  <bruno@clisp.org>
68597
68598         * lib/eealloc.h: New file.
68599
68600 2004-01-20  Bruno Haible  <bruno@clisp.org>
68601
68602         * lib/binary-io.h: Avoid warnings on Cygwin.
68603
68604 2004-01-20  Bruno Haible  <bruno@clisp.org>
68605
68606         * lib/allocsa.h: New file, from GNU gettext.
68607         * lib/allocsa.c: New file, from GNU gettext.
68608
68609 2004-01-18  Karl Berry  <karl@gnu.org>
68610
68611         * doc/gpl.texi, doc/lgpl.texi: new files.
68612
68613 2004-01-18  Karl Berry  <karl@gnu.org>
68614
68615         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
68616         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
68617
68618 2004-01-15  Paul Eggert  <eggert@twinsun.com>
68619
68620         Merge from coreutils.
68621
68622         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
68623         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
68624         (gl_DEFAULT_POSIX2_VERSION): Move
68625         the documentation from 'configure' into 'config.hin',
68626         so that 'configure --help' isn't burdened by it and
68627         we don't have to worry about its formatting there.
68628         Reword the documentation so that it's more succinct
68629         and can be run together into a single paragraph.
68630         * m4/same.m4 (gl_SAME): Check for pathconf.
68631
68632 2004-01-15  Paul Eggert  <eggert@twinsun.com>
68633
68634         Merge from coreutils.
68635
68636         * lib/posixver.c: Include posixver.h.
68637
68638         * lib/same.c: Include <stdbool.h>, <limits.h>.
68639         (_POSIX_NAME_MAX): Define if not defined.
68640         (MIN): New macro.
68641         (same_name): If file names are silently truncated, report
68642         that the file names are the same if they are the same after
68643         the silent truncation.
68644
68645         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
68646         conversion function.
68647         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
68648         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
68649         longer needed.
68650
68651 2004-01-15  Jim Meyering  <jim@meyering.net>
68652
68653         Merge from coreutils.
68654
68655         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
68656         if no library is required.
68657         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
68658         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
68659         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
68660         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
68661         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
68662         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
68663         value, $ac_cv_search_crypt, if it's "none required".
68664         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
68665         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
68666         not gl_FUNC_GETLOADAVG.
68667         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
68668         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
68669
68670 2004-01-15  Jim Meyering  <jim@meyering.net>
68671
68672         Merge from coreutils.
68673
68674         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
68675         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
68676         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
68677
68678         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
68679         optional configure-time default.
68680
68681         * lib/version-etc.c (version_etc_copyright): Update copyright date.
68682
68683         * lib/xreadlink.c (xreadlink): Correct outdated comment.
68684
68685 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
68686
68687         Merge from coreutils.
68688
68689         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
68690         value, $ac_cv_search_nanosleep, if it's "none required".
68691
68692 2004-01-14  Paul Eggert  <eggert@twinsun.com>
68693
68694         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
68695         with like-named macro in fnmatch.c.
68696         (EXT): Use an internal constant instead.
68697
68698         Merge fnmatch patches from glibc.
68699         * lib/fnmatch.c (mbsinit): Remove define.
68700         Add libc_hidden_ver (__fnmatch, fnmatch).
68701         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
68702         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
68703
68704 2004-01-14  Karl Berry  <karl@gnu.org>
68705
68706         * config/install-sh: update from automake.
68707
68708 2004-01-13  Karl Berry  <karl@gnu.org>
68709
68710         * config/install-sh: update from automake.
68711
68712 2004-01-09  Karl Berry  <karl@gnu.org>
68713
68714         * config/install-sh: update from automake.
68715
68716 2004-01-05  Karl Berry  <karl@gnu.org>
68717
68718         * config/config.{sub,guess}: update from config.
68719
68720 2003-12-31  Karl Berry  <karl@gnu.org>
68721
68722         * config/depcomp: update from automake.
68723
68724 2003-12-14  Karl Berry  <karl@gnu.org>
68725
68726         * lib/config.charset: update from gettext-runtime.
68727
68728 2003-12-03  Paul Eggert  <eggert@twinsun.com>
68729
68730         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
68731         Bug reported by Alfred M. Szmidt.
68732
68733 2003-12-03  Bruno Haible  <bruno@clisp.org>
68734
68735         * m4/gettext.m4: Upgrade from gettext-0.13.
68736         * m4/po.m4: Upgrade from gettext-0.13.
68737         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
68738         * m4/intmax.m4: New file, from gettext-0.13.
68739         * m4/printf-posix.m4: New file, from gettext-0.13.
68740
68741 2003-11-29  Karl Berry  <karl@gnu.org>
68742
68743         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
68744
68745 2003-11-25  Paul Eggert  <eggert@twinsun.com>
68746             Bruno Haible  <bruno@clisp.org>
68747
68748         * lib/printf-parse.h: Don't include sys/types.h.
68749         (ARG_NONE): New macro.
68750         (char_directive): Change type of *arg_index fields to size_t.
68751         * lib/printf-parse.c: Don't include sys/types.h.
68752         (SSIZE_MAX): Remove macro.
68753         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
68754         Remove unnecessary overflow check.
68755         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
68756         fields.
68757
68758 2003-11-25  Bruno Haible  <bruno@clisp.org>
68759
68760         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
68761
68762 2003-11-25  Bruno Haible  <bruno@clisp.org>
68763
68764         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
68765         gt_TYPE_SSIZE_T.
68766
68767 2003-11-24  Paul Eggert  <eggert@twinsun.com>
68768
68769         * modules/alloca: Remove dependency on xalloc.
68770
68771 2003-11-24  Paul Eggert  <eggert@twinsun.com>
68772
68773         * lib/alloca.c: Remove dependency on xalloc module.
68774         (xalloc_die): Remove.
68775         (memory_full) [!defined emacs]: New macro.
68776         [!defined emacs]: Don't include xalloc.h.
68777         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
68778         address arithmetic overflows.  Change datatypes a bit to avoid
68779         unnecessary casts.
68780
68781 2003-11-22  Jim Meyering  <jim@meyering.net>
68782
68783         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
68784         s/size/size_t/.
68785
68786 2003-11-21  Karl Berry  <karl@gnu.org>
68787
68788         * config/config.{sub,guess}: update from config.
68789
68790 2003-11-18  Karl Berry  <karl@gnu.org>
68791
68792         * config/config.{sub,guess}: update from config.
68793
68794         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
68795
68796 2003-11-17  Paul Eggert  <eggert@twinsun.com>
68797
68798         * README: Mention that S+T cannot overflow if S is the size of
68799         an existing object and T is sufficiently small.
68800
68801 2003-11-17  Jim Meyering  <jim@meyering.net>
68802
68803         On systems without utime and without a utimes function capable of
68804         dealing with a NULL struct utimbuf* argument, this utime replacement
68805         could -- in unusual circumstances -- leak a file descriptor.
68806         * lib/utime.c: Include <unistd.h> and <errno.h>.
68807         (utime_null): Be sure to close `fd' and to preserve errno.
68808         Reported by Geoff Collyer via Arnold Robbins.
68809
68810 2003-11-17  Bruno Haible  <bruno@clisp.org>
68811
68812         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
68813         (Depends-on): Add xsize.
68814
68815 2003-11-17  Bruno Haible  <bruno@clisp.org>
68816
68817         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
68818
68819 2003-11-17  Bruno Haible  <bruno@clisp.org>
68820
68821         * lib/vasnprintf.c (alloca): Remove fallback definition.
68822         (freea): Remove definition.
68823         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
68824         Reported by Paul Eggert.
68825
68826 2003-11-16  Paul Eggert  <eggert@twinsun.com>
68827             Bruno Haible  <bruno@clisp.org>
68828
68829         Protect against address arithmetic overflow.
68830         * lib/printf-args.h: Include stddef.h.
68831         (arguments): Change type of field 'count' to size_t.
68832         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
68833         'unsigned int' where appropriate.
68834         * lib/printf-parse.h: Include sys/types.h.
68835         (char_directive): Change type of *arg_index fields to ssize_t.
68836         (char_directives): Change type of fields 'count', max_*_length to
68837         size_t.
68838         * lib/printf-parse.c: Include sys/types.h and xsize.h.
68839         (SSIZE_MAX): Define fallback value.
68840         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
68841         instead of 'int' where appropriate. Check a_allocated, d_allocated
68842         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
68843         * lib/vasnprintf.c: Include xsize.h.
68844         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
68845         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
68846         overflow. Avoid wraparound when converting a width or precision from
68847         decimal to binary.
68848
68849 2003-11-16  Bruno Haible  <bruno@clisp.org>
68850
68851         Update from GNU gettext.
68852         * lib/printf-parse.c: Generalize to it can be compiled for wide
68853         strings.
68854         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
68855         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
68856         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
68857         SNPRINTF): New macros.
68858         Don't include <alloca.h> if the file is used inside libintl.
68859         (local_wcslen): New function, for Solaris 2.5.1.
68860         (VASNPRINTF): Use it instead of wcslen.
68861
68862 2003-11-16  Bruno Haible  <bruno@clisp.org>
68863
68864         * lib/xsize.h (xmax): New function.
68865         (xsum, xsum3, xsum4): Declare as "pure" functions.
68866
68867 2003-11-12  Paul Eggert  <eggert@twinsun.com>
68868
68869         * modules/xalloc (Files): Undo latest change, since xalloc.h
68870         no longer needs SIZE_MAX or PTRDIFF_MAX.
68871
68872 2003-11-12  Paul Eggert  <eggert@twinsun.com>
68873
68874         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
68875         gl_PTRDIFF_MAX.
68876
68877 2003-11-12  Paul Eggert  <eggert@twinsun.com>
68878
68879         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
68880         "return", to pacify some unknown compiler.  Problem reported
68881         by Joerg Schilling.
68882
68883 2003-11-12  Paul Eggert  <eggert@twinsun.com>
68884
68885         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
68886         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
68887         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
68888         heuristic is just as accurate as far as we know, and it removes a
68889         dependency on size_max.m4 and ptrdiff_max.m4.
68890
68891 2003-11-11  Bruno Haible  <bruno@clisp.org>
68892
68893         * modules/xsize (Files): Add m4/size_max.m4.
68894         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
68895
68896 2003-11-11  Bruno Haible  <bruno@clisp.org>
68897
68898         * m4/size_max.m4: New file.
68899         * m4/ptrdiff_max.m4: New file.
68900         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
68901         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
68902         (gl_XALLOC): Invoke it.
68903
68904 2003-11-11  Bruno Haible  <bruno@clisp.org>
68905
68906         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
68907         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
68908         defined.
68909
68910 2003-11-10  Paul Eggert  <eggert@twinsun.com>
68911
68912         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
68913         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
68914         rejected some allocations of exactly SIZE_MAX - 2 bytes.
68915         From Bruno Haible.
68916         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
68917         not (size_t) -1, since it's defined here.
68918
68919 2003-11-09  Karl Berry  <karl@gnu.org>
68920
68921         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
68922
68923 2003-11-06  Paul Eggert  <eggert@twinsun.com>
68924
68925         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
68926         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
68927         Reject sizes of exactly SIZE_MAX bytes.
68928         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
68929         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
68930
68931 2003-11-05  Bruno Haible  <bruno@clisp.org>
68932
68933         * lib/xsize.h: Include limits.h, to avoid a possible collision with
68934         SIZE_MAX defined in <limits.h> on Solaris.
68935
68936 2003-11-04  Jim Meyering  <jim@meyering.net>
68937
68938         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
68939         variable names, rather than @VAR@.
68940         * modules/poll: Likewise.
68941
68942 2003-11-04  Bruno Haible  <bruno@clisp.org>
68943
68944         * modules/xsize: New file.
68945         * modules/linebreak: Depend on xsize.
68946         * MODULES.html.sh (func_all_modules): Add xsize.
68947
68948 2003-11-04  Bruno Haible  <bruno@clisp.org>
68949
68950         * m4/xsize.m4: New file.
68951
68952 2003-11-04  Bruno Haible  <bruno@clisp.org>
68953
68954         * lib/xsize.h: New file.
68955         * lib/linebreak.c: Include xsize.h.
68956         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
68957         argument for overflow.
68958         Suggested by Paul Eggert.
68959
68960 2003-11-03  Karl Berry  <karl@gnu.org>
68961
68962         * config/config.{guess,sub}: update from config.
68963
68964 2003-11-03  Jim Meyering  <jim@meyering.net>
68965
68966         * modules/userspec (lib_SOURCES): Add userspec.h.
68967         (Include): Add "userspec.h".
68968         Improve description.
68969
68970 2003-11-03  Jim Meyering  <jim@meyering.net>
68971
68972         * lib/userspec.c: Include "userspec.h".
68973         * lib/userspec.h: New file.
68974
68975 2003-11-03  Bruno Haible  <bruno@clisp.org>
68976
68977         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
68978
68979 2003-11-03  Bruno Haible  <bruno@clisp.org>
68980
68981         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
68982         available, to avoid (extremely rare) race condition.
68983         Suggested by Paul Eggert.
68984
68985 2003-11-02  Karl Berry  <karl@gnu.org>
68986
68987         * config/srclist.txt (vasprintf.c): sync broken, sigh.
68988
68989 2003-10-31  Paul Eggert  <eggert@twinsun.com>
68990
68991         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
68992         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
68993         (read_filesystem_list): Set and use me_type_malloced.
68994         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
68995         whatever the type happens to be), for brevity and consistency.
68996         Check for size calculation overflow on Alphas running OSF/1.
68997
68998 2003-10-31  Jim Meyering  <jim@meyering.net>
68999
69000         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
69001
69002         * lib/linebuffer.c: Include <string.h> for declaration of memset.
69003
69004 2003-10-30  Paul Eggert  <eggert@twinsun.com>
69005             Bruno Haible  <bruno@clisp.org>
69006
69007         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
69008         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
69009
69010 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
69011
69012         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
69013         netbsd*-gnu*.  Suggested by Robert Millan.
69014
69015 2003-10-29  Paul Eggert  <eggert@twinsun.com>
69016
69017         * modules/group-member: Depend on stdbool.
69018
69019 2003-10-29  Paul Eggert  <eggert@twinsun.com>
69020
69021         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
69022
69023 2003-10-29  Paul Eggert  <eggert@twinsun.com>
69024
69025         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
69026         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
69027         after the 'gnu' in these cases.  This fixes some bugs in the
69028         previous change, and is based on suggestions by Robert Millan.
69029
69030 2003-10-29  Paul Eggert  <eggert@twinsun.com>
69031
69032         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
69033         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
69034         no longer needed.
69035         * lib/quotearg.c (quotearg_n_options): Use it.
69036         * lib/group-member.c: Include <stdbool.h>.
69037         (free_group_info): Arg is now const *; don't free arg.
69038         (get_group_info): Now returns bool and accepts struct group_info *,
69039         rather than returning a malloc'ed struct group_info *.
69040         All uses changed.  Check for overflow in internal size calculation.
69041
69042         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
69043         rather than xmalloc/xrealloc.
69044         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
69045         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
69046         conformance bug: the old code used a pointer after freeing the
69047         storage that it addressed.
69048         * lib/hash.c (hash_initialize): Simplify the code by using
69049         xalloc_oversized rather than doing it by hand.
69050         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
69051         the buffer preserved.  Use free and xmalloc instead.
69052         * lib/quotearg.c (quotearg_n_options): Likewise.
69053         Use a simpler test for size overflow.  Don't use xalloc_oversized
69054         because unsigned int might be wider than size_t (!); this suggests
69055         that we should switch from unsigned int to size_t for slot numbers.
69056
69057 2003-10-28  Paul Eggert  <eggert@twinsun.com>
69058
69059         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
69060         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
69061         NetBSD kernels.  Requested by Richard Stallman.
69062
69063 2003-10-27  Paul Eggert  <eggert@twinsun.com>
69064
69065         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
69066         to allocate the returned structure.  Do not allocate a subarray,
69067         as x2nrealloc will do that.
69068         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
69069         instead of xnrealloc.
69070         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
69071
69072 2003-10-27  Bruno Haible  <bruno@clisp.org>
69073
69074         * lib/stdbool_.h: Better support for BeOS.
69075
69076 2003-10-26  Paul Eggert  <eggert@twinsun.com>
69077
69078         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
69079         now uses inline.
69080
69081 2003-10-26  Paul Eggert  <eggert@twinsun.com>
69082
69083         * lib/xalloc.h (xalloc_oversized): New static inline function, for
69084         callers that want to do their own size-overflow checking.  Include
69085         <stdbool.h>, since xalloc_oversized returns bool.
69086         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
69087         to use xalloc_oversized.
69088
69089         Add two functions x2realloc, x2nrealloc, for programs that grow
69090         arrays dynamically by doubling their sizes.
69091         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
69092         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
69093         New functions.
69094
69095         Port to C99 semantics for 'inline' of external functions.
69096         Bug reported by Bruno Haible.
69097         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
69098         with the old contents of xnmalloc.
69099         (xnmalloc, xmalloc): Use it.
69100         (xnrealloc_inline): New static inline function,
69101         with the old contents of xnrealloc.
69102         (xnrealloc, xrealloc): Use it.
69103
69104         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
69105         that.
69106
69107 2003-10-26  Karl Berry  <karl@gnu.org>
69108
69109         * config/srclist.txt (COPYING.DOC): no longer available from
69110         /gd/gnuorg; don't know where the ultimate source is.
69111
69112 2003-10-25  Paul Eggert  <eggert@twinsun.com>
69113
69114         Fix several address-calculation bugs in the hash modules,
69115         plus some minor code cleanup.
69116
69117         * lib/hash.h: Include <stdbool.h>, for bool.
69118         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
69119         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
69120         hash_get_n_entries, hash_get_max_bucket_length,
69121         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
69122         hash_rehash): Use size_t rather than unsigned.
69123         * lib/hash.c (struct hash_table, hash_get_n_buckets,
69124         hash_get_n_buckets_used, hash_get_n_entries,
69125         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
69126         hash_get_entries, hash_do_for_each, hash_string, is_prime,
69127         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
69128         Likewise.
69129         (SIZE_MAX): Define if not defined.
69130         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
69131         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
69132         hash_print):
69133         Use const * when possible.
69134         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
69135         (check_tuning): Fix bug: if tuning parameters were very close to
69136         0 or 1, rounding errors could have caused subscript violations.
69137         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
69138         (hash_initialize): Add 'fail:' label
69139         to free table and return NULL, and use it to simplify code.
69140         Use calloc rather than clearing the storage ourself.
69141         (hash_initialize, hash_rehash): Check for arithmetic overflow in
69142         buffer size calculations.
69143         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
69144         Include <stddef.h>, for size_t.
69145         * lib/hash-pjw.c (hash_pjw): Likewise.
69146         Switch to method described by Bruno Haible.
69147         Include <limits.h>, for CHAR_BIT.
69148         (SIZE_BITS): New macro.
69149
69150 2003-10-23  Paul Eggert  <eggert@twinsun.com>
69151
69152         * m4/getline.m4 (AM_FUNC_GETLINE):
69153         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
69154         hosts.  Problem reported by Derek Robert Price in
69155         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
69156         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
69157         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
69158
69159 2003-10-21  Paul Eggert  <eggert@twinsun.com>
69160
69161         * lib/getndelim2.c (getndelim2): When size calculation overflows,
69162         ceiling the allocation at NMAX bytes rather than silently
69163         discarding input bytes before NMAX is reached.  This makes
69164         a difference only if NMAX exceeds SIZE_MAX / 2.
69165
69166         * lib/obstack.c: Merge from glibc.
69167         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
69168         Add libc_hidden_def (_obstack_newchunk).
69169         (_obstack_free) [! defined _LIBC]: Remove.
69170         [defined _LIBC]: Make a strong alias from obstack_free, rather than
69171         a clone of the function body.
69172         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
69173         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
69174
69175         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
69176         glibc.
69177         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
69178         arg to memcpy.
69179
69180         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
69181         (obstack_ptr_grow_fast, obstack_int_grow_fast):
69182         Don't use lvalue casts, as GCC plans to remove support for them
69183         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
69184         was also present in the non-GCC version, indicating that this
69185         code had always been buggy and had never been widely used.
69186         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
69187         Use the fast variant of each macro, rather than copying the
69188         definiens of the fast variant; that way, we'll be more likely to
69189         catch future bugs in the fast variants.
69190
69191 2003-10-20  Bruno Haible  <bruno@clisp.org>
69192
69193         * modules/wait-process: New file.
69194         * MODULES.html.sh (func_all_modules): Add wait-process.
69195
69196 2003-10-20  Bruno Haible  <bruno@clisp.org>
69197
69198         * m4/wait-process.m4: New file.
69199
69200 2003-10-20  Bruno Haible  <bruno@clisp.org>
69201
69202         * lib/wait-process.h: New file, from GNU gettext.
69203         * lib/wait-process.c: New file, from GNU gettext.
69204
69205 2003-10-19  Jim Meyering  <jim@meyering.net>
69206
69207         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
69208         HPUX 10.20.
69209
69210 2003-10-18  Karl Berry  <karl@gnu.org>
69211
69212         * config/config.guess: update from config.
69213
69214 2003-10-16  Paul Eggert  <eggert@twinsun.com>
69215
69216         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
69217         (getgroups): First arg is int, not size_t.
69218         Don't let 'free' mangle errno.
69219
69220 2003-10-16  Paul Eggert  <eggert@twinsun.com>
69221
69222         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
69223
69224 2003-10-16  Karl Berry  <karl@gnu.org>
69225
69226         * config/config.{guess,sub}: update from config.
69227
69228 2003-10-16  Jim Meyering  <jim@meyering.net>
69229
69230         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
69231         memcpy.
69232
69233 2003-10-15  Paul Eggert  <eggert@twinsun.com>
69234
69235         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
69236         (SIZE_MAX): Remove.
69237         (new_exclude, add_exclude_file): Initial size no longer needs to
69238         be a power of 2.
69239         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
69240         our own address arithmetic overflow checking.
69241
69242         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
69243         (fnmatch): Do not alloca more than 2000 wide characters;
69244         instead, use malloc for large buffers.
69245         Check for address arithmetic overflow, and return -1
69246         with errno set to ENOMEM in that case.
69247         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
69248         (NEW_PATTERN): Do not alloca more than 8000 bytes;
69249         instead, return -1.  Check for address arithmetic overflow.
69250
69251 2003-10-14  Paul Eggert  <eggert@twinsun.com>
69252
69253         Handle invalid suffixes and overflow independently, so that
69254         callers can treat them independently as needed.  Fix some bugs in
69255         suffix handling, e.g., "100k@" was not diagnosed as an invalid
69256         suffix for a human-readable blocksize.  The major caller-visible
69257         change is the addition of a new
69258         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
69259         that both overflow and suffix chars were found.
69260
69261         * lib/human.c (humblock): Don't check separately for invalid suffix
69262         char; that is xstrtoumax's job (now that its bug is fixed).
69263         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
69264         INTMAX_MAX]: New macros.
69265         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
69266         TYPE_MAXIMUM): New macros.
69267         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
69268         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
69269         if overflow occurs, as it's what __strtol does and it's more useful
69270         in practice.
69271         (__xstrtol): If __strtol reports some error other than ERANGE,
69272         reflect it to the caller as LONGINT_INVALID.  If it reports
69273         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
69274         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
69275         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
69276         value.
69277         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
69278         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
69279         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
69280         [defined UINTMAX_MAX]: New macros.
69281
69282 2003-10-14  Bruno Haible  <bruno@clisp.org>
69283
69284         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
69285
69286 2003-10-14  Bruno Haible  <bruno@clisp.org>
69287
69288         * m4/sig_atomic_t: New file, from GNU gettext.
69289         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
69290
69291 2003-10-14  Bruno Haible  <bruno@clisp.org>
69292
69293         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
69294         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
69295         Also use volatile where needed.
69296
69297 2003-10-12  Paul Eggert  <eggert@twinsun.com>
69298
69299         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
69300         Change maintainer from Bruno Haible to 'all'.
69301
69302 2003-10-12  Paul Eggert  <eggert@twinsun.com>
69303
69304         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
69305
69306 2003-10-12  Paul Eggert  <eggert@twinsun.com>
69307
69308         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
69309         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
69310         and define in terms of the other primitives.
69311         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
69312         (SIZE_MAX): Define if not already defined.
69313         (array_size_overflow): New function.
69314         (xalloc_die): Abort instead of exiting if 'error' returns.
69315         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
69316         (xmalloc, xrealloc): Use them.
69317         (xcalloc): Check for address arithmetic overflow.
69318         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
69319         a bit faster than strcpy.
69320
69321 2003-10-10  Simon Josefsson  <jas@extundo.com>
69322
69323         * modules/argp (Depends-on): Add restrict and strcase.
69324
69325 2003-10-10  Simon Josefsson  <jas@extundo.com>
69326
69327         * m4/argp.m4: Add AC_C_INLINE.
69328
69329 2003-10-08  Paul Eggert  <eggert@twinsun.com>
69330
69331         Merge getpass from libc, plus a few fixes.
69332
69333         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
69334         Include <stdbool.h>.
69335         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
69336         __fsetlocking to empty.
69337         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
69338         do include <bits/libc-lock.h>.
69339         Do not include <fcntl.h>; not needed.
69340         [_LIBC]: Include <wchar.h>.
69341         (NOTCANCEL_MODE): New macro.
69342         (flockfile, funlockfile) [_LIBC]: New macros.
69343         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
69344         [!_LIBC]: New macros.
69345         (call_fclose): New function.
69346         (getpass): Use it.  Save tty stream separately; this simplifies the
69347         code and makes it more reliable if stdin happens to equal stdout.
69348         Invoke __fsetlocking on tty.
69349         Handle thread cancellation if needed.
69350         Namespace cleanup (use __tcgetattr, __getline).
69351         Use bool for Booleans.
69352         [USE_IN_LIBIO]: Handle wide streams.
69353         [!_LIBC]: Unconditionally do the fseek, since we don't know what
69354         stream might go where.
69355
69356         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
69357         doesn't have to include <stdio.h> before us.
69358         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
69359         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
69360         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
69361         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
69362         if not declared, so that we can use getpass.c code from libc without
69363         rewriting it.
69364         (flockfile, ftrylockfile, funlockfile): New macros.
69365
69366 2003-10-08  Paul Eggert  <eggert@twinsun.com>
69367
69368         * modules/getpass: Depend on stdbool.
69369
69370 2003-10-08  Paul Eggert  <eggert@twinsun.com>
69371
69372         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
69373
69374 2003-10-07  Karl Berry  <karl@gnu.org>
69375
69376         * config/config.{guess,sub}: update from config.
69377
69378 2003-10-06  Jim Meyering  <jim@meyering.net>
69379             Bruno Haible  <bruno@clisp.org>
69380
69381         This lets translators provide better translations for the
69382         "Written by ..." part of --version output.
69383         * lib/version-etc.h: Include stdarg.h.
69384         (version_etc_copyright): Declare as readonly.
69385         (version_etc): Make this function variadic with a NULL-terminated list
69386         of author name strings.
69387         (version_etc_va): New declaration.
69388         * lib/version-etc.c: Include stdarg.h, stdlib.h.
69389         (version_etc_copyright): Declare as readonly.
69390         (version_etc_va): New function. Provide a different translatable string
69391         for each possible number of authors < 10. Abbreviate when there are 10
69392         authors or more.
69393         (version_etc): Make this function variadic. Call version_etc_va.
69394         Suggestion from Gary V. Vaughan.
69395
69396         * lib/long-options.h (parse_long_options): Change prototype: the
69397         authors string is moved to the end and becomes variadic.
69398         * lib/long-options.c: Include stdarg.h.
69399         (parse_long_options): Make this function variadic, too.
69400         Call version_etc_va, not version_etc.
69401
69402 2003-10-06  Bruno Haible  <bruno@clisp.org>
69403
69404         * modules/version-etc-2: Remove file.
69405         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
69406
69407 2003-10-06  Bruno Haible  <bruno@clisp.org>
69408
69409         * modules/fatal-signal: New file.
69410         * MODULES.html.sh (func_all_modules): Add fatal-signal.
69411
69412 2003-10-06  Bruno Haible  <bruno@clisp.org>
69413
69414         * m4/fatal-signal.m4: New file.
69415         * m4/signalblocking.m4: New file, from GNU gettext.
69416
69417 2003-10-06  Bruno Haible  <bruno@clisp.org>
69418
69419         * lib/version-etc-2.h: Remove file.
69420         * lib/version-etc-2.c: Remove file.
69421
69422 2003-10-06  Bruno Haible  <bruno@clisp.org>
69423
69424         * lib/fatal-signal.h: New file, from GNU gettext.
69425         * lib/fatal-signal.c: New file, from GNU gettext.
69426
69427 2003-10-05  Paul Eggert  <eggert@twinsun.com>
69428
69429         * README: Rework advice for preventing empty .o files.
69430         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
69431         not <sys/types.h>.
69432
69433 2003-10-04  Karl Berry  <karl@gnu.org>
69434
69435         * lib/argp*: update from libc.
69436
69437 2003-10-04  Karl Berry  <karl@gnu.org>
69438
69439         * config/config.{guess,sub}: update from config.
69440
69441 2003-10-02  Bruno Haible  <bruno@clisp.org>
69442
69443         * modules/lchown (Include): Add lchown.h.
69444         * modules/time_r (Include): Use "..." syntax.
69445         * modules/xgetdomainname (Include): Add xgetdomainname.h.
69446
69447 2003-10-01  Simon Josefsson  <jas@extundo.com>
69448
69449         * MODULES.html.sh (func_all_modules): Move gethostname from section
69450         'based on' to section 'lacking' POSIX:2001.
69451
69452 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
69453
69454         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
69455         to output mode on the same stream.
69456
69457 2003-09-29  Paul Eggert  <eggert@twinsun.com>
69458
69459         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
69460         Fix arg typo in previous patch.
69461
69462 2003-09-28  Jim Meyering  <jim@meyering.net>
69463
69464         * lib/error.c: Correct cpp indentation.
69465
69466 2003-09-27  Paul Eggert  <eggert@twinsun.com>
69467
69468         * modules/free: New file.
69469
69470 2003-09-27  Paul Eggert  <eggert@twinsun.com>
69471
69472         * m4/free.m4: New file.
69473
69474 2003-09-27  Paul Eggert  <eggert@twinsun.com>
69475
69476         * lib/minmax.h (MIN, MAX)
69477         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
69478         Omit the special code that used __typeof__, since we worry that
69479         it could be more trouble than it's worth.  See:
69480         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
69481         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
69482
69483         * lib/free.c: New file.
69484
69485 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
69486
69487         Trivial fixes to Makefile.am parts of module listings.
69488         * modules/strstr: Append strstr.h to lib_SOURCES.
69489         * modules/strcase: Likewise, for strcase.h.
69490
69491 2003-09-27  Karl Berry  <karl@gnu.org>
69492
69493         * config/mkinstalldirs: update from automake.
69494
69495 2003-09-26  Paul Eggert  <eggert@twinsun.com>
69496
69497         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
69498         (error_tail): Do not loop, reallocating temporary buffer, since
69499         the output cannot contain more wide characters than the input
69500         contains bytes, the size must be big enough already.  This avoids
69501         one potential size overflow calculation.  Check for size overflow
69502         when calculating temporary buffer size.  Free temporary buffer
69503         when done, if it was allocated with malloc; this plugs a memory
69504         leak.  Remove casts from void * to pointers, that are no longer
69505         needed now that we're assuming C89 or better.
69506
69507         Merge error changes from glibc.
69508
69509         * lib/error.c, error.h: Update copyright notice header to match glibc.
69510         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
69511         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
69512         Disable cancellation while printing error.
69513         * lib/error.h: Prepend __ to parameter names.
69514
69515 2003-09-26  Jim Meyering  <jim@meyering.net>
69516
69517         * lib/error.c (error_tail): Move some declarations
69518         into inner scope where the local variables are used.
69519
69520 2003-09-26  Bruno Haible  <bruno@clisp.org>
69521
69522         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
69523         stpncpy().
69524         Don't define stpncpy through config.h; it's now done through stpncpy.h.
69525
69526 2003-09-26  Bruno Haible  <bruno@clisp.org>
69527
69528         * lib/stpncpy.h (gnu_stpncpy): New declaration.
69529         (stpncpy): Define as alias for gnu_stpncpy.
69530         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
69531
69532 2003-09-25  Simon Josefsson  <jas@extundo.com>
69533
69534         * lib/xgetdomainname.h: New file.
69535         * lib/xgetdomainname.c: New file.
69536
69537 2003-09-25  Simon Josefsson  <jas@extundo.com>
69538             Bruno Haible  <bruno@clisp.org>
69539
69540         * modules/getdomainname: New file.
69541         * modules/xgetdomainname: New file.
69542         * MODULES.html.sh (func_all_modules): Add getdomainname,
69543         xgetdomainname.
69544
69545 2003-09-25  Simon Josefsson  <jas@extundo.com>
69546             Bruno Haible  <bruno@clisp.org>
69547
69548         * m4/getdomainname.m4: New file.
69549
69550 2003-09-25  Simon Josefsson  <jas@extundo.com>
69551             Bruno Haible  <bruno@clisp.org>
69552
69553         * lib/getdomainname.h: New file.
69554         * lib/getdomainname.c: New file.
69555
69556 2003-09-25  Karl Berry  <karl@gnu.org>
69557
69558         * lib/argp-fmtstream.c, argp-help.c: update from libc.
69559
69560 2003-09-25  Karl Berry  <karl@gnu.org>
69561
69562         * config/install-sh: update from automake.
69563
69564 2003-09-25  Bruno Haible  <bruno@clisp.org>
69565
69566         * modules/version-etc-2: New file, from modules/version-etc with
69567         modifications.
69568         * MODULES.html.sh (func_all_modules): Add version-etc-2.
69569
69570 2003-09-25  Bruno Haible  <bruno@clisp.org>
69571
69572         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
69573         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
69574
69575 2003-09-24  Simon Josefsson  <jas@extundo.com>
69576
69577         * modules/xgethostname: Add xgethostname.h.
69578
69579 2003-09-24  Paul Eggert  <eggert@twinsun.com>
69580
69581         * lib/linebuffer.c (freebuffer): Don't free the argument, just
69582         the buffer associated with the argument.  Bug reported by
69583         Simon Josefsson.
69584
69585 2003-09-24  Paul Eggert  <eggert@twinsun.com>
69586
69587         * README: Document assumptions that 'int' is at least 32 bits
69588         wide, that integer arithmetic is 2's complement without overflow,
69589         that there are no holes in integer values, that adding sizes of
69590         two nonoverlapping objects can't overflow, and that all-bits-zero
69591         yields scalar zero.  Fix spelling and capitalization typos.
69592
69593 2003-09-19  Karl Berry  <karl@gnu.org>
69594
69595         * lib/argp.h: update from libc.
69596
69597 2003-09-17  Paul Eggert  <eggert@twinsun.com>
69598
69599         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
69600         to avoid spurious warnings like "AC_RUN_IFELSE was called before
69601         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
69602
69603 2003-09-17  Paul Eggert  <eggert@twinsun.com>
69604
69605         * gnulib-tool: Use "test -h", not "test -L", for portability
69606         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
69607         (tags_regexp): Remove, since \| doesn't conform to POSIX.
69608         (sed_extract_prog): Issue s commands one-by-one, rather than
69609         using \| in one s command.
69610
69611 2003-09-16  Paul Eggert  <eggert@twinsun.com>
69612
69613         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
69614         input error, instead of returning NULL the next time we are called
69615         (and therefore losing track of errno).
69616
69617 2003-09-16  Bruno Haible  <bruno@clisp.org>
69618
69619         * gnulib-tool (func_create_testdir): Warn about duplicated
69620         dependencies.
69621
69622 2003-09-15  Paul Eggert  <eggert@twinsun.com>
69623
69624         * modules/argmatch, modules/fatal, modules/obstack,
69625         modules/xalloc, modules/xgethostname: Sort dependencies by
69626         importance, not alphabetically.
69627
69628 2003-09-15  Paul Eggert  <eggert@twinsun.com>
69629
69630         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
69631         fails, so that the caller gets the proper errno.
69632
69633         * lib/readutmp.c (read_utmp): Likewise.
69634         Check for fstat error.  Close stream and free storage
69635         when failing.
69636
69637 2003-09-14  Karl Berry  <karl@gnu.org>
69638
69639         * config/srclist.txt (strdup.c): disable for c89 changes.
69640
69641 2003-09-14  Jim Meyering  <jim@meyering.net>
69642
69643         * lib/getloadavg.c: Correct cpp indentation.
69644         * lib/strdup.c: Likewise.
69645         * lib/vasnprintf.c: Likewise.
69646
69647 2003-09-14  Bruno Haible  <bruno@clisp.org>
69648
69649         * modules/fwriteerror: New file.
69650         * MODULES.html.sh (func_all_modules): Add fwriteerror.
69651
69652 2003-09-14  Bruno Haible  <bruno@clisp.org>
69653
69654         * lib/fwriteerror.h: New file.
69655         * lib/fwriteerror.c: New file.
69656
69657 2003-09-12  Paul Eggert  <eggert@twinsun.com>
69658
69659         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
69660         modules/xgethostname, modules/xalloc: Depend on exit.
69661
69662 2003-09-12  Paul Eggert  <eggert@twinsun.com>
69663
69664         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
69665
69666         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
69667         and AC_MINIX, too, so that their extensions are available.
69668
69669         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
69670         This macro has been superseded by gl_BACKUPFILE.
69671
69672         More patches to assume C89 or better.
69673
69674         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
69675
69676         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
69677         unconditionally.
69678         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
69679         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
69680         Include <string.h>, <stdlib.h> unconditionally.
69681         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
69682         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
69683         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
69684         headers or for string.h.
69685         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
69686         or strtoul.
69687
69688         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
69689         headers.
69690         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
69691         * m4/userspec.m4 (gl_USERSPEC): Likewise.
69692         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
69693         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
69694         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
69695         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
69696         memcpy, memset.
69697         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
69698         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
69699         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
69700         strtol.
69701         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
69702         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
69703         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
69704         strtoul.
69705
69706 2003-09-12  Paul Eggert  <eggert@twinsun.com>
69707
69708         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
69709         * lib/obstack.c [!defined _LIBC]: Likewise.
69710         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
69711         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
69712         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
69713
69714         More changes to assume C89 or better.
69715
69716         * lib/error.c (error_tail): Assume vprintf.
69717
69718         * lib/argmatch.c (getenv): Remove decl.
69719         * lib/progreloc.c (get_full_program_name): Define via prototype.
69720         * lib/setenv.c (clearenv): Likewise.
69721         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
69722         needed.
69723         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
69724         (malloc, memcpy): Remove decls.
69725         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
69726         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
69727         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
69728         (memcpy): Remove macro.
69729         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
69730         (__P): Remove.  All uses removed.
69731         (PTR): Remove.  All uses changed to void *.
69732         (CHAR_BIT, NULL): Remove.
69733         (spaces, zeros, memset_space, memset_zero)
69734         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
69735         Remove.
69736         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
69737         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
69738         Define with prototype.
69739         Remove now-unnecessary prototype decl.
69740         (extra_args_spec): Assume ANSI C.  All uses changed.
69741         (extra_args_spec_iso): Remove.
69742         (my_strftime, emacs_strftimeu): Define via prototype.
69743         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
69744         unconditionally.
69745         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
69746         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
69747         (strtoul, strtol): Remove decls.
69748         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
69749         LONG_MAX): Remove.
69750         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
69751         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
69752         (LOCALE_PARAM_PROTO): New macro.
69753         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
69754         (INTERNAL (strtol), strtol): Define with a prototype.
69755         (PARAMS): Remove.  All uses removed.
69756         * lib/tempname.c: Include <string.h> unconditionally.
69757         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
69758         * lib/xgethostname.c (main): Define with a prototype.
69759         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
69760         Include <stdlib.h> unconditionally.
69761         (calloc, malloc, realloc, free): Remove decls.
69762         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
69763         Include <stdlib.h> unconditionally.  Sort include file names.
69764         (strtod): Remove.
69765         (xstrtod): Define with a prototype.
69766         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
69767         (strtol, strtoul): Remove decls.
69768
69769 2003-09-11  Paul Eggert  <eggert@twinsun.com>
69770
69771         More patches to assume C89 or better.
69772         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
69773         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
69774         string.h, memchr, STDC_HEADERS.
69775
69776 2003-09-11  Paul Eggert  <eggert@twinsun.com>
69777
69778         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
69779         Include <stdlib.h>, <string.h> unconditionally.
69780         Remove now-unnecessary cast to char *.
69781         * lib/strnlen.c: Include <string.h> unconditionally.
69782         * lib/yesno.c (yesno): Define with a prototype.
69783
69784 2003-09-11  Bruno Haible  <bruno@clisp.org>
69785
69786         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
69787
69788 2003-09-10  Jim Meyering  <jim@meyering.net>
69789
69790         * lib/error.c: Correct indentation of cpp directives.
69791
69792 2003-09-10  Bruno Haible  <bruno@clisp.org>
69793
69794         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
69795         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
69796         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
69797         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
69798         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
69799         <stdlib.h> and <string.h> checks.
69800         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
69801         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
69802
69803 2003-09-10  Bruno Haible  <bruno@clisp.org>
69804
69805         * lib/strcspn.c: Include <string.h> unconditionally.
69806         * lib/strpbrk.c: Include <string.h> unconditionally.
69807         * lib/strstr.c: Include <string.h> unconditionally.
69808         * lib/unicodeio.c: Include <string.h> unconditionally.
69809         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
69810         * lib/unsetenv.c: Likewise.
69811         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
69812         * lib/yesno.c: Include <stdlib.h> unconditionally.
69813         (rpmatch): Add prototype.
69814
69815 2003-09-09  Paul Eggert  <eggert@twinsun.com>
69816
69817         More patches to assume C89 or better.
69818         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
69819         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
69820         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
69821         or for string.h.
69822         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
69823         stdlib.h.
69824         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
69825         C headers.
69826         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
69827         string.h.
69828         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
69829         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
69830         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
69831         or for string.h.
69832         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
69833         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
69834         C headers.
69835         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
69836         memcpy.
69837         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
69838         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
69839         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
69840         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
69841         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
69842         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
69843         string.h, free.
69844         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
69845         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
69846         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
69847         C headers, or for string.h.
69848         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
69849         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
69850         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
69851         headers, memory.h, stdlib.h, string.h, strings.h.
69852         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
69853         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
69854         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
69855         strchr.
69856         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
69857         headers, memory.h, string.h.
69858         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
69859         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
69860         free.
69861         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
69862         headers.
69863         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
69864         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
69865         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
69866         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
69867         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
69868
69869 2003-09-09  Paul Eggert  <eggert@twinsun.com>
69870
69871         More K&R removal.
69872
69873         * lib/acosl.c (main): Use a prototype.
69874         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
69875         tanl.c: Likewise.
69876
69877         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
69878
69879         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
69880         (getopt, etopt_long, getopt_long_only, _getopt_internal)
69881         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
69882         with a prototype.
69883         * lib/getopt.c (const): Remove macro.
69884         Include <string.h> unconditionally.
69885         (my_index): Remove; all uses changed to strchr.
69886         (strlen): Remove decl.
69887         (exchange): Remove forward decl; no longer needed.
69888         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
69889         Define with prototype.
69890         * lib/getopt1.c (const): Remove macro.
69891         (getopt_long, getopt_long_only, main): Define with prototype.
69892
69893         * lib/getugroups.c: Include <string.h> unconditionally.
69894
69895         * lib/getusershell.c: Include <stdlib.h> unconditionally.
69896         (getusershell, setusershell, endusershell, readname, main):
69897         Define with prototypes.
69898
69899         * lib/group-member.c: Include group-member.h first.
69900         Include <stdlib.h> unconditionally.
69901
69902         * lib/hard-locale.c: Include hard-locale.h first.
69903         Include <stdlib.h>, <string.h> unconditionally.
69904
69905         * lib/hash.c (free, malloc): Remove decls.
69906         Include <stdlib.h> unconditionally.
69907
69908         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
69909         (getenv): Do not declare.
69910
69911         * lib/idcache.c: Include <string.h> unconditionally.
69912
69913         * lib/long-options.c: Include long-options.h first, to test interface.
69914         Include <stdlib.h> unconditionally.
69915
69916         * lib/makepath.c: Include makepath.h first, to test interface.
69917         Include <stdlib.h> and <string.h> unconditionally.
69918
69919         * lib/linebuffer.c: Include <stdlib.h>.
69920         (free): Remove decl.
69921
69922         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
69923         stddef.h. rpl_malloc returns void *, not char *.
69924         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
69925         prototype.
69926
69927         * lib/md5.h: Include <limits.h> unconditionally.
69928         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
69929         (__P): Remove; all uses removed.
69930         * lib/md5.c: Include "md5.h" first.
69931         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
69932         md5_buffer, md5_process_bytes, md5_process_block):
69933         Define with prototypes.
69934         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
69935         * lib/sha.c: Include "sha.h" first.
69936         Include <stdlib.h>, <string.h> unconditionally.
69937
69938         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
69939         * lib/memcmp.c (__ptr_t): Likewise.
69940         * lib/memrchr.c (__ptr_t): Likewise.
69941         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
69942         Include <string.h> unconditionally.
69943         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
69944         * lib/memchr.c: Include <stdlib.h> unconditionally.
69945         * lib/memchr.c (LONG_MAX): Remove.
69946         * lib/memrchr.c (LONG_MAX): Likewise.
69947         * lib/memchr.c (__memchr): Define via a prototype.
69948         * lib/memrchr.c (__memrchr): Likewise.
69949         * lib/memcmp.c (__P): Remove, and remove all uses.
69950         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
69951         Remove forward decls; no longer needed.
69952         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
69953         Use types required by C89 in prototype.
69954
69955         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
69956         * lib/savedir.c: Likewise.
69957         * lib/mkdir.c (free): Remove decl.
69958         * lib/rmdir.c (rmdir): Define with a prototype.
69959         * lib/savedir.c: Include savedir.h first, to test interface.
69960
69961         * lib/mktime.c (STDC_HEADERS): Remove.
69962         Include <stdlib.h>, <string.h> unconditionally.
69963
69964         * lib/modechange.c: Include <stdlib.h> unconditionally.
69965         (malloc): Remove decl.
69966
69967         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
69968         (free): Remove decl.
69969
69970         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
69971         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
69972         (This type really should be intptr_t, but that's a C99ism.)
69973         (_obstack_memcpy): Remove: all uses changed to memcpy.
69974         Include <string.h> unconditionally.
69975         (struct obstack): Assume __STDC__ for types of members
69976         chunkfun, freefun, extra_arg.
69977         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
69978         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
69979         obstack_begin, obstack_specify_allocation,
69980         obstack_specify_allocation_with_arg, obstack_chunkfun,
69981         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
69982         Remove unprototyped decls and the macros that use them.
69983         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
69984         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
69985         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
69986         (defined __STDC__ && __STDC__)]:
69987         Remove nonprototyped code.
69988         Include <stdlib.h> unconditionally.
69989         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
69990         _obstack_allocated_p, _obstack_free, obstack_free,
69991         _obstack_memory_used, print_and_abort):
69992         Define using prototypes.
69993         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
69994         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
69995         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
69996         obstack_next_free, obstack_object_size, obstack_room) [0]:
69997         Remove unused, unprototyped code.
69998
69999         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
70000
70001         * lib/physmem.c (physmem_total, physmem_available, main): Define
70002         with prototypes.
70003
70004         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
70005         (main): Define with a prototype.
70006
70007         * lib/posixver.c (getenv): Remove decl.
70008
70009         * lib/putenv.c (malloc): Returns void *, not char *.
70010         Include <string.h> unconditionally.
70011         (strchr, memcpy, NULL): Do not define.
70012
70013         * lib/readtokens.c: Include readtokens.h first, to test interface.
70014         Include <stdlib.h>, <string.h> unconditionally.
70015         (init_tokenbuffer): Define with a prototype.
70016
70017         * lib/regex.c (PARAMS): Remove.  All uses removed.
70018         All uses of _RE_ARGS removed, too.
70019         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
70020         unconditionally.
70021         (bzero): Assume memset exists.
70022         (memcmp, memcpy, NULL): Remove.
70023         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
70024         char, or assignments to local vars of type signed char.
70025         (init_syntax_once, PREFIX(extract_number_and_incr),
70026         PREFIX(print_partial_compiled_pattern),
70027         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
70028         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
70029         PREFIX(regex_grow_registers), PREFIX(regex_compile),
70030         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
70031         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
70032         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
70033         wcs_compile_range, byte_compile_range, truncate_wchar,
70034         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
70035         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
70036         count_mbs_length, wcs_re_match_2_internal,
70037         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
70038         PREFIX(alt_match_null_string_p),
70039         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
70040         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
70041         regfree, PREFIX(extract_number)): Define with prototype.  Remove
70042         now-unnecessary declaration, if any.
70043         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
70044         regcomp, regexec):
70045         Remove now-unnecessary casts among pointer types.
70046         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
70047
70048         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
70049         (free): Remove decl.
70050
70051         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
70052
70053         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
70054         (free): Remove decl.
70055
70056         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
70057         * lib/xgetcwd.c: Likewise.
70058
70059         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
70060         (free): Remove decl.
70061
70062         * lib/strchrnul.c (strchrnul): Define with a prototype.
70063         Fix bug: c_in was not converted to char before searching.
70064
70065         The following changes are not K&R related:
70066
70067         * lib/group-member.h: Include <sys/types.h>, so that this file is
70068         self-contained.
70069         * lib/makepath.h: Likewise.
70070
70071         * lib/getusershell.c (readname, default_index, line_size, readname):
70072         Use size_t, not int, for sizes.
70073         (readname): If the size overflows, report an error instead of
70074         looping forever.
70075
70076 2003-09-09  Paul Eggert  <eggert@twinsun.com>
70077
70078         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
70079         libc.
70080
70081 2003-09-09  Paul Eggert  <eggert@twinsun.com>
70082
70083         * README: New section: portability guidelines.
70084
70085 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
70086
70087         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
70088         C89 spec.
70089
70090 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
70091
70092         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
70093
70094 2003-09-08  Paul Eggert  <eggert@twinsun.com>
70095
70096         Assume C89 or better; remove K&R cruft.
70097         A few of these changes were first proposed by Derek Robert Price
70098         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
70099
70100         * lib/addext.c: Include <string.h> unconditionally.
70101         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
70102         Don't declare getenv or malloc.
70103
70104         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
70105         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
70106         (NULL): Remove.
70107         (find_stack_direction, alloca): Use prototypes.
70108
70109         * lib/atexit.c (atexit): Define using a prototype.
70110
70111         * lib/basename.c, dirname.c, stripslash.c:
70112         Include <string.h> unconditionally.
70113
70114         * lib/bcopy.c: Include <stddef.h>.
70115         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
70116
70117         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
70118
70119         * lib/error.h (error, error_at_line, error_print_progname)
70120         [! (defined (__STDC__) && __STDC__)]: Remove decls.
70121         * lib/error.c: Include error.h first, to check interface.
70122         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
70123         (VA_START): Remove; all uses changeed to va_start.
70124         (exit, strerror): Remove decls.
70125         (error_print_progname): Prototype uncondionally.
70126         Don't include <errno.h>; no longer needed.
70127         (private_strerror): Remove.
70128         (error_tail): Always define.
70129         (error, error_at_line): Assume C89 or better; always use prototypes.
70130         * lib/fatal.c: Include "fatal.h" first, to test interface.
70131         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
70132         (VA_START): Remove; all uses changed to va_start.
70133         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
70134         this case.
70135         (exit): Remove decl.
70136         (fatal): Prototype unconditionally.  Assume va_start works.
70137         Abort at end, to pacify gcc.
70138
70139         * lib/euidaccess.c (main): Define with a prototype.
70140
70141         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
70142
70143         * lib/exitfail.c: Include <stdlib.h> unconditionally.
70144
70145         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
70146         prototypes.
70147         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
70148         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
70149         (getenv): Remove decl.
70150         (fnmatch): Define using a prototype.
70151         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
70152         (FCT): Define using a prototype.
70153
70154         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
70155
70156         * lib/gethostname.c: Include <stddef.h>.
70157         (gethostname): Define with prototype.  Length is size_t, not int.
70158
70159 2003-09-08  Paul Eggert  <eggert@twinsun.com>
70160
70161         Assume C89 or better; remove K&R cruft.
70162         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
70163         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
70164         string.h, getenv, malloc.
70165         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
70166         headers.
70167         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
70168         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
70169         do not check for strerror.
70170         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
70171         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
70172         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
70173         do not check for doprnt or vprintf.
70174         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
70175         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
70176
70177 2003-09-08  Paul Eggert  <eggert@twinsun.com>
70178
70179         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
70180         getversion.c should have been removed then, but was accidentally
70181         preserved.
70182
70183         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
70184         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
70185
70186 2003-09-08  Karl Berry  <karl@gnu.org>
70187
70188         * config/config.sub, config.guess, srclistvars.sh: update from savannah
70189                 config, forget about prep.
70190
70191         * config/depcomp, missing: update from automake.
70192
70193 2003-09-07  Paul Eggert  <eggert@twinsun.com>
70194
70195         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
70196         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
70197
70198 2003-09-07  Paul Eggert  <eggert@twinsun.com>
70199
70200         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
70201         copy_tm_result.  Bug reported by Simon Josefsson in
70202         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
70203
70204 2003-09-06  Paul Eggert  <eggert@twinsun.com>
70205
70206         * m4/time_r.m4: New file.
70207         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
70208         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
70209         is. Check for timegm declaration.
70210         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
70211         Do not check for gmtime_r.
70212         Replace mktime if __mktime_internal does not exist and if mktime
70213         hasn't been replaced already.
70214
70215 2003-09-06  Paul Eggert  <eggert@twinsun.com>
70216
70217         * lib/time_r.c, lib/time_r.h: New files.
70218
70219         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
70220         __localtime_r.
70221         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
70222         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
70223
70224         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
70225         __gmtime_r.
70226         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
70227         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
70228         Include <time_r.h>.
70229
70230         * lib/timegm.c: Switch to glibc implementation, with the following
70231         changes:
70232         [defined HAVE_CONFIG_H]: Include <config.h>.
70233         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
70234         (__mktime_internal) [!defined _LIBC]: New decl.
70235         (__gmtime_r) [!defined _LIBC]: New macro and function.
70236         (timegm): Use a prototype, since gnulib assumes C89.
70237         Do not bother declaring tmp to be const, as it's not really usefu.
70238         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
70239         (timegm): Declare only if HAVE_DECL_TIMEGM.
70240
70241 2003-09-06  Paul Eggert  <eggert@twinsun.com>
70242
70243         * MODULES.html.sh (func_all_modules): Add time_r.
70244         * modules/time_r: New file.
70245         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
70246         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
70247
70248 2003-09-03  Paul Eggert  <eggert@twinsun.com>
70249
70250         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
70251         Bug reported by Lute Kamstra in
70252         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
70253
70254         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
70255         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
70256         course with correspondingly smaller numbers for tomorrow and
70257         yesterday.  From Tadayoshi Funaba.  Originally installed into
70258         sh-utils on 1999-08-07, but the patch got lost (I guess during the
70259         coreutils merge?).
70260
70261 2003-08-31  Simon Josefsson  <jas@extundo.com>
70262
70263         * modules/timegm: New file.
70264         * MODULES.html.sh (func_all_modules): Add timegm.
70265
70266 2003-08-31  Simon Josefsson  <jas@extundo.com>
70267
70268         * m4/timegm.m4: New file.
70269
70270 2003-08-31  Simon Josefsson  <jas@extundo.com>
70271
70272         * lib/timegm.h: New file.
70273         * lib/timegm.c: New file.  Based on
70274         wget-1.8.2/src/http.c:mktime_from_utc.
70275
70276 2003-08-31  Karl Berry  <karl@gnu.org>
70277
70278         * lib/argp.h: update from libc.
70279
70280 2003-08-28  Bruno Haible  <bruno@clisp.org>
70281
70282         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
70283         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
70284         followed by '#define fnmatch fnmatch_posix' gives an error.
70285
70286 2003-08-28  Bruno Haible  <bruno@clisp.org>
70287
70288         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
70289         warning on QNX, which defines O_BINARY to 000000.
70290
70291 2003-08-27  Jim Meyering  <jim@meyering.net>
70292
70293         * m4/mkstemp.m4: Require that the system mkstemp be able to create
70294         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
70295         would fail after 32.  Reported by Danny Levinson.  Details here:
70296         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
70297
70298 2003-08-24  Bruno Haible  <bruno@clisp.org>
70299
70300         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
70301         MSVC7 <stdio.h> is included later.
70302
70303 2003-08-22  Simon Josefsson  <jas@extundo.com>
70304
70305         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
70306
70307 2003-08-20  Karl Berry  <karl@gnu.org>
70308
70309         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
70310
70311 2003-08-20  Bruno Haible  <bruno@clisp.org>
70312
70313         * modules/progname: New file.
70314         * MODULES.html.sh (func_all_modules): Add progname.
70315
70316 2003-08-20  Bruno Haible  <bruno@clisp.org>
70317
70318         * lib/progname.h: New file, from GNU gettext.
70319         * lib/progname.c: New file, from GNU gettext.
70320         * lib/progreloc.c: New file, from GNU gettext.
70321
70322 2003-08-19  Jim Meyering  <jim@meyering.net>
70323
70324         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
70325         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
70326
70327 2003-08-19  Bruno Haible  <bruno@clisp.org>
70328
70329         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
70330         more.
70331
70332 2003-08-19  Bruno Haible  <bruno@clisp.org>
70333
70334         * lib/xstrdup.c: Assume <string.h> exists.
70335
70336 2003-08-18  Paul Eggert  <eggert@twinsun.com>
70337
70338         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
70339         in makefile rules.
70340
70341 2003-08-18  Jim Meyering  <jim@meyering.net>
70342
70343         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
70344         * m4/lib-ld.m4: Likewise.
70345
70346 2003-08-18  Jim Meyering  <jim@meyering.net>
70347
70348         * lib/setenv.h: Indent nested cpp directive.
70349         * lib/vasnprintf.c: Remove trailing blanks.
70350
70351 2003-08-17  Simon Josefsson  <jas@extundo.com>
70352
70353         * modules/xstrndup: New file.
70354         * MODULES.html.sh (func_all_modules): Add xstrndup.
70355
70356 2003-08-17  Simon Josefsson  <jas@extundo.com>
70357
70358         * modules/argp: Fix autoconf macro name. Add more dependencies.
70359
70360 2003-08-17  Simon Josefsson  <jas@extundo.com>
70361
70362         * m4/xstrndup.m4: New file.
70363
70364 2003-08-17  Simon Josefsson  <jas@extundo.com>
70365
70366         * m4/argp.m4: New file.
70367
70368 2003-08-17  Simon Josefsson  <jas@extundo.com>
70369             Bruno Haible  <bruno@clisp.org>
70370
70371         * lib/xstrndup.h: New file.
70372         * lib/xstrndup.c: New file.
70373
70374 2003-08-17  Bruno Haible  <bruno@clisp.org>
70375
70376         * modules/strndup (Files, Include): Add lib/strndup.h.
70377
70378 2003-08-17  Bruno Haible  <bruno@clisp.org>
70379
70380         * modules/euidaccess (Files): Add lib/euidaccess.h.
70381
70382 2003-08-17  Bruno Haible  <bruno@clisp.org>
70383
70384         * lib/strndup.h: New file.
70385
70386 2003-08-17  Bruno Haible  <bruno@clisp.org>
70387
70388         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
70389         like AC_GNU_SOURCE.
70390         * modules/extensions (configure.ac): Comment out the invocation of
70391         gl_USE_SYSTEM_EXTENSIONS.
70392
70393 2003-08-16  Paul Eggert  <eggert@twinsun.com>
70394
70395         Merges from coreutils, etc.
70396         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
70397         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
70398         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
70399         fixing a typo.
70400         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
70401         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
70402
70403 2003-08-16  Paul Eggert  <eggert@twinsun.com>
70404
70405         Document merge from coreutils.
70406         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
70407         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
70408         * modules/utime: Add m4/utimes-null.m4.
70409
70410 2003-08-16  Paul Eggert  <eggert@twinsun.com>
70411
70412         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
70413         space, undoing this 2003-08-12 change:
70414         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
70415
70416 2003-08-16  Paul Eggert  <eggert@twinsun.com>
70417
70418         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
70419         strtoul.c from libc, undoing this 2003-08-12 change:
70420         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
70421
70422 2003-08-16  Jim Meyering  <jim@meyering.net>
70423
70424         Merges from coreutils.
70425         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
70426         prefix.  Adjust cache variables similarly.  Create 500 rather than
70427         just 300 files, to exercise bug on Darwin6.5, too.
70428         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
70429         $missing_dir.
70430         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
70431         AM_SYS_POSIX_TERMIOS.
70432         Reported by mkc@mathdogs.com.
70433         Also change use of $am_cv_sys_posix_termios
70434         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
70435         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
70436         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
70437         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
70438         in /proc/mounts until it finds one with matching device number.  This
70439         is unnecessary when the FILE argument *is* a mount point.  No stat call
70440         is necessary in that case.  So, disable the statvfs-testing code on
70441         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
70442         as RedHat bug# 84846.
70443         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
70444         to 1MB, so as not to render systems with no stack size limit (e.g.,
70445         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
70446         Include <unistd.h>.  On some systems,
70447         it is required for the definition of _SC_PAGESIZE.
70448
70449 2003-08-16  Jim Meyering  <jim@meyering.net>
70450
70451         Merge from coreutils.
70452         * lib/xstrtoimax.c: #else #if -> #elif.
70453         * lib/xstrtoumax.c: Likewise.
70454
70455 2003-08-16  Jim Meyering  <jim@meyering.net>
70456
70457         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
70458         * m4/utimes.m4: Removed.
70459         * m4/utimes-null.m4: Renamed from utimes.m4.
70460
70461         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
70462         to 1MB, so as not to render systems with no stack size limit (e.g.,
70463         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
70464         Include <unistd.h>.  On some systems,
70465         it is required for the definition of _SC_PAGESIZE.
70466
70467 2003-08-16  Jim Meyering  <jim@meyering.net>
70468         and Paul Eggert  <eggert@cs.ucla.edu>
70469
70470         Merges from coreutils, etc.
70471
70472         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
70473         using the latest version from cvs.  This avoids problems with #line
70474         directives using a vendor (Sun) compiler.
70475         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
70476         Don't set GETGROUPS_LIB here; now it's
70477         done via getgroups.m4's wrapper function.
70478         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
70479         rather than just in sh-util/configure.in, so that the
70480         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
70481         same.
70482         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
70483         AC_FUNC_GETLOADAVG where to find getloadavg.c.
70484         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
70485         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
70486         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
70487         Remove code that is now done by the newly-required macros.
70488         Append $(EXEEXT) to DF_PROG.
70489         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
70490         Do not invoke or require the following here,
70491         since prereq.m4 or some gnulib .m4 now does this for us:
70492         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
70493         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
70494         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
70495         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
70496         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
70497         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
70498         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
70499         AC_FUNC_OBSTACK.
70500         Do not replace the following functions, as this is now the job
70501         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
70502         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
70503         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
70504         atexit getpass, strdup, getpagesize.
70505         Replace 'raise'.
70506         Do not check for the following functions, as this is now the job
70507         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
70508         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
70509         setregid.
70510         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
70511         Check for sys/sysctl.h.
70512         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
70513         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
70514         of checking for ssize_t ourselves.
70515
70516         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
70517         Require every macro that gnulib/modules/* suggests for us.
70518         (jm_PREREQ_ADDEXT): New macro.
70519         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
70520         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
70521
70522         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
70523         (gl_PHYSMEM): Use it.
70524         Also check for `table' function.
70525         Check for new headers and functions.
70526         Add check for sys/sysmp.h.
70527         With suggestions from Kaveh Ghazi.
70528         Ignore headers that are present but cannot be compiled.  This
70529         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
70530         C 5.4.
70531
70532 2003-08-15  Paul Eggert  <eggert@twinsun.com>
70533
70534         Document merge from coreutils.
70535         * modules/userspec: Depend on posixver.
70536         * modules/strftime: Depend on tzset.
70537
70538 2003-08-15  Paul Eggert  <eggert@twinsun.com>
70539
70540         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
70541         rather than tab, after '#' in shell-script copyright notices.
70542         Suggested by Bruno Haible.
70543
70544 2003-08-15  Paul Eggert  <eggert@twinsun.com>
70545
70546         * config/srclist-update: Use three spaces, rather than tab, after '#'
70547         in shell-script copyright notices.  Suggested by Bruno Haible.
70548         Remove unnecessary parenthesization in regular expression.
70549
70550 2003-08-15  Jim Meyering  <jim@meyering.net>
70551
70552         Merge from coreutils.
70553         * lib/xgethostname.c: Include <stdlib.h>.
70554         (xghostname): Don't exit for anything other than memory-related
70555         failure; just return NULL.
70556         * lib/userspec.c: Include "posixver.h".
70557         (parse_user_spec): Accept `.' as a separator only
70558         in pre-POSIX-200112 mode.
70559         * lib/strtoimax.c: Use #elif rather than #else #if.
70560         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
70561         Remove function, now that we can rely on a working tzset function.
70562         [!_LIBC]: Ensure that the required autoconf test has been run.
70563         [!defined _NL_CURRENT && HAVE_STRFTIME]:
70564         Use underlying_strftime for %r.
70565         * lib/sha.c: Merge in some clean-up and optimization changes from
70566         glibc.
70567         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
70568         Ensure that it is a multiple of 64.
70569         Rearrange loop exit tests so as to avoid performing an
70570         additional fread after encountering an error or EOF.
70571         * lib/realloc.c: Update copyright date.
70572
70573 2003-08-15  Jim Meyering  <jim@meyering.net>
70574         and Paul Eggert  <eggert@twinsun.com>
70575
70576         Merge from coreutils.
70577         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
70578         member but strut utmpx does not.  Needed for AIX 4.3.3.
70579         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
70580
70581 2003-08-15  Jim Meyering  <jim@meyering.net>
70582         and Paul Eggert  <eggert@cs.ucla.edu>
70583
70584         Merges from coreutils, etc.
70585         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
70586         Require gl_FUNC_TZSET_CLOBBER.
70587         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
70588         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
70589         members.
70590
70591 2003-08-14  Paul Eggert  <eggert@twinsun.com>
70592
70593         Help the merge from coreutils.
70594         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
70595         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
70596         * m4/tzset.m4: Use it too.
70597
70598 2003-08-14  Paul Eggert  <eggert@twinsun.com>
70599
70600         * modules/tzset: New file.
70601
70602 2003-08-14  Jim Meyering  <jim@meyering.net>
70603
70604         Merges from coreutils.
70605         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
70606         variable names, rather than @FNMATCH_H@.
70607         * modules/alloca: Likewise for $(ALLOCA_H).
70608
70609         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
70610         the three copies of the literal target, `fnmatch.h'.
70611         * modules/alloca (alloca.h): Likewise.
70612
70613 2003-08-14  Jim Meyering  <jim@meyering.net>
70614
70615         Merge from coreutils.
70616         * m4/tzset.m4: New file.
70617         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
70618         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
70619         otherwise, AIX 5.1 systems would end up using the latter.
70620         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
70621         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
70622         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
70623         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
70624
70625 2003-08-14  Jim Meyering  <jim@meyering.net>
70626
70627         Merge from coreutils.
70628         * lib/obstack.h: Whitespace changes.
70629         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
70630         and xcalloc return values.
70631         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
70632         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
70633         hang on OSF/1 5.1 for DIR on both local and remote file systems.
70634         Reported by (and fix confirmed by) Nelson H. F. Beebe.
70635         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
70636         error from mntctl.
70637         Use mntctl's return value to drive the entry-processing loop, since
70638         we can't rely on the value of the vmt_length member in the last
70639         entry.  On some systems doing so could result in exhausting
70640         virtual memory.  Based in part on a patch from Mike Jetzer.
70641
70642 2003-08-14  Jim Meyering  <jim@meyering.net>
70643         and Paul Eggert  <eggert@twinsun.com>
70644
70645         Merges from coreutils, plus other fixes.
70646         * lib/physmem.c: Merge in portability changes from gcc/libiberty
70647         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
70648         for credits and details.  Thanks to Kaveh Ghazi for helping
70649         to keep these files in sync.
70650         (ARRAY_SIZE): Define it.
70651         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
70652         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
70653         (memcasecmp): Don't assume size_t fits in unsigned int.
70654         Remove casts and duplicate code.
70655         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
70656         (memcpy): Remove definition.
70657         Merge in some clean-up and optimization changes from glibc.
70658         [BLOCKSIZE]: Move definition to top of file.
70659         Ensure that it is a multiple of 64.
70660         Rearrange loop exit tests so as to avoid performing an
70661         additional fread after encountering an error or EOF.
70662         * lib/md5.h (md5_uintptr): Define.
70663         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
70664         return to the initial working directory.  Preserve errno
70665         for caller.
70666         * lib/idcache.c: Include "xalloc.h".
70667         (xmalloc, xrealloc): Remove decls.
70668         (getuser): Remove casts no longer required in C89.
70669         * lib/human.c: Include stdio.h, for sprintf.
70670         * lib/group-member.c: Include "xalloc.h".
70671         (xmalloc, xrealloc): Remove decls.
70672         (get_group_info): Remove casts no longer required in C89.
70673         * lib/getusershell.c (readname): Remove casts no longer required in
70674         C89.
70675         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
70676         * lib/getline.c: Whitespace fix, from coreutils.
70677
70678 2003-08-13  Paul Eggert  <eggert@twinsun.com>
70679
70680         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
70681         Check for isascii.
70682
70683         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
70684         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
70685         Undo previous (whitespace-only) change.
70686
70687 2003-08-13  Paul Eggert  <eggert@twinsun.com>
70688
70689         * lib/exclude.c: Include <ctype.h>
70690         (IN_CTYPE_DOMAIN): New macro.
70691         (is_space): New fn.
70692         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
70693         and empty lines.
70694
70695         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
70696         Undo previous (whitespace-only) change.
70697
70698 2003-08-13  Paul Eggert  <eggert@twinsun.com>
70699
70700         * config/srclist-update: Change update back to the old behavior,
70701         leaving whitespace alone.  Use one 'sed' command rather than a
70702         pipeline.
70703         (fixlicense): Now a variable, not a function.
70704         (remove_trailing_blanks): Remove.
70705         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
70706         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
70707         Undo previous (whitespace-only) change.
70708
70709 2003-08-12  Paul Eggert  <eggert@twinsun.com>
70710
70711         Merge from coreutils.
70712         * modules/euidaccess: Add lib_SOURCES, include for new
70713         file euidaccess.h
70714
70715 2003-08-12  Paul Eggert  <eggert@twinsun.com>
70716
70717         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
70718         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
70719         Normalize leading white space and remove trailing white space.
70720
70721         Merge from coreutils
70722         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
70723
70724         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
70725         0.12.1.  These files are now being upgraded automatically by
70726         ../config/srclist-update.
70727
70728 2003-08-12  Paul Eggert  <eggert@twinsun.com>
70729
70730         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
70731         Normalize leading white space and remove trailing white space.
70732         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
70733         notice, as per ../config/srclist-update.
70734
70735         Merge from coreutils.
70736         * lib/euidaccess.h: New file.
70737         * lib/euidaccess.c: Include it.
70738         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
70739         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
70740         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
70741
70742 2003-08-12  Paul Eggert  <eggert@twinsun.com>
70743
70744         * config/srclist-update: Add copyright notice.
70745         (remove_id_lines, remove_trailing_blanks): New constants.
70746         (fixfile): Use them to normalize spacing a bit in copied files.
70747         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
70748         Normalize leading white space and remove trailing white space.
70749
70750         * config/texinfo.tex: Sync with texinfo.
70751
70752         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
70753         strtoul.c from libc, to merge coreutils whitespace changes.
70754
70755         * config/srclist.txt: Get the following m4 files from gettext:
70756         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
70757         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
70758         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
70759         wint_t.m4.
70760
70761 2003-08-12  Karl Berry  <karl@gnu.org>
70762
70763         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
70764         been made.
70765
70766 2003-08-11  Paul Eggert  <eggert@twinsun.com>
70767
70768         * modules/gnu-source, m4/gnu-source.m4:
70769         Remove; we're assuming Autoconf 2.54 or later now.
70770         Suggested by Bruno Haible.
70771         * MODULES.html.sh (func_all_modules): Remove gnu-source.
70772
70773 2003-08-11  Bruno Haible  <bruno@clisp.org>
70774
70775         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
70776
70777 2003-08-11  Bruno Haible  <bruno@clisp.org>
70778
70779         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
70780         (vasnprintf): Use it instead of wcslen.
70781
70782 2003-08-11  Bruno Haible  <bruno@clisp.org>
70783
70784         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
70785         value to ensure that _Bool promotes to int. Use #define for _Bool when
70786         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
70787
70788 2003-08-10  Karl Berry  <karl@gnu.org>
70789
70790         * lib/regex.h: update from libc (whitespace fix).
70791
70792 2003-08-09  Paul Eggert  <eggert@twinsun.com>
70793
70794         Merge some files from coreutils.  These changes were
70795         originally made by Jim Meyering.
70796         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
70797         many older Unixes require this.
70798         * lib/alloca.c (alloca): Remove cast to argument of free;
70799         no longer needed in C89.
70800         * lib/alloca_.h, regex.h: Fix white space to match
70801         what GNU indent does.
70802
70803 2003-08-09  Paul Eggert  <eggert@twinsun.com>
70804
70805         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
70806         apparently Emacs's Unicode mode got confused before my 2003-08-05
70807         checkin.
70808
70809 2003-08-08  Paul Eggert  <eggert@twinsun.com>
70810
70811         * m4/extensions.m4: New file.
70812         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
70813         Require gl_USE_SYSTEM_EXTENSIONS.
70814         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
70815         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
70816
70817 2003-08-08  Paul Eggert  <eggert@twinsun.com>
70818
70819         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
70820         * modules/extensions, modules/gnu-source: New files.
70821         * modules/timespec, modules/unlocked-io: Depend on extensions.
70822
70823 2003-08-07  Paul Eggert  <eggert@twinsun.com>
70824
70825         * modules/restrict: New file.
70826         * MODULES.html.sh (func_all_modules): Add restrict.
70827         * modules/regex: Depend on restrict.
70828
70829 2003-08-07  Paul Eggert  <eggert@twinsun.com>
70830
70831         * m4/restrict.m4: New file.
70832         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
70833
70834 2003-08-07  Bruno Haible  <bruno@clisp.org>
70835
70836         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
70837         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
70838
70839 2003-08-07  Bruno Haible  <bruno@clisp.org>
70840
70841         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
70842         makes the module 'getndelim2' compatible with the module 'getline'.
70843
70844 2003-08-05  Paul Eggert  <eggert@twinsun.com>
70845
70846         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
70847         byte with "\201" to avoid glitches when editing that source file
70848         with multi-gnome-terminal.
70849
70850 2003-08-05  Paul Eggert  <eggert@twinsun.com>
70851
70852         * lib/bumpalloc.h: Remove.
70853
70854 2003-08-05  Paul Eggert  <eggert@twinsun.com>
70855
70856         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
70857         * modules/bumpalloc: Remove.
70858
70859 2003-08-04  Paul Eggert  <eggert@twinsun.com>
70860
70861         * lib/getloadavg.c: Change copyright notice and spacing to conform to
70862         GNU coding style.
70863
70864         Merge from coreutils.
70865         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
70866         1. From glibc.
70867         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
70868         from Karl Berry, implemented by Jim Meyering.
70869         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
70870         from Dmitry V. Levin.
70871         Remove anachronistic cast of xrealloc.
70872         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
70873         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
70874         type. Otherwise, it wouldn't compile with at least /bin/cc on
70875         ymp-cray-unicos9.0.2.X.
70876         Combine two mostly-identical uses of alloca into one.
70877         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
70878
70879 2003-08-04  Dave Love  <d.love@dl.ac.uk>
70880
70881         [From Emacs.]
70882
70883         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
70884         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
70885         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
70886         obsolete NLIST_NAME_UNION.
70887         [__GNU__]: Undef BSD and FSCALE.
70888         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
70889
70890 2003-08-03  Paul Eggert  <eggert@twinsun.com>
70891
70892         * lib/stdbool_.h (_Bool): Make it signed char, instead of
70893         an enum type, so that it's guaranteed to promote to int.  See:
70894         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
70895
70896 2003-08-03  Karl Berry  <karl@gnu.org>
70897
70898         * config/depcomp: update from automake.
70899
70900 2003-07-31  Paul Eggert  <eggert@twinsun.com>
70901
70902         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
70903         (strerror): Don't assume that a printable int fits in 14 bytes.
70904
70905 2003-07-31  Bruno Haible  <bruno@clisp.org>
70906
70907         * modules/getpass-gnu: New file.
70908         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
70909
70910 2003-07-31  Bruno Haible  <bruno@clisp.org>
70911
70912         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
70913
70914 2003-07-24  Karl Berry  <karl@gnu.org>
70915
70916         * config/missing: update from automake.
70917
70918 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
70919             Bruno Haible  <bruno@clisp.org>
70920
70921         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
70922         * lib/getline.c (getline, getdelim): Likewise.
70923         Remove _GNU_SOURCE define; now it's defined in config.h through
70924         m4/getline.m4.
70925
70926 2003-07-23  Karl Berry  <karl@gnu.org>
70927
70928         * config/config.sub: update from prep.
70929
70930 2003-07-22  Paul Eggert  <eggert@twinsun.com>
70931
70932         * modules/xalloc (Depends-on): Add exitfail.
70933         * modules/xmemcoll: Likewise.
70934
70935 2003-07-22  Paul Eggert  <eggert@twinsun.com>
70936
70937         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
70938         over-parenthesization in macros.
70939
70940         Sync with coreutils.
70941
70942         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
70943         required by C99.
70944
70945         Use `exit_failure' for xalloc and xmemcoll instead of their own
70946         private exit-failure variables.
70947         * lib/xalloc.h (xalloc_exit_failure): Remove.
70948         * lib/xmalloc.c: Likewise.  Include exitfail.h.
70949         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
70950         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
70951         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
70952         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
70953
70954 2003-07-20  Jim Meyering  <jim@meyering.net>
70955
70956         * modules/closeout (Depends-on): Add exitfail.
70957         Suggestion from Bruno Haible.
70958
70959 2003-07-19  Karl Berry  <karl@gnu.org>
70960
70961         * config/config.sub: update from prep.
70962
70963 2003-07-18  Paul Eggert  <eggert@twinsun.com>
70964
70965         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
70966         Remove.
70967         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
70968         to test that it can stand by itself.  Include "exitfail.h".
70969         Clients should set exit_failure instead.
70970         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
70971
70972 2003-07-18  Bruno Haible  <bruno@clisp.org>
70973
70974         * modules/getndelim2: New file.
70975         * modules/getline: Share files with module getndelim2.
70976         * modules/getnline: Depend on getndelim2 instead of sharing files with
70977         it. Add getnline.c to lib_SOURCES.
70978         * MODULES.html.sh (func_all_modules): Add getndelim2.
70979
70980 2003-07-18  Bruno Haible  <bruno@clisp.org>
70981
70982         * m4/getndelim2.m4: New file.
70983         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
70984         invoke gl_PREREQ_GETNDELIM2.
70985         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
70986         gl_PREREQ_GETNDELIM2.
70987         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
70988         gl_GETNDELIM2.
70989
70990 2003-07-18  Bruno Haible  <bruno@clisp.org>
70991
70992         * lib/getndelim2.h: New file.
70993         * lib/getndelim2.c: Make into a module of its own. Include config.h,
70994         getndelim2.h.
70995         (getndelim2): Make non-static. Change return type to ssize_t.
70996         * lib/getline.h: Change argument names.
70997         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
70998         * lib/getnline.c: Include getndelim2.h.
70999
71000 2003-07-18  Andreas Schwab  <schwab@suse.de>
71001
71002         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
71003
71004 2003-07-17  Karl Berry  <karl@gnu.org>
71005
71006         * config/config.sub: update from prep.
71007
71008 2003-07-17  Bruno Haible  <bruno@clisp.org>
71009
71010         * modules/getnline: New file.
71011         * modules/getline: Add lib/getndelim2.c to source file list.
71012         * MODULES.html.sh (func_all_modules): Add getnline.
71013
71014 2003-07-17  Bruno Haible  <bruno@clisp.org>
71015
71016         * m4/getnline.m4: New file.
71017
71018 2003-07-17  Bruno Haible  <bruno@clisp.org>
71019
71020         * m4/Makefile.am.in: Remove file.
71021         * m4/Makefile.am: Remove file.
71022         * m4/Makefile.in: Remove file.
71023
71024 2003-07-17  Bruno Haible  <bruno@clisp.org>
71025
71026         * lib/getnline.h: New file.
71027         * lib/getnline.c: New file.
71028         * lib/getndelim2.c: New file, extracted from getline.c.
71029         (getndelim2): Renamed from getdelim2, with added nmax argument.
71030         * lib/getline.c: Include getndelim2.c.
71031         (getdelim2): Moved out to getndelim2.c.
71032         (getline, getdelim): Update.
71033
71034 2003-07-17  Bruno Haible  <bruno@clisp.org>
71035
71036         * lib/Makefile.am: Remove file.
71037         * lib/Makefile.in: Remove file.
71038
71039 2003-07-17  Bruno Haible  <bruno@clisp.org>
71040
71041         * configure.in: Remove file.
71042         * Makefile.in: Remove file.
71043
71044 2003-07-17  Bruno Haible  <bruno@clisp.org>
71045
71046         * MODULES.html.sh: Put the </BODY> right before </HTML>.
71047
71048 2003-07-16  Karl Berry  <karl@gnu.org>
71049
71050         * config/srclist-update: was running fixlicense twice, which caused
71051                 texinfo.tex to be nullified for some reason.  Simplify,
71052                 $gplsrc is no longer needed as far as I can see?
71053
71054 2003-07-16  Jim Meyering  <jim@meyering.net>
71055
71056         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
71057
71058 2003-07-15  Paul Eggert  <eggert@twinsun.com>
71059
71060         * config/srclist.txt: Get the following files from gettext-runtime/intl
71061         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
71062         ref-del.sin.  From Bruno Haible.
71063         * config/srclist-update (fixfile): Change grep pattern again, since the
71064         previous fix didn't work (there was another trailing $).  Use
71065         '[$]' to escape the $s.
71066
71067 2003-07-15  Karl Berry  <karl@gnu.org>
71068
71069         * lib/vasnprintf.c: update from gettext.
71070
71071 2003-07-15  Karl Berry  <karl@gnu.org>
71072
71073         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
71074         gets expanded when surrounded by '$'.
71075
71076 2003-07-15  Jim Meyering  <jim@meyering.net>
71077
71078         * modules/save-cwd: Don't depend on error.  From Derek Price.
71079
71080 2003-07-15  Jim Meyering  <jim@meyering.net>
71081
71082         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
71083
71084 2003-07-14  Simon Josefsson  <jas@extundo.com>
71085
71086         * modules/mempcpy: New file.
71087         * MODULES.html.sh (func_all_modules): Add mempcpy.
71088
71089 2003-07-14  Simon Josefsson  <jas@extundo.com>
71090
71091         * m4/mempcpy.m4: New file.
71092
71093 2003-07-14  Simon Josefsson  <jas@extundo.com>
71094
71095         * lib/mempcpy.h: New file.
71096         * lib/mempcpy.c: New file.
71097
71098 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71099
71100         * modules/getdate, modules/posixtm: Depend on mktime.
71101
71102 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71103
71104         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
71105         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
71106         unicodeio.c, unicodeio.h, unlocked-io.h:
71107         Switch from LGPL to GPL.
71108
71109 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71110
71111         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
71112         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
71113         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
71114         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
71115         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
71116         updated automatically by ../config/srclist-update.  This changes
71117         their license from LPGL to GPL.
71118
71119 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71120
71121         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
71122         assumed to refer to the root of the most recent stable gettext version.
71123         * config/srclistvars.sh: Add defaults for eggert.
71124         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
71125         Match "This program" as well as "The program".  This is needed
71126         for gettext.
71127
71128 2003-07-14  Jim Meyering  <jim@meyering.net>
71129
71130         Don't emit diagnostics.  Let callers do that.
71131         * lib/save-cwd.c: Don't include "error.h".
71132         (save_cwd): Don't call error.  Ensure that errno is valid
71133         when returning nonzero.
71134
71135         * lib/save-cwd.h (restore_cwd): Update prototype.
71136         * lib/save-cwd.c (restore_cwd): Remove two parameters.
71137         Simplify.  Don't call error upon failure.  Let callers do that.
71138         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
71139         when auditing is enabled.  But don't bother updating the #if.
71140
71141 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
71142
71143         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
71144         it breaks C++ compilation.
71145         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
71146
71147 2003-07-10  Simon Josefsson  <jas@extundo.com>
71148
71149         * modules/strchrnul (Makefile.am): Add strchrnul.h.
71150
71151 2003-07-10  Jim Meyering  <jim@meyering.net>
71152
71153         * m4/clock_time.m4: Remove trailing blank.
71154         * m4/intmax_t.m4: Likewise.
71155
71156 2003-07-10  Jim Meyering  <jim@meyering.net>
71157
71158         * lib/vasnprintf.c: Remove trailing blanks.
71159         Make cpp indentation consistent.
71160
71161 2003-07-09  Paul Eggert  <eggert@twinsun.com>
71162
71163         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
71164         posixver.c, strftime.c, strnlen.c, strverscmp.c:
71165         Switch from LGPL to GPL.
71166
71167 2003-07-09  Paul Eggert  <eggert@twinsun.com>
71168
71169         * config/srclist.txt: Sort sublists.  Add
71170         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
71171         that differ from gnulib for one reason or another; we'd like this list
71172         to be smaller but for now let's document what we have.
71173
71174 2003-07-08  Paul Eggert  <eggert@twinsun.com>
71175
71176         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
71177         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
71178         and sweeter "eval x=$x".
71179         * config/srclist.txt: Get lib/argp* from glibc.
71180
71181 2003-07-07  Paul Eggert  <eggert@twinsun.com>
71182
71183         * lib/mktime.c: Fix some boundary cases and remove need for floating
71184         point.
71185
71186         Issue a compile-time diagnostic if time_t is floating point, or if
71187         two's complement arithmetic is not in effect, or if arithmetic
71188         right shift does not propagate the sign.  These assumptions were
71189         all in the original code but they weren't checked.
71190
71191         (TIME_T_MIDPOINT, verify): New macros.
71192         (__isleap): Remove; it has integer overflow problems.
71193         (leapyear): New function, without those problems.
71194         (ydhms_tm_diff): Remove; splitting into two parts.
71195         (ydhms_diff): New function, containing the arithmetic part of
71196         the old ydhms_tm_diff function.  Issue a compile-time
71197         diagnostic if we are not using C99 integer division.
71198         Avoid casts when possible.
71199         (guess_time_tm): New function, containing the checking part of
71200         the old ydhms_tm_diff function.  Return the new value, rather than
71201         the difference between it and the old.  Accept a new argument T
71202         so that *T specifies the old value.  Check for overflow in the result.
71203
71204         (__mktime_internal): Use a time_t offset, not a long int offset.
71205         This undoes the 2003-06-04 change, which is no longer needed now
71206         that we have better overflow checking.
71207         (localtime_offset): Likewise.
71208
71209         (__mktime_internal): Avoid harmful overflow on hosts where time_t
71210         and long are 64-bit but int is only 32-bit.
71211         (ydhms_diff): Use long int to store year1 and yday1.
71212         Issue a compile-time diagnostic if long int is not wide enough.
71213
71214         (__mktime_internal): Use long int to store adjusted year and yday.
71215         Use plain C rather than preprocessor commands, if that doesn't
71216         affect efficiency.
71217         Check for overflow (and try to repair) after each probe
71218         rather than checking only at the very end.  This avoids some bugs
71219         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
71220         does not equal GMT offset at maximum time).
71221         Use integer to check for overflow rather than floating point; this
71222         is more portable to non-IEEE hosts, and is a tad faster.
71223         When we detect that we are oscillating between two values,
71224         don't check whether tm_isdst has the requested value, since
71225         we already know the answer.  When tm_isdst has the wrong value,
71226         use a different heuristic to find the right one, based on the
71227         extreme values actually observed in practice in tz2003a,
71228         rather than the (overly optimistic) "previous 3 calendar quarters".
71229
71230         (not_equal_tm, print_tm, check_result): Use "const T" rather than
71231         "T const" to accommodate glibc style.
71232         (check_result): Use less-confusing report format.  "long" -> "long int.
71233         (main): Likewise.
71234         Don't loop if the iteration overflows time_t.
71235         Allow a negative step in the iteration.
71236
71237 2003-07-06  Karl Berry  <karl@gnu.org>
71238
71239         * config/depcomp: update from automake.
71240         * config/config.sub: update from prep.
71241
71242 2003-07-03  Karl Berry  <karl@gnu.org>
71243
71244         * config/config.guess: update from prep.
71245
71246 2003-07-01  Paul Eggert  <eggert@twinsun.com>
71247
71248         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
71249         xreadlink.c now includes it unconditionally.
71250
71251 2003-07-01  Paul Eggert  <eggert@twinsun.com>
71252
71253         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
71254         having it depend on HAVE_SYS_TYPES_H.
71255
71256 2003-07-01  Bruno Haible  <bruno@clisp.org>
71257
71258         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
71259         <sys/types.h> should be sufficient.
71260         Reported by Paul Eggert.
71261
71262 2003-06-26  Karl Berry  <karl@gnu.org>
71263
71264         * config/depcomp: update from automake.
71265
71266 2003-06-26  Bruno Haible  <bruno@clisp.org>
71267
71268         * modules/human: Depend on module stdbool.
71269
71270 2003-06-25  Bruno Haible  <bruno@clisp.org>
71271
71272         * modules/readlink: New file.
71273         * modules/xreadlink: Depend on it.
71274         * MODULES.html.sh (func_all_modules): Add readlink.
71275
71276 2003-06-25  Bruno Haible  <bruno@clisp.org>
71277
71278         * m4/readlink.m4: New file.
71279
71280 2003-06-25  Bruno Haible  <bruno@clisp.org>
71281
71282         * lib/readlink.c: New file.
71283
71284 2003-06-22  Karl Berry  <karl@gnu.org>
71285
71286         * config/srclist.txt: update mkinstalldirs from automake.
71287         * config/mkinstalldirs: update.
71288
71289 2003-06-22  Bruno Haible  <bruno@clisp.org>
71290
71291         Portability to mingw32.
71292         * m4/ssize_t.m4: New file, from GNU gettext.
71293         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
71294         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
71295
71296 2003-06-22  Bruno Haible  <bruno@clisp.org>
71297
71298         * modules/safe-read: Add m4/ssize_t.m4.
71299         * modules/xreadlink: Add m4/ssize_t.m4.
71300
71301 2003-06-20  Bruno Haible  <bruno@clisp.org>
71302
71303         Assume C89, so PARAMS isn't needed.
71304         * lib/unicodeio.h (PARAMS): Remove.
71305         * lib/unicodeio.c: Don't use PARAMS.
71306
71307 2003-06-18  Karl Berry  <karl@gnu.org>
71308
71309         * config/config.{guess,sub}: update from prep.
71310
71311 2003-06-18  Jim Meyering  <jim@meyering.net>
71312
71313         Merge changes from coreutils.
71314         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
71315         Remove explicit declarations of xmalloc and realloc.
71316         Include xalloc.h.
71317         (read_utmp): Remove anachronistic cast of xmalloc.
71318
71319 2003-06-17  Paul Eggert  <eggert@twinsun.com>
71320
71321         Assume C89, so PARAMS isn't needed.
71322         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
71323         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
71324         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
71325         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
71326         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
71327         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
71328         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
71329         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
71330         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
71331         lib/xstrtod.h, lib/xstrtol.h: Likewise.
71332         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
71333         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
71334         no longer needed. Anyway, config.h should always be included before any
71335         other file.
71336
71337 2003-06-11  Simon Josefsson  <jas@extundo.com>
71338
71339         * modules/sysexits: New file.
71340         * MODULES.html.sh (func_all_modules): Add sysexits.
71341
71342 2003-06-11  Simon Josefsson  <jas@extundo.com>
71343
71344         * lib/sysexit_.h: New file.
71345
71346 2003-06-11  Derek Price  <derek@ximbiot.com>
71347
71348         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
71349         necessary.
71350
71351 2003-06-11  Bruno Haible  <bruno@clisp.org>
71352
71353         * m4/sysexits.m4: New file.
71354
71355 2003-06-10  Simon Josefsson  <jas@extundo.com>
71356
71357         * lib/argp.h: New file, from glibc.
71358         * lib/argp-ba.c: New file, from glibc.
71359         * lib/argp-eexst.c: New file, from glibc.
71360         * lib/argp-fmtstream.c: New file, from glibc.
71361         * lib/argp-fmtstream.h: New file, from glibc.
71362         * lib/argp-fs-xinl.c: New file, from glibc.
71363         * lib/argp-help.c: New file, from glibc.
71364         * lib/argp-namefrob.h: New file, from glibc.
71365         * lib/argp-parse.c: New file, from glibc.
71366         * lib/argp-pv.c: New file, from glibc.
71367         * lib/argp-pvh.c: New file, from glibc.
71368         * lib/argp-xinl.c: New file, from glibc.
71369
71370 2003-06-10  Simon Josefsson  <jas@extundo.com>
71371
71372         * modules/strchrnul: New file.
71373
71374 2003-06-10  Simon Josefsson  <jas@extundo.com>
71375
71376         * modules/argp: New file.
71377
71378 2003-06-10  Simon Josefsson  <jas@extundo.com>
71379
71380         * m4/strchrnul.m4: New file.
71381
71382 2003-06-10  Simon Josefsson  <jas@extundo.com>
71383
71384         * lib/strchrnul.h: New file.
71385         * lib/strchrnul.c: New file.
71386
71387 2003-06-10  Bruno Haible  <bruno@clisp.org>
71388
71389         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
71390
71391 2003-06-07  Karl Berry  <karl@gnu.org>
71392
71393         * config/config.{guess,sub}: update from prep.
71394
71395 2003-06-07  Jim Meyering  <jim@meyering.net>
71396
71397         * modules/strtod: Use $(...) notation, not @...@ for
71398         AC_REPLACE'd variables.
71399         * modules/localcharset: Likewise.
71400
71401 2003-06-07  Jim Meyering  <jim@meyering.net>
71402
71403         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
71404         in place of my name in the copyright comment.
71405         Remove definition and uses of __P.
71406
71407         From coreutils.
71408         * lib/stat.c: Don't declare xmalloc explicitly.
71409         Instead, include "xalloc.h".
71410         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
71411         xrealloc, and xcalloc return values.
71412         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
71413         Improve comment.
71414         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
71415
71416 2003-06-07  Bruno Haible  <bruno@clisp.org>
71417
71418         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
71419         avoid AC_CONFIG_LINKS.
71420         * modules/fnmatch (Makefile.am): Use explicit creation rule for
71421         fnmatch.h, to avoid AC_CONFIG_LINKS.
71422         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
71423
71424 2003-06-07  Bruno Haible  <bruno@clisp.org>
71425
71426         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
71427         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
71428         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
71429         directory.
71430         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
71431         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
71432         directory.
71433
71434 2003-06-06  Jim Meyering  <jim@meyering.net>
71435
71436         Merge from coreutils.
71437         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
71438         Consolidate declarations and initializations of *_base* locals.
71439
71440         Merge from coreutils.
71441         This avoids a core dump on systems without GNU putenv,
71442         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
71443         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
71444         (unsetenv): New static function, from GNU libc.
71445         (rpl_putenv): Use it.
71446
71447         * lib/modechange.c: Remove trailing blanks.
71448
71449         Merge from coreutils.
71450         * lib/fsusage.c: Remove declaration of statfs.
71451         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
71452
71453         * lib/posixtm.c: Include <stdbool.h> unconditionally.
71454
71455 2003-06-06  Jim Meyering  <jim@meyering.net>
71456
71457         * lib/stdbool_.h: Renamed from stdbool.h.in.
71458
71459 2003-06-06  Jim Meyering  <jim@meyering.net>
71460             Bruno Haible  <bruno@clisp.org>
71461
71462         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
71463         Adjust Makefile.am snippet not to redirect directly to target.
71464         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
71465
71466 2003-06-05  Paul Eggert  <eggert@twinsun.com>
71467
71468         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
71469         mismatch, look in future quarters as well as past.  This fixes a
71470         bug when processing fall-backwards gaps immediately after a long
71471         period of daylight-saving time.
71472
71473         * lib/mktime.c: Assume freestanding C89 or better.
71474         (HAVE_LIMITS_H): Remove.  Assume it's 1.
71475         (__P): Remove; not used.
71476         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
71477         (mktime, not_equal_tm, print_tm, check_result,
71478         main): Use prototypes.  Use const * where appropriate.
71479         (main): Fix typo in testing code that uncovered by above changes.
71480         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
71481
71482 2003-06-04  Paul Eggert  <eggert@twinsun.com>
71483
71484         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
71485         locale.h, localeconv.  This merges changes from coreutils.
71486
71487         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
71488         It can be removed after the next Autoconf is released.
71489         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
71490         needed.
71491
71492 2003-06-04  Paul Eggert  <eggert@twinsun.com>
71493
71494         * lib/mktime.c: Fix Debian bug 177940
71495         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
71496         (localtime_offset): Now long int, not time_t, because we want it
71497         to be guaranteed to be signed.  All uses changed.
71498         (__mktime_internal): If overflow would occur when adding offset,
71499         don't add it.
71500
71501         Merge 'human' changes from coreutils.  Rewrite to support
71502         locale-specific notations like thousands separators.
71503         * lib/human.c: Simplify authorship notice.
71504         Include human.h immediately after config.h.
71505         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
71506         <limits.h>: Do not include, since human.h does.
71507         (SIZE_MAX, UINTMAX_MAX): New macros.
71508         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
71509         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
71510         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
71511         (power_letter): Renamed from suffixes.
71512         (generate_suffix_backwards): Remove.
71513         (adjust_value): Now takes int style (because of human.h changes)
71514         and long double value (for greater precision on some platforms).
71515         (group_number): New function.
71516         (human_readable): Use it.  Use integer options, not enum.
71517         Put the options before the sizes in the arg list.
71518         Support all the new options.
71519         The old human_readable function has been removed;
71520         use inttostr.h instead.
71521         (human_readable, default_block_size, humblock):
71522         Use uintmax_t, not int, for block sizes.
71523         (human_readable_inexact, block_size_types): Remove.
71524         (block_size_opts): New constant.
71525         (human_options): Renamed from human_block_size, with new signature
71526         that allows block sizes up to UINTMAX_MAX.  All callers changed.
71527         * lib/human.h: Add copyright and authorship notice.
71528         Include <limits.h> and <stdbool.h> unconditionally.
71529         (PARAMS): Remove.  All uses removed.
71530         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
71531         (enum human_inexact_style): Remove tag; now a nameless enum.
71532         (human_floor, human_ceiling, human_round_to_even): Now have
71533         values 2, 0, 1 rather than -1, 1, 0.
71534         (human_group_digits, human_suppress_point_zero, human_autoscale,
71535         human_base_1024, human_SI, human_B): New constants.
71536         (human_readable_inexact, human_block_size): Remove.
71537         (human_readable): Size args are now uintmax_t, not int.
71538         (human_options): New decl.
71539
71540         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
71541         unnecessary now that we assume C89 or better.  This change
71542         imported from coreutils.
71543
71544         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
71545         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
71546         in the 2003-05-30 sync from glibc.
71547
71548         .h files should stand alone, but we shouldn't include <sys/types.h>
71549         if we can get away with just <stddef.h>.
71550
71551         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
71552         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
71553         rather than <sys/types.h>, as we merely need size_t.
71554         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
71555         to get size_t.
71556         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
71557         Include <stdio.h>, to get FILE.
71558         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
71559         memcasecmp.h has included <stddef.h> and all we need is size_t.
71560         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
71561         our interface, instead of including <sys/types.h>
71562
71563 2003-06-04  Paul Eggert  <eggert@twinsun.com>
71564
71565         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
71566         now, as glibc mktime is buggy on non-glibc systems.
71567
71568 2003-06-03  Karl Berry  <karl@gnu.org>
71569
71570         * config/config.sub: update from prep.
71571
71572 2003-06-02  Paul Eggert  <eggert@twinsun.com>
71573
71574         [from coreutils]
71575         Fix some minor time-related bugs with POSIX time arguments.
71576         Some valid time stamps were being rejected (notably -1, and
71577         time stamps before 1900 on 64-bit hosts).  And some invalid
71578         time stamps were being accepted, e.g. September 31.
71579
71580         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
71581         that we can return (time_t) -1 successfully.
71582         * lib/posixtm.c: Likewise.
71583         [HAVE_STDBOOL_H]: Include <stdbool.h>.
71584         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
71585         (t): Remove static var.
71586         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
71587         of static var.  All uses changed.
71588         (year): Do not reject years before 1900; they can occur with
71589         64-bit time_t.
71590         (posix_time_parse): Do not check for out-of-range components;
71591         that is now the caller's responsibility, since our checks were
71592         only approximations.
71593         (posixtime): Use mktime to check for out-of-range components,
71594         since it knows them exactly.
71595         If mktime returns (time_t) -1, check whether an error actually occurred
71596         by invoking localtime on -1.
71597         (main) [TEST_POSIXTIME]: Check for input data errors, and report
71598         posixtime failures better.
71599         Improve the test data (in comments only).
71600
71601 2003-06-02  Karl Berry  <karl@gnu.org>
71602
71603         * config/mkinstalldirs (version): new variable.
71604         (--version): new option.
71605         (usage): improve message.
71606
71607 2003-05-30  Karl Berry  <karl@gnu.org>
71608
71609         * lib/mktime.c: update from libc.
71610
71611 2003-05-30  Bruno Haible  <bruno@clisp.org>
71612
71613         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
71614         * config/config.rpath: Upgrade to gettext-0.12.1.
71615
71616 2003-05-30  Bruno Haible  <bruno@clisp.org>
71617
71618         * m4/gettext.m4: Upgrade to gettext-0.12.1.
71619         * m4/nls.m4: New file, from gettext-0.12.1.
71620         * m4/po.m4: New file, from gettext-0.12.1.
71621         * m4/progtest.m4: Upgrade to gettext-0.12.1.
71622
71623 2003-05-30  Bruno Haible  <bruno@clisp.org>
71624
71625         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
71626         * lib/localcharset.h: Likewise.
71627         * lib/localcharset.c: Likewise.
71628
71629 2003-05-29  Karl Berry  <karl@gnu.org>
71630
71631         * config/config.rpath: update from gettext.
71632
71633 2003-05-28  Paul Eggert  <eggert@twinsun.com>
71634
71635         Assume the headers required for C89 freestanding compilers.
71636         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
71637         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
71638         * m4/human.m4 (gl_HUMAN): Likewise.
71639         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
71640         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
71641         * m4/userspec.m4 (gl_USERSPEC): Likewise.
71642         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
71643         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
71644         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
71645
71646 2003-05-28  Paul Eggert  <eggert@twinsun.com>
71647
71648         Assume the headers required for C89 freestanding compilers.
71649         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
71650         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
71651         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
71652         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
71653         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
71654         define, since <limits.h> is guaranteed to do that.
71655         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
71656         * lib/exclude.c: Include <stdbool.h> unconditionally.
71657         * lib/tempname.c: Include <stddef.h> unconditionally.
71658         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
71659         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
71660         <stddef.h> does that.
71661         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
71662         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
71663         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
71664         needed.
71665         * lib/xstrtol.c: Likewise.
71666         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
71667         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
71668
71669         * lib/addext.c (addext): Use assignment rather than cast, to avoid
71670         warnings on some platforms.
71671
71672         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
71673         arbitrarily.
71674
71675 2003-05-26  Jim Meyering  <jim@meyering.net>
71676
71677         Merge in a change from coreutils:
71678         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
71679         that is guaranteed to be `no'.  Use `no_such_member' to indicate
71680         that condition, rather than `-1' which is slightly misleading.
71681         Change the name of the cache variable to have the gl_ prefix.
71682         Prompted by a patch from Richard Dawe for DJGPP.
71683
71684 2003-05-24  Karl Berry  <karl@gnu.org>
71685
71686         * config/config.guess: update from prep.
71687
71688 2003-05-22  Karl Berry  <karl@gnu.org>
71689
71690         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
71691
71692 2003-05-20  Karl Berry  <karl@gnu.org>
71693
71694         * config/config.guess: update from prep.
71695
71696 2003-05-18  Karl Berry  <karl@gnu.org>
71697
71698         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
71699         might actually be set by the user.
71700
71701         * config/depcomp, install-sh, mdate-sh: update from automake.
71702
71703 2003-05-17  Bruno Haible  <bruno@clisp.org>
71704
71705         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
71706         invalid expansion for AC_EGREP_CPP.
71707         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
71708         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
71709         Suggested by Akim Demaille <akim@epita.fr> in
71710         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
71711
71712 2003-05-12  Jim Meyering  <jim@meyering.net>
71713
71714         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
71715         the space-padded-by-default conversion specifiers, %e, %k, %l.
71716
71717 2003-05-12  Bruno Haible  <bruno@clisp.org>
71718
71719         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
71720         the string is longer than 4 KB.
71721
71722 2003-05-11  Karl Berry  <karl@gnu.org>
71723
71724         * config/config.{guess,sub}: update from prep.
71725
71726 2003-05-09  Bruno Haible  <bruno@clisp.org>
71727
71728         * modules/error: Add m4/strerror_r.m4 to file list.
71729
71730 2003-05-03  Bruno Haible  <bruno@clisp.org>
71731
71732         Upgrade to Unicode-4.0.
71733         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
71734         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
71735         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
71736         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
71737         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
71738         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
71739         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
71740         Change width of U+E0100..U+E01EF from 1 to 0.
71741
71742 2003-04-25  Jim Meyering  <jim@meyering.net>
71743
71744         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
71745         of type size_t, not int.
71746
71747 2003-04-25  Bruno Haible  <bruno@clisp.org>
71748
71749         * lib/copy-file.c: Include <stddef.h>, for size_t.
71750
71751 2003-04-21  Paul Eggert  <eggert@twinsun.com>
71752
71753         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
71754         code which expansion is under static control.  Patch imported from
71755         Akim Demaille's patch to Bison; see
71756         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
71757
71758 2003-04-14  Bruno Haible  <bruno@clisp.org>
71759
71760         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
71761
71762 2003-04-11  Jim Meyering  <jim@meyering.net>
71763
71764         Merge changes from Coreutils.
71765
71766         2003-03-22  Jim Meyering  <jim@meyering.net>
71767
71768         * lib/strftime.c (widen): Cast alloca return value to proper type.
71769
71770         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
71771
71772         From GNU libc.
71773         * lib/strftime.c (my_strftime): Handle very large width
71774         specifications for numeric values correctly.  Improve checks for
71775         overflow.
71776
71777         2003-01-19  Jim Meyering  <jim@meyering.net>
71778
71779         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
71780         definitions.
71781         (nl_get_alt_digit) [! defined my_strftime]: Define.
71782         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
71783         _nl_get_alt_digit and _nl_get_walt_digit.
71784
71785         * lib/strftime.c (my_strftime): Merge in locale-related changes from
71786         libc. These changes have no effect outside of _LIBC.
71787
71788 2003-04-10  Bruno Haible  <bruno@clisp.org>
71789
71790         * modules/findprog: New file.
71791         * MODULES.html.sh (func_all_modules): Add it.
71792
71793 2003-04-10  Bruno Haible  <bruno@clisp.org>
71794
71795         * m4/findprog.m4: New file.
71796         * m4/eaccess.m4: New file.
71797
71798 2003-04-10  Bruno Haible  <bruno@clisp.org>
71799
71800         * lib/findprog.h: New file, from GNU gettext.
71801         * lib/findprog.c: New file, from GNU gettext.
71802
71803 2003-04-05  Jim Meyering  <jim@meyering.net>
71804
71805         Merge changes from Coreutils.
71806
71807         * lib/exclude.h (PARAMS): Remove definition and uses.
71808         * lib/exclude.c: Remove uses of `PARAMS'.
71809
71810         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
71811         Add test-cases for DOS filenames. Declare program_name.
71812         (main): Set up program_name.  Patch by Rich Dawe.
71813
71814         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
71815         error from mntctl.
71816         Use mntctl's return value to drive the entry-processing loop, since
71817         we can't rely on the value of the vmt_length member in the last
71818         entry.  On some systems doing so could result in exhausting
71819         virtual memory.  Based in part on a patch from Mike Jetzer.
71820
71821 2003-04-04  Bruno Haible  <bruno@clisp.org>
71822
71823         * modules/linebreak: New file.
71824         * MODULES.html.sh (func_all_modules): Add it.
71825
71826 2003-04-04  Bruno Haible  <bruno@clisp.org>
71827
71828         * m4/linebreak.m4: New file.
71829
71830 2003-04-04  Bruno Haible  <bruno@clisp.org>
71831
71832         * lib/linebreak.h: New file, from GNU gettext.
71833         * lib/linebreak.c: New file, from GNU gettext with slight
71834         modifications.
71835         * lib/lbrkprop.h: New file, from GNU gettext.
71836
71837 2003-04-03  Bruno Haible  <bruno@clisp.org>
71838
71839         * modules/utf8-ucs4: New file.
71840         * modules/utf16-ucs4: New file.
71841         * modules/ucs4-utf8: New file.
71842         * modules/ucs4-utf16: New file.
71843         * MODULES.html.sh (func_all_modules): Add them.
71844
71845 2003-04-03  Bruno Haible  <bruno@clisp.org>
71846
71847         * m4/utf-ucs4.m4: New file.
71848         * m4/ucs4-utf.m4: New file.
71849
71850 2003-04-03  Bruno Haible  <bruno@clisp.org>
71851
71852         * lib/utf8-ucs4.h: New file, from GNU gettext.
71853         * lib/utf16-ucs4.h: New file, from GNU gettext.
71854         * lib/ucs4-utf8.h: New file, from GNU gettext.
71855         * lib/ucs4-utf16.h: New file, from GNU gettext.
71856
71857 2003-04-02  Bruno Haible  <bruno@clisp.org>
71858
71859         * modules/binary-io: New file.
71860         * MODULES.html.sh (func_all_modules): Add it.
71861
71862 2003-04-02  Bruno Haible  <bruno@clisp.org>
71863
71864         * lib/binary-io.h: New file, from GNU gettext.
71865
71866 2003-04-01  Bruno Haible  <bruno@clisp.org>
71867
71868         * modules/pathname: New file.
71869         * MODULES.html.sh (func_all_modules): Add it.
71870
71871 2003-04-01  Bruno Haible  <bruno@clisp.org>
71872
71873         * lib/pathname.h: New file, from GNU gettext.
71874         * lib/concatpath.c: New file, from GNU gettext.
71875
71876 2003-03-30  Bruno Haible  <bruno@clisp.org>
71877
71878         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
71879
71880 2003-03-30  Bruno Haible  <bruno@clisp.org>
71881
71882         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
71883         function chown() doesn't exist.
71884
71885 2003-03-28  Bruno Haible  <bruno@clisp.org>
71886
71887         * modules/copy-file: New file.
71888         * MODULES.html.sh (func_all_modules): Add it.
71889
71890 2003-03-28  Bruno Haible  <bruno@clisp.org>
71891
71892         * m4/copy-file.m4: New file.
71893
71894 2003-03-28  Bruno Haible  <bruno@clisp.org>
71895
71896         * lib/copy-file.h: New file, from GNU gettext.
71897         * lib/copy-file.c: New file, from GNU gettext.
71898
71899 2003-03-18  Jim Meyering  <jim@meyering.net>
71900
71901         * lib/quote.c (quote_n): Fix typo in comment.
71902
71903 2003-03-18  Bruno Haible  <bruno@clisp.org>
71904
71905         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
71906         checking.
71907         * m4/onceonly_2_57.m4: Likewise.
71908
71909 2003-03-17  Bruno Haible  <bruno@clisp.org>
71910
71911         * m4/onceonly.m4: Require autoconf 2.54 or newer.
71912         (m4_quote): Remove macro.
71913         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
71914
71915 2003-03-14  Jim Meyering  <jim@meyering.net>
71916
71917         Merge changes from Coreutils.
71918         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
71919         to be const, in order to avoid warnings.
71920         (obstack_room): Likewise.
71921         (obstack_empty_p): Likewise.
71922
71923 2003-03-14  Bruno Haible  <bruno@clisp.org>
71924
71925         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
71926         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
71927
71928 2003-03-13  Paul Eggert  <eggert@twinsun.com>
71929
71930         Merge changes from Bison.
71931         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
71932         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
71933         when compiling Bison 1.875's `bitset bset = obstack_alloc
71934         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
71935         * lib/hash.c: Include <stdbool.h> unconditionally.
71936
71937 2003-03-13  Paul Eggert  <eggert@twinsun.com>
71938
71939         * m4/onceonly.m4 (m4_quote): New macro.
71940         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
71941         Quote AC_FOREACH variable-expansions properly.
71942
71943 2003-03-13  Paul Eggert  <eggert@twinsun.com>
71944
71945         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
71946
71947 2003-03-09  Paul Eggert  <eggert@twinsun.com>
71948
71949         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
71950         Reported by Bruce Becker; see:
71951         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
71952
71953 2003-03-03  Paul Eggert  <eggert@twinsun.com>
71954             Bruno Haible  <bruno@clisp.org>
71955
71956         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
71957         Reported by John Hughes, see
71958         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
71959
71960 2003-02-20  Bruno Haible  <bruno@clisp.org>
71961
71962         * MODULES.html.sh (func_all_modules): Add poll.
71963
71964 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
71965
71966         * modules/poll: New file.
71967
71968 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
71969
71970         * lib/poll_.h: New file.
71971         * lib/poll.c: New file.
71972
71973 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
71974
71975         * m4/poll.m4: New file.
71976
71977 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
71978
71979         * modules/mathl: New file.
71980
71981 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
71982
71983         * lib/mathl.h: New file.
71984         * lib/acosl.c: New file.
71985         * lib/asinl.c: New file.
71986         * lib/atanl.c: New file.
71987         * lib/ceill.c: New file.
71988         * lib/cosl.c: New file.
71989         * lib/expl.c: New file.
71990         * lib/floorl.c: New file.
71991         * lib/frexpl.c: New file.
71992         * lib/ldexpl.c: New file.
71993         * lib/logl.c: New file.
71994         * lib/sincosl.c: New file.
71995         * lib/sinl.c: New file.
71996         * lib/sqrtl.c: New file.
71997         * lib/tanl.c: New file.
71998         * lib/trigl.c: New file.
71999         * lib/trigl.h: New file.
72000
72001 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
72002
72003         * m4/mathl.m4: New file.
72004
72005 2003-02-18  Bruno Haible  <bruno@clisp.org>
72006
72007         * MODULES.html.sh (func_all_modules): Add mathl.
72008
72009 2003-02-17  Bruno Haible  <bruno@clisp.org>
72010
72011         * modules/mkdtemp: New module.
72012         * MODULES.html.sh (func_all_modules): Add it.
72013
72014 2003-02-17  Bruno Haible  <bruno@clisp.org>
72015
72016         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
72017
72018 2003-02-17  Bruno Haible  <bruno@clisp.org>
72019
72020         * lib/mkdtemp.h: New file, from GNU gettext.
72021         * lib/mkdtemp.c: New file, from GNU gettext.
72022
72023 2003-02-02  Jim Meyering  <jim@meyering.net>
72024
72025         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
72026         e.g. glibc-2.2.93.
72027
72028 2003-01-31  Bruno Haible  <bruno@clisp.org>
72029
72030         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
72031         'rpl_rename'.
72032         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
72033         'rpl_strnlen'.
72034         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
72035         'rpl_strtod'.
72036         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
72037         'rpl_utime'.
72038
72039 2003-01-31  Bruno Haible  <bruno@clisp.org>
72040
72041         * lib/rename.c: #undef rename before defining rpl_rename.
72042         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
72043
72044 2003-01-30  Bruno Haible  <bruno@clisp.org>
72045
72046         * modules/vasnprintf, modules/vasprintf: New modules.
72047         * MODULES.html.sh (func_all_modules): Add them.
72048
72049 2003-01-30  Bruno Haible  <bruno@clisp.org>
72050
72051         * m4/signed.m4: New file, from GNU gettext.
72052         * m4/longdouble.m4: New file, from GNU gettext.
72053         * m4/wchar_t.m4: New file, from GNU gettext.
72054         * m4/wint_t.m4: New file, from GNU gettext.
72055         * m4/vasnprintf.m4: New file.
72056         * m4/vasprintf.m4: New file.
72057
72058 2003-01-30  Bruno Haible  <bruno@clisp.org>
72059
72060         * lib/printf-args.h: New file, from GNU gettext.
72061         * lib/printf-args.c: New file, from GNU gettext.
72062         * lib/printf-parse.h: New file, from GNU gettext.
72063         * lib/printf-parse.c: New file, from GNU gettext.
72064         * lib/vasnprintf.h: New file, from GNU gettext.
72065         * lib/vasnprintf.c: New file, from GNU gettext.
72066         * lib/asnprintf.c: New file, from GNU gettext.
72067         * lib/vasprintf.h: New file, from GNU gettext with modifications.
72068         * lib/vasprintf.c: New file, from GNU gettext.
72069         * lib/asprintf.c: New file, from GNU gettext.
72070
72071 2003-01-29  Bruno Haible  <bruno@clisp.org>
72072
72073         * modules/stpncpy: New module.
72074         * MODULES.html.sh (func_all_modules): Add it.
72075
72076 2003-01-29  Bruno Haible  <bruno@clisp.org>
72077
72078         * m4/stpncpy.m4: New file.
72079
72080 2003-01-29  Bruno Haible  <bruno@clisp.org>
72081
72082         * lib/stpncpy.h: New file, from GNU gettext with modifications.
72083         * lib/stpncpy.c: New file, from GNU gettext with modifications.
72084
72085 2003-01-28  Bruno Haible  <bruno@clisp.org>
72086
72087         * modules/c-ctype: New module.
72088         * MODULES.html.sh (func_all_modules): Add it.
72089
72090 2003-01-28  Bruno Haible  <bruno@clisp.org>
72091
72092         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
72093         Paul Eggert.
72094         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
72095         Paul Eggert.
72096
72097 2003-01-27  Bruno Haible  <bruno@clisp.org>
72098
72099         * modules/xsetenv: New module.
72100         * MODULES.html.sh (func_all_modules): Add it.
72101
72102 2003-01-27  Bruno Haible  <bruno@clisp.org>
72103
72104         * lib/xsetenv.h: New file, from GNU gettext.
72105         * lib/xsetenv.c: New file, from GNU gettext.
72106
72107 2003-01-23  Jim Meyering  <jim@meyering.net>
72108
72109         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
72110         from working on systems without dirfd (at least Irix and OSF1/Tru64).
72111
72112 2003-01-23  Bruno Haible  <bruno@clisp.org>
72113
72114         * modules/minmax: New module.
72115         * MODULES.html.sh (func_all_modules): Add it.
72116
72117 2003-01-23  Bruno Haible  <bruno@clisp.org>
72118
72119         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
72120         Eggert.
72121
72122 2003-01-22  Bruno Haible  <bruno@clisp.org>
72123
72124         * modules/exit: New module.
72125         * MODULES.html.sh (func_all_modules): Add it.
72126
72127 2003-01-22  Bruno Haible  <bruno@clisp.org>
72128
72129         * lib/exit.h: New file, from GNU gettext.
72130
72131 2003-01-19  Bruno Haible  <bruno@clisp.org>
72132
72133         * gnulib-tool: Recognize option --extract-maintainer.
72134         (func_get_maintainer): New function.
72135         * modules/*: Add Maintainer entry.
72136
72137 2003-01-16  Jim Meyering  <jim@meyering.net>
72138
72139         * m4/regex.m4: The `regex' struct is both input and output.
72140         Initialize it before each use.  Patch by Tim Waugh.
72141
72142 2003-01-16  Bruno Haible  <bruno@clisp.org>
72143
72144         * MODULES.html.sh: Add a table of contents. Add the module name as
72145         leftmost column. Add hyperlinks.
72146
72147 2003-01-15  Bruno Haible  <bruno@clisp.org>
72148
72149         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
72150
72151 2003-01-15  Bruno Haible  <bruno@clisp.org>
72152
72153         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
72154         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
72155         suffix.
72156
72157 2003-01-15  Bruno Haible  <bruno@clisp.org>
72158
72159         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
72160
72161 2003-01-15  Bruno Haible  <bruno@clisp.org>
72162
72163         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
72164         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
72165
72166 2003-01-14  Jim Meyering  <jim@meyering.net>
72167
72168         * lib/same.c (same_name): Tweak a comment.
72169
72170 2003-01-14  Bruno Haible  <bruno@clisp.org>
72171
72172         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
72173         when a string comparison is sufficient.
72174
72175 2003-01-14  Bruno Haible  <bruno@clisp.org>
72176
72177         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
72178         'unsigned int'.
72179
72180 2003-01-14  Bruno Haible  <bruno@clisp.org>
72181
72182         * lib/hash-pjw.c: Add comment about low quality of this function.
72183
72184 2003-01-13  Bruno Haible  <bruno@clisp.org>
72185
72186         * modules/stpcpy: Distribute lib/stpcpy.h.
72187         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
72188
72189 2003-01-13  Bruno Haible  <bruno@clisp.org>
72190
72191         * modules/*: Add a description.
72192         * modules/strpbrk: Fix Makefile.am snippet.
72193         * modules/strtoimax: Fix dependencies.
72194         * modules/strtoumax: Likewise.
72195
72196 2003-01-13  Bruno Haible  <bruno@clisp.org>
72197
72198         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
72199         * modules/alloca (Makefile.am): All object files depend on alloca.h.
72200         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
72201
72202 2003-01-13  Bruno Haible  <bruno@clisp.org>
72203
72204         * gnulib-tool (func_create_testdir): Store config/* files in the main
72205         directory.
72206         * config.rpath: Move to ...
72207         * config/config.rpath: ... here.
72208         * modules/gettext: Contains config/config.rpath, not config.rpath.
72209         * modules/iconv: Likewise.
72210
72211 2003-01-12  Paul Eggert  <eggert@twinsun.com>
72212
72213         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
72214         to avoid collisions with libcurses and libreadline.
72215
72216         * m4/getstr.m4: Remove.
72217         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
72218
72219 2003-01-12  Paul Eggert  <eggert@twinsun.com>
72220
72221         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
72222         to avoid collisions with libcurses and libreadline.
72223
72224         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
72225         * lib/getstr.h, getstr.c: Remove.
72226         * lib/getline.c: Include "getline.h", to check interface.
72227         Move body of old getstr.c here: this defines MIN_CHUNK and
72228         declares getdelim2, which is renamed from getstr.
72229         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
72230
72231         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
72232         All uses changed.
72233         * lib/linebuffer.h: Likewise.
72234         (readline): Remove backward-compatibility macro.
72235
72236 2003-01-12  Paul Eggert  <eggert@twinsun.com>
72237
72238         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
72239         to avoid collisions with libcurses and libreadline.
72240         * getstr: Remove.
72241         * MODULES.html.sh: Remove getstr.
72242         * modules/getline: Depend on unlocked-io, not getstr.
72243
72244 2003-01-12  Jim Meyering  <jim@meyering.net>
72245
72246         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
72247
72248 2003-01-10  Bruno Haible  <bruno@clisp.org>
72249
72250         * modules/alloca: Change Makefile.am requirements. Simplify Include
72251         requirements. Add lib/alloca_.h to file list.
72252
72253 2003-01-10  Bruno Haible  <bruno@clisp.org>
72254
72255         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
72256
72257 2003-01-10  Bruno Haible  <bruno@clisp.org>
72258
72259         * lib/alloca_.h: New file.
72260         * lib/getdate.y: Unconditionally include alloca.h.
72261         * lib/makepath.c: Likewise.
72262         * lib/setenv.c: Likewise.
72263         * lib/userspec.c: Likewise.
72264
72265 2003-01-09  Karl Berry  <karl@gnu.org>
72266
72267         * MODULES.html.sh: include `dirname $0` in PATH, to find
72268         gnulib-tool.
72269
72270 2003-01-09  Bruno Haible  <bruno@clisp.org>
72271
72272         * modules/stdbool: Change configure.ac, Makefile.am requirements.
72273         Simplify Include requirements. Add lib/stdbool.h.in to file list.
72274
72275 2003-01-09  Bruno Haible  <bruno@clisp.org>
72276
72277         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
72278
72279 2003-01-09  Bruno Haible  <bruno@clisp.org>
72280
72281         * lib/stdbool.h.in: New file.
72282
72283 2003-01-09  Bruno Haible  <bruno@clisp.org>
72284
72285         * gnulib-tool (func_all_modules): Ignore files ending in ~.
72286         * MODULES.html.sh: Likewise.
72287
72288 2003-01-08  Jim Meyering  <jim@meyering.net>
72289
72290         * lib/full-write.c: Undefine and define-away `const' after inclusion
72291         of errno.h, not before.  Suggestion from Bruno Haible.
72292
72293 2003-01-08  Bruno Haible  <bruno@clisp.org>
72294
72295         * modules/full-read: Depend on full-write.
72296
72297 2003-01-08  Bruno Haible  <bruno@clisp.org>
72298
72299         * lib/safe-read.c: Include specification header first, to ensure its
72300         selfcontainedness.
72301         * lib/full-write.c: Likewise.
72302
72303 2003-01-07  Jim Meyering  <jim@meyering.net>
72304
72305         * lib/full-write.c: Rework so that it may serve to define full_read,
72306         too.
72307         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
72308
72309 2003-01-07  Bruno Haible  <bruno@clisp.org>
72310
72311         * lib/strtoimax.c: Include <stdint.h> as an alternative to
72312         <inttypes.h>.
72313         * lib/xstrtol.h: Likewise.
72314         * lib/xstrtoimax.c: Likewise.
72315         * lib/xstrtoumax.c: Likewise.
72316         * lib/human.h: Likewise.
72317
72318         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
72319         on systems that have <inttypes.h> but not <stdint.h>.
72320
72321 2003-01-07  Bruno Haible  <bruno@clisp.org>
72322
72323         * MODULES.html.sh: Add copyright notice.
72324         (missed_files): Omit CVS directory entries.
72325         (func_module): Make it work with sed-3.02.
72326         * MODULES.txt: Remove file.
72327
72328 2003-01-06  Jim Meyering  <jim@meyering.net>
72329
72330         * lib/version-etc.c: Update year in translatable copyright string.
72331
72332 2003-01-03  Karl Berry  <karl@gnu.org>
72333
72334         * config/config.{guess,sub}: update from prep.
72335
72336 2003-01-02  Karl Berry  <karl@gnu.org>
72337
72338         * doc/COPYING.DOC: belatedly updated to 1.2.
72339
72340 2003-01-01  Karl Berry  <karl@gnu.org>
72341
72342         * gnulib-tool (func_verify_module): report module name $module in
72343         error message, not $1.
72344         * gnulib-tool (create-testdir): don't complain if destdir couldn't
72345         be created, only if it doesn't exist.
72346         * gnulib-tool (last_checkin_date): don't expand the $Date here.
72347
72348 2002-12-31  Paul Eggert  <eggert@twinsun.com>
72349
72350         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
72351
72352 2002-12-31  Paul Eggert  <eggert@twinsun.com>
72353
72354         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
72355         memcmp if strcoll doesn't work.
72356
72357 2002-12-31  Bruno Haible  <bruno@clisp.org>
72358
72359         * lib/utime.c (utime_null): No need to call ftruncate if the file was
72360         nonempty.
72361
72362 2002-12-31  Bruno Haible  <bruno@clisp.org>
72363
72364         * lib/memcoll.c (STRCOLL): New macro.
72365         (memcoll): Use it.
72366
72367 2002-12-31  Bruno Haible  <bruno@clisp.org>
72368
72369         * lib/localcharset.h: New file.
72370         * lib/localcharset.c: Include it.
72371         * lib/unicodeio.c: Likewise.
72372
72373 2002-12-31  Bruno Haible  <bruno@clisp.org>
72374
72375         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
72376         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
72377
72378 2002-12-31  Bruno Haible  <bruno@clisp.org>
72379
72380         * lib/getline.h: Include <stddef.h>, for size_t.
72381
72382         * lib/unicodeio.h: Include <stddef.h>, for size_t.
72383         * lib/unicodeio.c: Don't include <stddef.h>.
72384
72385 2002-12-31  Bruno Haible  <bruno@clisp.org>
72386
72387         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
72388         HAVE_TM_ZONE.
72389
72390 2002-12-24  Karl Berry  <karl@gnu.org>
72391
72392         * config/config.guess: update from prep.
72393
72394 2002-12-24  Bruno Haible  <bruno@clisp.org>
72395
72396         General infrasructure.
72397         * m4/README: Rewritten.
72398         * m4/onceonly.m4: New file.
72399         * m4/onceonly_2_57.m4: New file.
72400
72401         Module atexit.
72402         * m4/atexit.m4: New file.
72403
72404         Module strtod.
72405         * m4/strtod.m4: New file.
72406
72407         Module strtol.
72408         * m4/strtol.m4: New file.
72409
72410         Module strtoul.
72411         * m4/strtoul.m4: New file.
72412
72413         Module memchr.
72414         * m4/memchr.m4: New file.
72415
72416         Module memcmp.
72417         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
72418         (jm_FUNC_MEMCMP): Invoke it.
72419
72420         Module memcpy.
72421         * m4/memcpy.m4: New file.
72422
72423         Module memmove.
72424         * m4/memmove.m4: New file.
72425
72426         Module memset.
72427         * m4/memset.m4: New file.
72428
72429         Module strcspn.
72430         * m4/strcspn.m4: New file.
72431
72432         Module strpbrk.
72433         * m4/strpbrk.m4: New file.
72434
72435         Module strstr.
72436         * m4/strstr.m4: New file.
72437
72438         Module strerror.
72439         * m4/strerror.m4: New file.
72440
72441         Module mktime.
72442         * m4/mktime.m4: Renamed from jm-mktime.m4.
72443         (gl_PREREQ_MKTIME): New macro.
72444         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
72445
72446         Module malloc.
72447         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
72448         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
72449         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
72450
72451         Module realloc.
72452         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
72453         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
72454         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
72455
72456         Module strftime.
72457         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
72458         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
72459         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
72460         gl_TM_GMTOFF.
72461         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
72462
72463         Module xalloc.
72464         * m4/xalloc.m4: New file.
72465
72466         Module alloca.
72467         * m4/alloca.m4: New file.
72468
72469         Module putenv.
72470         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
72471         (jm_FUNC_PUTENV): Invoke it.
72472
72473         Module setenv.
72474         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
72475         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
72476         when invoked twice.
72477         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
72478         gt_FUNC_SETENV.
72479
72480         Module memrchr.
72481         * m4/memrchr.m4: New file.
72482
72483         Module stpcpy.
72484         * m4/stpcpy.m4: New file.
72485
72486         Module strcase.
72487         * m4/strcase.m4: New file.
72488
72489         Module strdup.
72490         * m4/strdup.m4: New file.
72491
72492         Module strnlen.
72493         * m4/strnlen.m4: New file.
72494
72495         Module strndup.
72496         * m4/strndup.m4: New file.
72497
72498         Module xstrtod.
72499         * m4/xstrtod.m4: New file.
72500
72501         Module xstrtol.
72502         * m4/xstrtol.m4: New file.
72503
72504         Module getdate.
72505         * m4/getdate.m4: New file.
72506
72507         Module unlocked-io.
72508         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
72509         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
72510         * m4/jm-glibc-io.m4n: Remove file.
72511
72512         Module long-options.
72513         * m4/long-options.m4: New file.
72514
72515         Module md5.
72516         * m4/md5.m4: New file.
72517
72518         Module sha.
72519         * m4/sha.m4: New file.
72520
72521         Module getstr.
72522         * m4/getstr.m4: New file.
72523
72524         Module getline.
72525         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
72526         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
72527         <sys/types.h>, for size_t. Use the function name gnu_getline, not
72528         simply getline. Infoke gl_PREREQ_GETLINE.
72529
72530         Module obstack.
72531         * m4/obstack.m4: New file.
72532
72533         Module hash.
72534         * m4/hash.m4: New file.
72535
72536         Module readtokens.
72537         * m4/readtokens.m4: New file.
72538
72539         Module strverscmp.
72540         * m4/strverscmp.m4: New file.
72541
72542         Module stdbool.
72543         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
72544         OSF/1.
72545
72546         Module strtoll.
72547         * m4/strtoll.m4: New file.
72548
72549         Module strtoull.
72550         * m4/strtoull.m4: New file.
72551
72552         Module strtoimax.
72553         * m4/strtoimax.m4: New file.
72554
72555         Module strtoumax.
72556         * m4/strtoumax.m4: New file.
72557
72558         Module xstrtoimax.
72559         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
72560         jm_AC_PREREQ_XSTRTOIMAX.
72561         Moved the strtol prerequisites to strtol.m4.
72562         Moved the strtoll prerequisites to strtoll.m4.
72563         Moved the strtoimax prerequisites to strtoimax.m4.
72564
72565         Module xstrtoumax.
72566         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
72567         jm_AC_PREREQ_XSTRTOUMAX.
72568         Moved the strtoul prerequisites to strtoul.m4.
72569         Moved the strtoull prerequisites to strtoull.m4.
72570         Moved the strtoumax prerequisites to strtoumax.m4.
72571
72572         Module chown.
72573         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
72574         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
72575
72576         Module dup2.
72577         * m4/dup2.m4: New file.
72578
72579         Module ftruncate.
72580         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
72581         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
72582
72583         Module getgroups.
72584         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
72585         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
72586
72587         Module gettimeofday.
72588         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
72589         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
72590         gl_PREREQ_GETTIMEOFDAY.
72591
72592         Module mkdir.
72593         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
72594         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
72595
72596         Module mkstemp.
72597         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
72598         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
72599         jm_AC_TYPE_UINTMAX_T.
72600         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
72601
72602         Module stat.
72603         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
72604         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
72605
72606         Module lstat.
72607         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
72608         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
72609
72610         Module timespec.
72611         * m4/timespec.m4 (gl_TIMESPEC): New macro.
72612         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
72613         * m4/st_mtim.m4: Indentation.
72614
72615         Module nanosleep.
72616         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
72617         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
72618         gl_PREREQ_NANOSLEEP.
72619
72620         Module regex.
72621         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
72622         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
72623         (gl_REGEX): New macro.
72624
72625         Module rename.
72626         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
72627         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
72628
72629         Module rmdir.
72630         * m4/rmdir.m4: New file.
72631
72632         Module utime.
72633         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
72634         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
72635         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
72636
72637         Module dirname.
72638         * m4/dirname.m4: New file.
72639
72640         Module getopt.
72641         * m4/getopt.m4: New file.
72642
72643         Module unistd-safer.
72644         * m4/unistd-safer.m4: New file.
72645
72646         Module fnmatch.
72647         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
72648         declaration.
72649         (gl_PREREQ_FNMATCH_EXTRA): New macro.
72650         (gl_FUNC_FNMATCH_POSIX): New macro.
72651         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
72652         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
72653         simply fnmatch.
72654
72655         Module exclude.
72656         * m4/exclude.m4: New file.
72657
72658         Module human.
72659         * m4/human.m4: New file.
72660
72661         Module acl.
72662         * m4/acl.m4: Nop.
72663
72664         Module backupfile.
72665         * m4/backupfile.m4: New file.
72666         * m4/d-ino.m4: Indentation.
72667
72668         Module fsusage.
72669         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
72670         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
72671         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
72672
72673         Module dirfd.
72674         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
72675         requirements.
72676
72677         Module euidaccess.
72678         * m4/euidaccess.m4: New file.
72679
72680         Module file-type.
72681         * m4/file-type.m4: New file.
72682
72683         Module fileblocks.
72684         * m4/fileblocks.m4: New file.
72685
72686         Module filemode.
72687         * m4/filemode.m4: New file.
72688
72689         Module isdir.
72690         * m4/isdir.m4: New file.
72691
72692         Module lchown.
72693         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
72694         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
72695
72696         Module makepath.
72697         * m4/makepath.m4: New file.
72698
72699         Module modechange.
72700         * m4/modechange.m4: New file.
72701
72702         Module mountlist.
72703         * m4/mountlist.m4: New file.
72704         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
72705         Indentation.
72706
72707         Module path-concat.
72708         * m4/path-concat.m4: New file.
72709
72710         Module pathmax.
72711         * m4/pathmax.m4: New file.
72712
72713         Module same.
72714         * m4/same.m4: New file.
72715
72716         Module save-cwd.
72717         * m4/save-cwd.m4: New file.
72718
72719         Module savedir.
72720         * m4/savedir.m4: New file.
72721
72722         Module xgetcwd.
72723         * m4/xgetcwd.m4: New file.
72724         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
72725
72726         Module xreadlink.
72727         * m4/xreadlink.m4: New file.
72728
72729         Module safe-read.
72730         * m4/safe-read.m4: New file.
72731
72732         Module safe-write.
72733         * m4/safe-write.m4: New file.
72734
72735         Module closeout.
72736         * m4/closeout.m4: New file.
72737
72738         Module stdio-safer.
72739         * m4/stdio-safer.m4: New file.
72740
72741         Module getpass.
72742         * m4/getpass.m4: New file.
72743
72744         Module getugroups.
72745         * m4/getugroups.m4: New file.
72746
72747         Module group-member.
72748         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
72749         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
72750
72751         Module idcache.
72752         * m4/idcache.m4: New file.
72753
72754         Module userspec.
72755         * m4/userspec.m4: New file.
72756
72757         Module gettime.
72758         * m4/clock_time.m4: New file.
72759         * m4/gettime.m4: New file.
72760
72761         Module settime.
72762         * m4/settime.m4: New file.
72763
72764         Module posixtm.
72765         * m4/posixtm.m4: New file.
72766
72767         Module gethostname.
72768         * m4/gethostname.m4: New file.
72769
72770         Module canon-host.
72771         * m4/canon-host.m4: New file.
72772
72773         Module gettext.
72774         * m4/codeset.m4: New file, from gettext-0.11.5.
72775         * m4/gettext.m4: New file, from gettext-0.11.5.
72776         * m4/glibc21.m4: New file, from gettext-0.11.5.
72777         * m4/iconv.m4: New file, from gettext-0.11.5.
72778         * m4/intdiv0.m4: New file, from gettext-0.11.5.
72779         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
72780         * m4/inttypes.m4: New file, from gettext-0.11.5.
72781         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
72782         * m4/isc-posix.m4: New file, from gettext-0.11.5.
72783         * m4/lcmessage.m4: New file, from gettext-0.11.5.
72784         * m4/lib-ld.m4: New file, from gettext-0.11.5.
72785         * m4/lib-link.m4: New file, from gettext-0.11.5.
72786         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
72787         * m4/progtest.m4: New file, from gettext-0.11.5.
72788         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
72789         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
72790         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
72791
72792         Module localcharset.
72793         * m4/localcharset.m4: New file.
72794
72795         Module hard-locale.
72796         * m4/hard-locale.m4: New file.
72797
72798         Module mbswidth.
72799         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
72800         onceonly macros.
72801         * m4/mbrtowc.m4: Add comment.
72802
72803         Module memcasecmp.
72804         * m4/memcasecmp.m4: New file.
72805
72806         Module memcoll.
72807         * m4/memcoll.m4: New file.
72808
72809         Module unicodeio.
72810         * m4/unicodeio.m4: New file.
72811
72812         Module rpmatch.
72813         * m4/rpmatch.m4: New file.
72814
72815         Module yesno.
72816         * m4/yesno.m4: New file.
72817
72818         Module exitfail.
72819         * m4/exitfail.m4: New file.
72820
72821         Module c-stack.
72822         * m4/c-stack.m4 (gl_C_STACK): New macro.
72823         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
72824
72825         Module error.
72826         * m4/error.m4 (gl_ERROR): New macro.
72827         (jm_PREREQ_ERROR): Use onceonly macros.
72828
72829         Module fatal.
72830         * m4/fatal.m4: New file.
72831
72832         Module getloadavg.
72833         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
72834         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
72835
72836         Module getpagesize.
72837         * m4/getpagesize.m4: New file.
72838
72839         Module getusershell.
72840         * m4/getusershell.m4: New file.
72841
72842         Module physmem.
72843         * m4/physmem.m4: New file.
72844
72845         Module posixver.
72846         * m4/posixver.m4: New file.
72847
72848         Module quotearg.
72849         * m4/quotearg.m4: New file.
72850
72851         Module quote.
72852         * m4/quote.m4: New file.
72853
72854         Module readutmp.
72855         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
72856
72857         Module sig2str.
72858         * m4/sig2str.m4: New file.
72859
72860         Other.
72861         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
72862         ulonglong.m4.
72863         * m4/intmax_t.m4: New file.
72864         * m4/d-type.m4: Indentation.
72865         * m4/jm-macros.m4: Update.
72866         * m4/prereq.m4 (jm_PREREQ): Update.
72867         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
72868         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
72869         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
72870         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
72871         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
72872         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
72873         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
72874         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
72875         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
72876         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
72877         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
72878         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
72879         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
72880         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
72881         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
72882         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
72883         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
72884         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
72885         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
72886
72887 2002-12-24  Bruno Haible  <bruno@clisp.org>
72888
72889         * MODULES.txt: Update according to m4/ changes.
72890
72891         Module gettext.
72892         * config.rpath: New file, from gettext-0.11.5.
72893
72894         * modules/*: New module descriptions.
72895         * gnulib-tool: New file.
72896         * MODULES.html.sh: New file.
72897
72898 2002-12-21  Karl Berry  <karl@gnu.org>
72899
72900         * doc/fdl.texi: update to version 1.2.
72901
72902 2002-12-19  Karl Berry  <karl@gnu.org>
72903
72904         * config/config.guess: update from prep.
72905
72906 2002-12-18  Bruno Haible  <bruno@clisp.org>
72907
72908         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
72909         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
72910
72911 2002-12-17  Bruno Haible  <bruno@clisp.org>
72912
72913         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
72914         stdlib.h, string.h.
72915
72916 2002-12-17  Bruno Haible  <bruno@clisp.org>
72917
72918         * lib/canon-host.c (strdup): Remove unused declaration.
72919
72920         * lib/fsusage.c: Include full_read.h.
72921         (get_fs_usage): Use full_read instead of safe_read.
72922
72923         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
72924
72925 2002-12-12  Karl Berry  <karl@gnu.org>
72926
72927         * config/config.guess: update from prep.
72928
72929 2002-12-11  Bruno Haible  <bruno@clisp.org>
72930
72931         * m4/setenv.m4: New file, from gettext-0.11.5.
72932
72933 2002-12-11  Bruno Haible  <bruno@clisp.org>
72934
72935         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
72936         not unsetenv().
72937         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
72938         modifications:
72939
72940         2002-12-11  Bruno Haible  <bruno@clisp.org>
72941
72942                 * setenv.c (alloca): Fall back to malloc.
72943                 (freea): New macro.
72944                 (setenv): Use freea() to free memory allocated with alloca().
72945
72946         2002-11-13  Bruno Haible  <bruno@clisp.org>
72947
72948                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
72949                 function declarations.
72950                 * unsetenv.c (unsetenv): Likewise.
72951
72952         2002-03-04  Bruno Haible  <bruno@clisp.org>
72953
72954                 Portability to AIX 4.3.3.
72955                 * unsetenv.c: New file, extracted from setenv.c.
72956                 * setenv.c: Move the unsetenv() function to unsetenv.c.
72957
72958         2001-12-20  Bruno Haible  <bruno@clisp.org>
72959
72960                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
72961                 use malloc instead. For SunOS 4.
72962
72963         2001-12-11  Bruno Haible  <bruno@clisp.org>
72964
72965                 * setenv.c: Declare alloca.
72966                 (compar_fn_t): New typedef.
72967                 (KNOWN_VALUE, STORE_VALUE): Use it.
72968
72969         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
72970         setenv.h.
72971
72972 2002-12-10  Paul Eggert  <eggert@twinsun.com>
72973
72974         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
72975         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
72976         Choose values that are less likely to collide with system fnmatch
72977         options.
72978         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
72979         defined (e.g., a pure POSIX system).
72980         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
72981         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
72982
72983 2002-12-06  Paul Eggert  <eggert@twinsun.com>
72984
72985         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
72986         a pain in practice to deal with generated m4 files.  This change
72987         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
72988
72989         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
72990         and jm-glibc-io.m4, as they are no longer a special case.
72991         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
72992         kludge and the auto-generation stuff.  Check only whether the
72993         functions are declared, not whether they exist, since older hosts
72994         that don't declare the functions can't use the optimization anyway.
72995
72996 2002-12-06  Jim Meyering  <jim@meyering.net>
72997
72998         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
72999
73000         Merge in changes from libc's misc/error.c, in preparation
73001         for the merge of gnulib's changes back into libc.
73002
73003         * lib/error.c (_): Define only if not already defined.
73004         Move definition to follow all #include directives.
73005         Include unlocked-io.h only if !_LIBC.
73006         [_LIBC]: Include <libio/libioP.h>.
73007         [USE_IN_LIBIO]: Include <libio/iolibio.h>
73008         (fflush): Tweak definition to use INTUSE.
73009         (putc): Define.
73010
73011 2002-12-05  Paul Eggert  <eggert@twinsun.com>
73012
73013         * lib/alloca.c [defined emacs]: Include "lisp.h".
73014         (xalloc_die) [defined emacs]: New macro.
73015         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
73016         [! defined emacs]: Include <xalloc.h>.
73017         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
73018         (pointer): Typedef to POINTER_TYPE *.
73019         (malloc): Remove decl; we now always use xmalloc.
73020         (alloca): Use old-style definition, since Emacs needs this.
73021         Check for arithmetic overflow when computing combined size.
73022
73023 2002-12-04  Paul Eggert  <eggert@twinsun.com>
73024
73025         Do not generate unlocked-io.h automatically, since it's easier to
73026         maintain it by hand.
73027
73028         * lib/unlocked-io.h: New file, from GNU diffutils,
73029         but with proper copyright notice and attribution.
73030         * lib/gen-uio: Remove.
73031         * lib/Makefile.am: Add copyright notice.
73032         (libfetish_a_SOURCES): Add unlocked-io.h.
73033         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
73034         (DISTCLEANFILES, io_functions): Remove macros.
73035         (EXTRA_DIST): Remove gen_uio.
73036         (unlocked-io.h): Remove rule.
73037
73038 2002-12-04  Jim Meyering  <jim@meyering.net>
73039
73040         Reflect the fact that stat.c and lstat.c are no longer generated.
73041         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
73042         (DISTCLEANFILES): Likewise.
73043         (EXTRA_DIST): Likewise.
73044         (all_local): Don't depend on stat.c or lstat.c.
73045         (stat.c, lstat.c): Remove rules.
73046         (EXTRA_DIST): Remove xstat.in.
73047
73048         * lib/xstat.in: Remove file.  Contents moved into stat.c.
73049         * lib/stat.c: New file.  Contents mostly from xstat.in.
73050         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
73051         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
73052
73053         * lib/safe-read.c: Rework so that it may serve to define safe_write,
73054         too.
73055         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
73056
73057 2002-12-03  Jim Meyering  <jim@meyering.net>
73058
73059         * lib/safe-read.c, safe-write.c: Change variable names and comments,
73060         but not semantics, to minimize the differences between these two files.
73061         (safe_read): Change comment to mention SAFE_READ_ERROR.
73062
73063         * lib/safe-read.c (IS_EINTR): Define.
73064         (safe_read): Use IS_EINTR in place of in-function cpp directives.
73065
73066 2002-12-02  Jim Meyering  <jim@meyering.net>
73067
73068         * lib/safe-read.c (EINTR): Define.
73069         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
73070         (INT_MAX): Provide fallback.
73071         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
73072
73073         * lib/safe-read.h (SAFE_READ_ERROR): Define.
73074
73075 2002-12-02  Bruno Haible  <bruno@clisp.org>
73076
73077         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
73078         Define, taken from safe-read.c.
73079         (INT_MAX): Provide fallback.
73080         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
73081         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
73082
73083         * lib/safe-read.c (EINTR): Remove definition.
73084         (safe_read): Don't use EINTR if it is absent.
73085
73086 2002-12-01  Jim Meyering  <jim@meyering.net>
73087
73088         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
73089         zero.
73090         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
73091
73092 2002-11-27  Paul Eggert  <eggert@twinsun.com>
73093
73094         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
73095         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
73096         with `if (! (value < limit)) abort ();', for readability.
73097
73098 2002-11-26  Karl Berry  <karl@gnu.org>
73099
73100         * lib/strdup.c: copy from libc again, with jim's ok.
73101         * lib/.cppi-disable: re-add strdup.c
73102
73103 2002-11-25  Karl Berry  <karl@gnu.org>
73104
73105         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
73106         instead of "strtol.c".
73107
73108 2002-11-25  Karl Berry  <karl@gnu.org>
73109
73110         * config/install-sh: update from automake for variable quoting, $0 in
73111         error msgs, etc.
73112
73113         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
73114         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
73115         entry.
73116
73117 2002-11-25  Jim Meyering  <jim@meyering.net>
73118
73119         * lib/mktime.c: Sync from libc, now that it has the latest fix.
73120
73121 2002-11-24  Karl Berry  <karl@gnu.org>
73122
73123         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
73124         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
73125
73126 2002-11-24  Jim Meyering  <jim@meyering.net>
73127
73128         Update from coreutils:
73129
73130         * lib/mktime.c: Merge in changes from libc.
73131
73132         Avoid a link-time failure on some Linux systems.
73133         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
73134         (otherwise).
73135         (__mon_yday): Declare with the STATIC attribute.
73136         (__mktime_internal): Likewise.
73137         Based on a report from Greg Schafer.
73138
73139 2002-11-23  Jim Meyering  <jim@meyering.net>
73140
73141         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
73142         Use `unsigned', not `int', as type of index.
73143
73144         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
73145
73146         * lib/fsusage.c: Remove unneeded parentheses around operands of
73147         `defined'.
73148
73149 2002-11-22  Paul Eggert  <eggert@twinsun.com>
73150
73151         * lib/quotearg.h: Allow multiple inclusion by surrounding with
73152         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
73153         so that we can be included first.
73154         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
73155         * lib/quotearg.c: Include quotearg.h immediately after config.h.
73156         No need to include stddef.h or sys/types.h any more.
73157         Surround local include files with "", not "<>".
73158         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
73159         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
73160         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
73161         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
73162         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
73163         (ISPRINT): Remove; no longer needed now that we assume C89.
73164
73165         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
73166         Preserve errno.
73167
73168         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
73169         quotearg_char): Use SIZE_MAX rather than
73170         (size_t) -1 when we are talking about "infinity".
73171
73172         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
73173
73174 2002-11-22  Paul Eggert  <eggert@twinsun.com>
73175
73176         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
73177         hint that one should use `if (! x) abort ();' rather than `assert
73178         (x);', and anyway it's one less thing to worry about configuring.
73179         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
73180         hash_rehash, hash_insert): Use abort rather than assert.
73181
73182 2002-11-22  Bruno Haible  <bruno@clisp.org>
73183
73184         * lib/safe-read.h: Assume C89. Add comments.
73185         (safe_read): Change return type to size_t.
73186         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
73187         byte counts > SSIZE_MAX correctly.
73188         * lib/safe-write.h: New file.
73189         * lib/safe-write.c: New file.
73190         * lib/full-read.h: New file.
73191         * lib/full-read.c: New file.
73192         * lib/full-write.h: Assume C89. Add comments.
73193         * lib/full-write.c: Include safe-write.h.
73194         (full_write): Rewritten to use safe_write.
73195         Suggested by Jim Meyering and Paul Eggert.
73196
73197 2002-11-21  Jim Meyering  <jim@meyering.net>
73198
73199         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
73200
73201         Merge in changes from the coreutils.
73202
73203         2002-09-25  Paul Eggert  <eggert@twinsun.com>
73204         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
73205         <stdint.h>.
73206         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
73207         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
73208         int.  Work more efficiently if X is the same width as uintmax_t.
73209         Do not compare X to -1, to avoid bogus compiler warning.
73210         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
73211         Don't assume that f_frsize and f_bsize are the same type.
73212
73213         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
73214         warning on FreeBSD.
73215
73216         * lib/makepath.c (make_path): Restore umask *before* creating the final
73217         component.
73218         (make_path): Minor reformatting.
73219
73220         * lib/xmalloc.c: Adjust to work with new autoconf macros,
73221         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
73222         HAVE_MALLOC/HAVE_REALLOC.
73223
73224         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
73225         dummy ones.  At least on GNU/Linux systems, `auto' means something
73226         else.
73227         From Michael Stone.
73228
73229 2002-11-21  Bruno Haible  <bruno@clisp.org>
73230
73231         Remove case insensitive option matching.
73232         * lib/argmatch.h (argcasematch): Remove declaration.
73233         (ARGCASEMATCH): Remove macro.
73234         (__xargmatch_internal): Remove case_sensitive argument.
73235         (XARGMATCH): Update.
73236         (XARGCASEMATCH): Remove macro.
73237         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
73238         case_sensitive argument.
73239         (argcasematch): Remove function.
73240         (__xargmatch_internal): Remove case_sensitive argument.
73241         (main): Use XARGMATCH instead of XARGCASEMATCH.
73242
73243         * lib/xmalloc.c: Change compile-time error message. Add comment about
73244         required autoconf version.
73245
73246 2002-11-20  Paul Eggert  <eggert@twinsun.com>
73247
73248         Merge argmatch cleanups from Bison.  Assume C89.
73249
73250         * lib/argmatch.c: Include config.h here, not in argmatch.h.
73251         Include stdlib.h, for EXIT_FAILURE.
73252         Always include <string.h>, since we assume C89.
73253         (EXIT_FAILURE): Remove pre-C89 bug workaround.
73254         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
73255         Include <stddef.h> instead, since it's all we need for size_t.
73256         (PARAMS): Remove.  All uses removed.
73257         (ARRAY_CARDINALITY): Do not bother to #undef.
73258         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
73259         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
73260         Remove unnecessary parentheses.
73261         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
73262         Insert necessary parentheses.
73263         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
73264         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
73265
73266 2002-11-19  Bruno Haible  <bruno@clisp.org>
73267
73268         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
73269         * lib/mbswidth.h: Include <stddef.h>, for size_t.
73270
73271         * lib/mbswidth.h (PARAMS): Remove macro.
73272         (mbswidth, mbsnwidth): Use ANSI C function declarations.
73273         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
73274
73275         * lib/gcd.h (PARAMS): Remove macro.
73276         (gcd): Use ANSI C function declarations.
73277         * lib/gcd.c (gcd): Likewise.
73278
73279 2002-11-15  Bruno Haible  <bruno@clisp.org>
73280
73281         * lib/strcspn.c: Include <stddef.h>.
73282         (strcspn): Use ANSI C function declaration. Change return type to
73283         size_t. Use NULL.
73284         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
73285         (strpbrk): Use NULL.
73286         * lib/strpbrk.h (PARAMS): Remove macro.
73287         (strpbrk): Use ANSI C function declaration.
73288         * lib/strstr.c: Don't include <sys/types.h>.
73289         * lib/strstr.h (PARAMS): Remove macro.
73290         (strstr): Use ANSI C function declarations.
73291
73292 2002-11-14  Karl Berry  <karl@gnu.org>
73293
73294         * config/mkinstalldirs: `do' on separate line, instead of
73295         `for var; do'.
73296
73297 2002-11-06  Bruno Haible  <bruno@clisp.org>
73298
73299         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
73300         * lib/gcd.c (gcd): Likewise.
73301
73302 2002-11-05  Bruno Haible  <bruno@clisp.org>
73303
73304         * lib/gcd.h: New file, from gettext-0.11.5.
73305         * lib/gcd.c: New file, from gettext-0.11.5.
73306
73307 2002-11-05  Bruno Haible  <bruno@clisp.org>
73308
73309         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
73310         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
73311         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
73312         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
73313
73314         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
73315         <libintl.h>.
73316         * lib/makepath.c: Include gettext.h instead of <locale.h> and
73317         <libintl.h>.
73318
73319         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
73320         * lib/human.c: Include gettext.h instead of <libintl.h>.
73321         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
73322         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
73323         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
73324         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
73325         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
73326         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
73327         (textdomain): Remove definition.
73328         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
73329
73330         * lib/long-options.c: Remove include of <libintl.h> and definition of
73331         _.
73332         * lib/same.c: Remove include of <libintl.h> and definition of _.
73333
73334 2002-11-04  Owen Taylor  <otaylor@redhat.com>
73335
73336         * lib/config.charset: A few additions for Solaris.
73337
73338 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
73339
73340         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
73341         * lib/localcharset.c (locale_charset): Declare as extern "C".
73342
73343 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
73344
73345         * lib/config.charset: msdos in uk_UA uses CP1125.
73346
73347 2002-11-04  Bruno Haible  <bruno@clisp.org>
73348
73349         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
73350         * lib/strcase.h: New file, from GNU gettext-0.11.5.
73351         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
73352         * lib/strstr.h: New file, from GNU gettext-0.11.5.
73353         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
73354
73355 2002-11-04  Bruno Haible  <bruno@clisp.org>
73356
73357         * lib/localcharset.c (locale_charset): Don't return an empty string.
73358
73359 2002-11-04  Bruno Haible  <bruno@clisp.org>
73360
73361         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
73362         aliases.
73363
73364 2002-11-04  Bruno Haible  <bruno@clisp.org>
73365
73366         * lib/config.charset: Update for newest glibc. Add canonical names
73367         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
73368
73369 2002-11-04  Bruno Haible  <bruno@clisp.org>
73370
73371         * lib/config.charset: Add support for NetBSD.
73372
73373 2002-11-04  Bruno Haible  <bruno@clisp.org>
73374
73375         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
73376
73377 2002-11-01  Bruno Haible  <bruno@clisp.org>
73378
73379         * configure.in: Add AC_CONFIG_AUX_DIR call.
73380         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
73381         test/Makefile.
73382         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
73383
73384 2002-09-28  Karl Berry  <karl@gnu.org>
73385
73386         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
73387         installed automake until the next release, since changes have been
73388         made.
73389
73390 2002-09-25  Karl Berry  <karl@gnu.org>
73391
73392         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
73393         * lib/getopt*: copy from libc/posix.
73394         * lib/gettext.h: copy from gettext.
73395         * lib/.cppi-disable: add strdup.c, gettext.h.
73396
73397 2002-09-25  Karl Berry  <karl@gnu.org>
73398
73399         * config/srclist.txt: enable gettext.h check.
73400         * config/config.{guess,sub}: update from prep.
73401         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
73402                 from automake 1.6.3.
73403         See srclist*.
73404
73405 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
73406
73407         * regex.c (PATFETCH): Remove the translating fetch.
73408         (PATFETCH_RAW): Rename to PATFETCH.
73409         (set_image_of_range): New fun.
73410         (SET_RANGE_TABLE_WORK_AREA): Use it.
73411         (regex_compile): Don't translate the pattern chars so eagerly.
73412         Only do it when inserting an `exactn' bytecode or when handling
73413         a char-range.
73414         (mutually_exclusive_p): Avoid empty statement.
73415
73416 2002-07-06  Jim Meyering  <meyering@lucent.com>
73417
73418         * m4/README: Don't mention Makefile.am.in.
73419         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
73420
73421 2002-07-01  Jim Meyering  <meyering@lucent.com>
73422
73423         * lib/c-stack.c: Include sys/time.h.
73424         From Volker Borchert.
73425
73426 2002-06-26  Paul Eggert  <eggert@twinsun.com>
73427
73428         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
73429
73430 2002-06-26  Paul Eggert  <eggert@twinsun.com>
73431
73432         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
73433         New macro.  Use it uniformly instead of
73434         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
73435         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
73436         reported by Vin Shelton.
73437
73438 2002-06-22  Paul Eggert  <eggert@twinsun.com>
73439
73440         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
73441         Do not assume SA_SIGINFO behavior.
73442         Bug reported by Jim Meyering on NetBSD 1.5.2.
73443
73444 2002-06-22  Jim Meyering  <meyering@lucent.com>
73445
73446         * m4/c-stack.m4: New file, from diffutils-2.8.2.
73447         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
73448
73449         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
73450         now that configure.ac uses AC_GNU_SOURCE.
73451         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
73452         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
73453
73454         Update to latest tools.  Suggestions from Paul Eggert.
73455         * m4/stdbool.m4: New file, from diffutils-2.8.2.
73456         * m4/gnu-source.m4: Update from diffutils-2.8.2.
73457         * m4/fnmatch.m4: Likewise.
73458         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
73459         to AC_HEADER_STDBOOL
73460
73461 2002-06-22  Jim Meyering  <meyering@lucent.com>
73462
73463         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
73464         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
73465
73466 2002-06-22  Jim Meyering  <meyering@lucent.com>
73467
73468         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
73469
73470         * lib/exitfail.c, exitfail.h: Likewise.
73471         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
73472
73473         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
73474         of fnmatch.h.
73475         (EXTRA_DIST): Add fnmatch_loop.c.
73476         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
73477
73478         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
73479         * lib/fnmatch.c: Update from diffutils-2.8.2.
73480         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
73481         * lib/fnmatch.h: Remove file.
73482
73483 2002-06-21  Jim Meyering  <meyering@lucent.com>
73484
73485         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
73486         * m4/mbrtowc.m4: Likewise.
73487
73488         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
73489         * m4/mbswidth.m4: Reflect name change:
73490         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
73491         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
73492
73493         * m4/lib-link.m4: Update from gettext-0.11.2.
73494         * m4/gettext.m4: Likewise.
73495
73496         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
73497         From Alfred M. Szmidt.
73498
73499 2002-06-18  Paul Eggert  <eggert@twinsun.com>
73500
73501         * lib/file-type.h: Report an error if neither S_ISREG nor
73502         S_IFREG is defined, instead of using a test specific to glibc
73503         2.2.  This should be safe, since POSIX requires S_ISREG and
73504         Unix Version 7 had S_IFREG.  We don't need to check for
73505         <sys/types.h> since we don't use any symbols that it defines.
73506
73507 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
73508
73509         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
73510         $@-t, so that each temporary file name is unique and valid in the first
73511         8 characters, for operation under DOS.
73512
73513 2002-06-15  Paul Eggert  <eggert@twinsun.com>
73514
73515         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
73516
73517 2002-06-15  Jim Meyering  <meyering@lucent.com>
73518
73519         Work even with DJGPP 2.03, which lacks support for symlinks.
73520         From Richard Dawe.
73521         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
73522         is defined.
73523         * lib/lchown.c (S_ISLNK): Likewise.
73524
73525 2002-06-15  Jim Meyering  <meyering@lucent.com>
73526
73527         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
73528         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
73529         have been included before this file.
73530
73531 2002-06-14  Jim Meyering  <meyering@lucent.com>
73532
73533         * lib/file-type.h: Use the version from diffutils-2.8.2.
73534         * lib/file-type.c: Likewise.
73535
73536 2002-06-07  Jim Meyering  <meyering@lucent.com>
73537
73538         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
73539         They're needed at least for NetBSD 1.5.2.
73540         ($statxfs_includes): Include those same headers.
73541         ($statxfs_includes): Include sys/vfs.h if available.
73542         ($statxfs_includes): Likewise for sys/statvfs.h.
73543         Check for the following members in both structs statfs and statvfs:
73544         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
73545
73546 2002-06-01  Jim Meyering  <meyering@lucent.com>
73547
73548         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
73549         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
73550
73551 2002-05-28  Jim Meyering  <meyering@lucent.com>
73552
73553         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
73554         Reported by Volker Borchert.
73555
73556 2002-05-27  Jim Meyering  <meyering@lucent.com>
73557
73558         Fix a problem seen only on nonconforming systems whereby ls.c's
73559         use of localtime, and then of gettimeofday would cause trouble:
73560         the localtime call used to initialize rpl_gettimeofday's save
73561         mechanism would clobber ls's current local time information so
73562         that in any long listing the first file would always be listed
73563         with date 1970-01-01.  Analysis by Volker Borchert.
73564
73565         * lib/gettimeofday.c (localtime): Undefine.
73566         (rpl_localtime): New function.
73567
73568 2002-05-27  Jim Meyering  <meyering@lucent.com>
73569
73570         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
73571         localtime.
73572
73573         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
73574         use the replacement function; it wouldn't resolve at link time.
73575         Reported by Volker Borchert.
73576
73577 2002-05-22  Jim Meyering  <meyering@lucent.com>
73578
73579         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
73580         file-type.h.
73581         * lib/file-type.h: New file.
73582         * lib/file-type.c (file_type): New file/function.  Extracted from
73583         diffutils.
73584
73585 2002-04-30  Jim Meyering  <meyering@lucent.com>
73586
73587         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
73588
73589 2002-04-29  Paul Eggert  <eggert@twinsun.com>
73590
73591         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
73592
73593 2002-04-29  Paul Eggert  <eggert@twinsun.com>
73594
73595         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
73596         Do not check for alloca.h (no longer used) or stdbool.h (was never
73597         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
73598
73599 2002-04-29  Paul Eggert  <eggert@twinsun.com>
73600
73601         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
73602
73603 2002-04-29  Jim Meyering  <meyering@lucent.com>
73604
73605         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
73606         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
73607         Use AC_FUNC_STRNLEN here instead.
73608
73609         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
73610         With autoconf-2.53a, it's part of AC_PROG_CC.
73611
73612 2002-04-28  Paul Eggert  <eggert@twinsun.com>
73613
73614         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
73615         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
73616
73617 2002-04-28  Paul Eggert  <eggert@twinsun.com>
73618
73619         * lib/sig2str.h, lib/sig2str.c: New files.
73620         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
73621
73622 2002-04-28  Paul Eggert  <eggert@twinsun.com>
73623
73624         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
73625         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
73626         of 127, since 64 is the largest conceivable number for ancient
73627         nonstandard hosts.
73628         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
73629
73630 2002-04-28  Jim Meyering  <meyering@lucent.com>
73631
73632         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
73633
73634 2002-04-24  Jim Meyering  <meyering@lucent.com>
73635
73636         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
73637         (jm_PREREQ): Use it.
73638
73639         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
73640         mach/mach.h fcntl.h.
73641         Check for this function: setlocale.
73642
73643 2002-04-24  Jim Meyering  <meyering@lucent.com>
73644
73645         * lib/gettext.h: New file, from Gettext.
73646         * lib/Makefile.am (INCLUDES): Remove -I../intl.
73647         (libfetish_a_SOURCES): Add gettext.h.
73648
73649 2002-04-16  Jim Meyering  <meyering@lucent.com>
73650
73651         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
73652         ut_pid, ut_id, ut_exit.
73653
73654 2002-04-16  Jim Meyering  <meyering@lucent.com>
73655
73656         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
73657         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
73658         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
73659
73660 2002-04-12  Jim Meyering  <meyering@lucent.com>
73661
73662         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
73663         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
73664         existence of the getmntinfo function.  Needed for Darwin 5.3.
73665
73666         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
73667         This is necessary at least on Darwin 5.3.
73668
73669         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
73670         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
73671         strnlen.o in the library, and that makes some versions of ranlib
73672         object.
73673
73674 2002-04-12  Jim Meyering  <meyering@lucent.com>
73675
73676         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
73677
73678 2002-04-09  Jim Meyering  <meyering@lucent.com>
73679
73680         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
73681         to be more precise.  Rather than saying we're checking whether the
73682         function `works', say what we're testing.
73683         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
73684         Reported by Bruno Haible.
73685
73686 2002-03-10  Jim Meyering  <meyering@lucent.com>
73687
73688         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
73689         Suggestion from Santiago Vila.
73690
73691 2002-03-08  Jim Meyering  <meyering@lucent.com>
73692
73693         * lib/rename.c: Mention that this wrapper is needed also on
73694         mips-dec-ultrix4.4 systems.
73695
73696 2002-03-02  Jim Meyering  <meyering@lucent.com>
73697
73698         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
73699         not HAVE_CLOCK_SETTIME.
73700
73701 2002-02-27  Paul Eggert  <eggert@twinsun.com>
73702
73703         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
73704         Check for clock_settime.
73705
73706 2002-02-27  Paul Eggert  <eggert@twinsun.com>
73707
73708         * lib/nanosleep.h: Rename to....
73709         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
73710
73711         * lib/gettime.c: New file.
73712         * lib/settime.c: New file.
73713         * lib/stime.c: Remove.
73714
73715         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
73716         timespec.h.  Remove nanosleep.h.
73717
73718 2002-02-25  Paul Eggert  <eggert@twinsun.com>
73719
73720         * m4/acl.m4: New file.
73721         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
73722         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
73723
73724 2002-02-25  Paul Eggert  <eggert@twinsun.com>
73725
73726         * lib/acl.c, lib/acl.h: New files.
73727         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
73728
73729 2002-02-24  Jim Meyering  <meyering@lucent.com>
73730
73731         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
73732         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
73733         cause trouble.  Reported by Nelson Beebe.
73734
73735 2002-02-23  Paul Eggert  <eggert@twinsun.com>
73736
73737         * lib/path-concat.c (xpath_concat): Reorder code to pacify
73738         compilers that don't know that xalloc_die never returns.
73739
73740 2002-02-20  Jim Meyering  <meyering@lucent.com>
73741
73742         * lib/getdate.c: Regenerate using bison-1.33.
73743
73744 2002-02-17  Jim Meyering  <meyering@lucent.com>
73745
73746         * config/config.guess (main): Don't use `head -1'; it's no longer
73747         portable. Use `sed 1q' instead.
73748
73749 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
73750
73751         * m4/codeset.m4: Upgrade to gettext-0.11.
73752         * m4/gettext.m4: Upgrade to gettext-0.11.
73753         * m4/glibc21.m4: Upgrade to gettext-0.11.
73754         * m4/iconv.m4: Upgrade to gettext-0.11.
73755         * m4/isc-posix.m4: Upgrade to gettext-0.11.
73756         * m4/lcmessage.m4: Upgrade to gettext-0.11.
73757         * m4/lib-ld.m4: New file, from gettext-0.11.
73758         * m4/lib-link.m4: New file, from gettext-0.11.
73759         * m4/lib-prefix.m4: New file, from gettext-0.11.
73760         * m4/progtest.m4: Upgrade to gettext-0.11.
73761
73762 2002-02-15  Paul Eggert  <eggert@twinsun.com>
73763
73764         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
73765         (jm_PREREQ): Use it.
73766
73767 2002-02-15  Paul Eggert  <eggert@twinsun.com>
73768
73769         * lib/posixver.c, lib/posixver.h: New files.
73770         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
73771
73772 2002-02-02  Paul Eggert  <eggert@twinsun.com>
73773             Bruno Haible  <bruno@clisp.org>
73774
73775         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
73776         (fwrite_success_callback): New declaration.
73777         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
73778         print_unicode_char. Call failure callback instead of error.
73779         (fwrite_success_callback): New function.
73780         (exit_failure_callback): New function.
73781         (fallback_failure_callback): New function.
73782         (print_unicode_char): Call unicode_to_mb.
73783
73784 2002-01-26  Jim Meyering  <meyering@lucent.com>
73785
73786         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
73787         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
73788
73789 2002-01-26  Jim Meyering  <meyering@lucent.com>
73790
73791         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
73792
73793 2002-01-22  Paul Eggert  <eggert@twinsun.com>
73794
73795         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
73796
73797 2002-01-22  Jim Meyering  <meyering@lucent.com>
73798
73799         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
73800         Otherwise, some versions of automake would omit the rule that makes
73801         Makefile from Makefile.in.
73802
73803 2002-01-21  Paul Eggert  <eggert@twinsun.com>
73804
73805         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
73806         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
73807         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
73808         (memcoll): Set errno to zero if there is no error.
73809
73810         * lib/quotearg.c (quotearg_buffer_restyled):
73811         Fix bug with quoting buffers containing NUL when backslashing escapes.
73812         This bug was exposed by the other changes in this patch.
73813         (quotearg_n_options): New arg ARGSIZE.
73814         All callers changed.
73815         (quoting_options_from_style): New function.
73816         (quotearg_n_style): Use it.
73817         (quotearg_n_style_mem): New function.
73818
73819         * lib/quotearg.h (quotearg_n_style_mem): New function.
73820
73821 2002-01-19  Jim Meyering  <meyering@lucent.com>
73822
73823         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
73824         Remove useless quotes: DF_PROG="df".
73825         * m4/strnlen.m4: New file.
73826
73827 2002-01-16  Paul Eggert  <eggert@twinsun.com>
73828
73829         * lib/backupfile.c (ISDIGIT): Comment fix.
73830         * lib/getdate.y (ISDIGIT): Likewise.
73831         * lib/posixtm.c (ISDIGIT, year): Likewise.
73832         * lib/strverscmp.c (ISDIGIT): Likewise.
73833         * lib/userspec.c (ISDIGIT): Likewise.
73834
73835 2002-01-16  Jim Meyering  <meyering@lucent.com>
73836
73837         * lib/getdate.y: Add three semicolons, each just before a closing
73838         brace. Bison (as of version 1.31) no longer papers over that mistake.
73839
73840 2002-01-05  Jim Meyering  <meyering@lucent.com>
73841
73842         * lib/version-etc.c (version_etc_copyright): Update copyright year.
73843
73844 2001-12-19  Paul Eggert  <eggert@twinsun.com>
73845
73846         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
73847         not silently exit merely because the output buffer happens to
73848         have nothing pending.
73849
73850 2001-12-18  Paul Eggert  <eggert@twinsun.com>
73851
73852         See the big note in ../ChangeLog.
73853         * lib/human.c (suffixes): Prefer K to k for 1024.
73854         (generate_suffix_backwards): New function.
73855         (human_readable_inexact): Use it.
73856         * lib/xstrtol.c (__xstrtol): If there is no number but there
73857         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
73858         Accept 'K' as well as 'k'.
73859
73860 2001-12-15  Jim Meyering  <meyering@lucent.com>
73861
73862         * lib/regex.h (__restrict_arr): Update from libc.
73863
73864         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
73865         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
73866         (STREQ): Define.
73867
73868 2001-12-14  Jim Meyering  <meyering@lucent.com>
73869
73870         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
73871         Suggestion from Bruno Haible.
73872
73873 2001-12-10  Jim Meyering  <meyering@lucent.com>
73874
73875         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
73876         xrealloc, Instead, include "xalloc.h".
73877         (initbuffer): Don't cast xmalloc return value to char*.
73878         (readline): Reword comment.
73879         Don't cast xrealloc return value to char*
73880         Return NULL, not 0.
73881
73882 2001-12-09  Jim Meyering  <meyering@lucent.com>
73883
73884         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
73885         about `signed and unsigned type in conditional expression'.
73886         * lib/posixtm.c (posix_time_parse): Likewise.
73887
73888         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
73889
73890         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
73891         to avoid a pedantic warning.
73892
73893         * lib/getstr.c: Don't include assert.h.
73894         (getstr): Remove warning-evoking assertions.
73895         Return -1 if offset parameter is out of bounds.
73896         Change the type of a local from int to size_t.
73897
73898         * lib/strftime.c (my_strftime_localtime_r): Include this function
73899         definition in the `#if ! HAVE_TM_GMTOFF' block.
73900
73901         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
73902         Include xalloc.h instead.
73903
73904 2001-12-02  Jim Meyering  <meyering@lucent.com>
73905
73906         * lib/tempname.c: Don't declare getenv, thus reverting the change of
73907         2001-11-18.  It's no longer necessary, now that stdlib.h is always
73908         included.
73909
73910         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
73911         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
73912
73913 2001-11-30  Akim Demaille  <akim@epita.fr>
73914
73915         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
73916         before being defined.
73917
73918 2001-11-27  Paul Eggert  <eggert@twinsun.com>
73919
73920         * lib/quotearg.h (quotearg_n, quotearg_n_style):
73921         First arg is int, not unsigned.
73922         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
73923         (SIZE_MAX, UINT_MAX): New macros.
73924         (quotearg_n_options): Abort if N is negative.
73925         Avoid overflow check on hosts where size_t is 64 bits and int
73926         is 32 bits, as overflow is impossible there.
73927         Fix off-by-one typo that caused unnecessary reallocation.
73928
73929 2001-11-27  Jim Meyering  <meyering@lucent.com>
73930
73931         * lib/tempname.c: Merge with version from libc.
73932         * lib/regex.c: Likewise.
73933
73934         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
73935         systems for which STDC_HEADERS is 0, it was not included, resulting in
73936         a warning about an integer-to-pointer conversion problem with getenv.
73937         Reported by Volker Borchert.
73938
73939 2001-11-26  Jim Meyering  <meyering@lucent.com>
73940
73941         * lib/gtod.h: Remove file.
73942         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
73943         * lib/gettimeofday.c: Don't include gtod.h.
73944         (GTOD_init): Remove function.
73945         (rpl_gettimeofday): Do its job here instead, rather than aborting.
73946         Suggestion from Volker Borchert.
73947
73948 2001-11-23  Jim Meyering  <meyering@lucent.com>
73949
73950         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
73951         it.
73952         * lib/hash.c (struct hash_table): Define it here instead.
73953
73954 2001-11-22  Jim Meyering  <meyering@lucent.com>
73955
73956         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
73957
73958 2001-11-20  Jim Meyering  <meyering@lucent.com>
73959
73960         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
73961         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
73962
73963 2001-11-19  Jim Meyering  <meyering@lucent.com>
73964
73965         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
73966         directory.  Use "conftestXXXXXX" as the template.
73967         Suggestion from Paul Eggert.
73968
73969         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
73970         immediately, so the test doesn't mistakenly hit the max-open-files
73971         limit.
73972
73973 2001-11-18  Paul Eggert  <eggert@twinsun.com>
73974
73975         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
73976         (TEMPORARIES): New macro.
73977         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
73978         removes an artificial limitation (e.g. HP-UX 10.20, where
73979         TMP_MAX is 17576).
73980
73981 2001-11-18  Jim Meyering  <meyering@lucent.com>
73982
73983         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
73984
73985 2001-11-18  Jim Meyering  <meyering@lucent.com>
73986
73987         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
73988         on SunOS 4.
73989
73990         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
73991         files will be created before anything else.
73992
73993 2001-11-17  Paul Eggert  <eggert@twinsun.com>
73994
73995         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
73996         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
73997
73998 2001-11-17  Jim Meyering  <meyering@lucent.com>
73999
74000         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
74001         Prompted by a report from Bob Proulx.
74002
74003         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
74004         Instead, require UTILS_FUNC_MKSTEMP.
74005
74006 2001-11-17  Jim Meyering  <meyering@lucent.com>
74007
74008         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
74009         Now, that's done as part of AC_FUNC_STRTOD.
74010
74011 2001-11-17  Jim Meyering  <meyering@lucent.com>
74012
74013         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
74014         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
74015         rather than group writable.  Patch by Juan F. Codagnone.
74016
74017         * lib/readtokens.c: Remove explicit declarations of xmalloc and
74018         xrealloc, Instead, include "xalloc.h".
74019
74020         * lib/mountlist.c: Include unlocked-io.h after all system headers.
74021         Remove explicit declarations of xmalloc, xrealloc,
74022         and xstrdup.  Instead, include "xalloc.h".
74023
74024         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
74025         unlocked-io.h.
74026         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
74027         Likewise.
74028         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
74029
74030         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
74031         Reported by Padraig Brady.
74032
74033         * lib/mkstemp.c: #undef mkstemp.
74034         Include config.h.
74035         (rpl_mkstemp): Rename from mkstemp.
74036         Protoize.
74037
74038 2001-11-16  Jim Meyering  <meyering@lucent.com>
74039
74040         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
74041         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
74042         determine the amount of total physical memory, use pstat_getstatic.
74043         HPUX-11 doesn't define _SC_PHYS_PAGES.
74044         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
74045         If sysconf couldn't be used to determine the amount of available
74046         physical memory, use both pstat_getstatic and pstat_getdynamic.
74047         Based on a patch from Bob Proulx.
74048
74049 2001-11-10  Jim Meyering  <meyering@lucent.com>
74050
74051         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
74052         (jm_PREREQ): Use it.
74053
74054 2001-11-09  Jim Meyering  <meyering@lucent.com>
74055
74056         * m4/jm-macros.m4: Require autoconf-2.52f.
74057         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
74058         Use these AC_-prefixed names, not the AM_-prefixed ones.
74059
74060         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
74061
74062 2001-11-05  Jim Meyering  <meyering@lucent.com>
74063
74064         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
74065
74066 2001-11-04  Jim Meyering  <meyering@lucent.com>
74067
74068         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
74069         $DEFS.
74070
74071 2001-11-03  Jim Meyering  <meyering@lucent.com>
74072
74073         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
74074         of AC_DEFUN.
74075
74076         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
74077         know the name of the variable in the macro definition.
74078
74079 2001-11-03  Jim Meyering  <meyering@lucent.com>
74080
74081         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
74082         in argmatch_to_argument call.
74083
74084         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
74085         argument.
74086
74087         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
74088         e.g., a fault due to an attempt to free a NULL pointer.
74089
74090 2001-11-01  Jim Meyering  <meyering@lucent.com>
74091
74092         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
74093         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
74094
74095 2001-11-01  Jim Meyering  <meyering@lucent.com>
74096
74097         * lib/dirfd.c, lib/dirfd.h: New files.
74098         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
74099
74100         * lib/hash.c (hash_print) [TESTING]: Clean up.
74101
74102 2001-10-22  Paul Eggert  <eggert@twinsun.com>
74103
74104         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
74105         to avoid a warning if -Wall.
74106
74107 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
74108
74109         * README: New file
74110         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
74111         (per RMS's instructions, this is now the canonical source)
74112         * lgpl/, gpl/: New directories.
74113
74114 2001-10-21  Paul Eggert  <eggert@twinsun.com>
74115
74116         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
74117
74118 2001-10-21  Jim Meyering  <meyering@lucent.com>
74119
74120         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
74121         this code would end up calling gettext even in packages built
74122         with --disable-nls.
74123         * lib/getopt.c (_): Likewise.
74124         * lib/regex.c (_): Likewise.
74125
74126 2001-10-20  Paul Eggert  <eggert@twinsun.com>
74127
74128         * m4/error.m4 (jm_PREREQ_ERROR):
74129         Do not invoke AC_CHECK_FUNCS with strerror_r, as
74130         AC_FUNC_STRERROR_R does that.
74131         Check for strerror declaration.
74132
74133         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
74134         are supposed to have them these days.
74135         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
74136         Merge changes from latest Autoconf CVS.
74137         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
74138         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
74139         POSIX decided to standardize on the int flavor of strerror_r.
74140
74141 2001-10-20  Paul Eggert  <eggert@twinsun.com>
74142
74143         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
74144         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
74145         Use strerror_r that is only a macro, even if it is not a function.
74146         (strerror): Check for HAVE_DECL_STRERROR before declaring.
74147         (private_strerror): Use prototypes, not old-style function definition.
74148         (print_errno_message): New function.
74149         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
74150         char*-flavored one.
74151         (error_tail, error, error_at_line): Use it.
74152
74153 2001-10-11  Jim Meyering  <meyering@lucent.com>
74154
74155         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
74156         and quote_n (1, ... to avoid clobbering a buffer.
74157
74158 2001-10-05  Jim Meyering  <meyering@lucent.com>
74159
74160         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
74161         hash-pjw.h.
74162         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
74163         * lib/hash-pjw.h: New file.
74164
74165 2001-09-30  Jim Meyering  <meyering@lucent.com>
74166
74167         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
74168         `struct fsstat' has the `f_fstypename' member.
74169         Use that to define FS_TYPE, which is now used to make
74170         the getfsstat link test tighter.
74171
74172 2001-09-30  Jim Meyering  <meyering@lucent.com>
74173
74174         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
74175         Include <sys/ucred.h>, for Apple Darwin.
74176         Include sys/mount.h and sys/fs_types.h only if available.
74177         (FS_TYPE): Define.
74178         (read_filesystem_list): Use FS_TYPE.
74179
74180 2001-09-29  Paul Eggert  <eggert@twinsun.com>
74181
74182         * lib/exclude.c (excluded_filename): 0 -> false, since it's
74183         a boolean context.
74184
74185 2001-09-29  Jim Meyering  <meyering@lucent.com>
74186
74187         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
74188         [one-argument getmntent function]): Include stdio.h before mntent.h.
74189         SunOS 4.1.x needs it for the declaration of `FILE'.
74190         Patch by Volker Borchert.
74191
74192         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
74193         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
74194         sys/fs_types.h, and make the link-test for getfsstat guard #include
74195         directives with appropriate #if HAVE_*_H tests so that we can
74196         detect getfsstat on Apple Darwin1.3.7 systems.
74197         Reported by Nelson Beebe.
74198         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
74199
74200 2001-09-28  Paul Eggert  <eggert@twinsun.com>
74201
74202         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
74203         #defines strtoimax.  Also treat the other strto* functions
74204         like strtoimax.
74205
74206         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
74207         Check for strtoul and strtoumax,
74208         as those declarations are made even in the signed case.
74209         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
74210         Likewise, for strtol and strtoimax.
74211
74212 2001-09-28  Paul Eggert  <eggert@twinsun.com>
74213
74214         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
74215         #defines strtoimax.  Also treat the other strto* functions
74216         like strtoimax.
74217
74218         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
74219         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
74220         (strtoimax, strtoumax): Do not declare if already defined as a macro.
74221
74222 2001-09-26  Jim Meyering  <meyering@lucent.com>
74223
74224         Most macros in unlocked-io.h had the wrong number of arguments.
74225         * lib/gen-uio: New script.
74226         (USE_UNLOCKED_IO): Define to 1 if not already defined.
74227         * lib/unlocked-io.hin: Remove file.
74228         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
74229         rather than trying to embed it here.
74230         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
74231         Reported by Padraig Brady.
74232
74233 2001-09-25  Volker Borchert  <bt@teknon.de>
74234
74235         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
74236         `result'.
74237
74238 2001-09-24  Jim Meyering  <meyering@lucent.com>
74239
74240         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
74241
74242 2001-09-23  Jim Meyering  <meyering@lucent.com>
74243
74244         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
74245         instead of the mere test for existence of mntent.h.  The latter
74246         would get a false-positive on AIX 3.4 systems.
74247         In the outer getmntent if-block, don't die if neither of the getmntent
74248         tests succeeds.  Instead, just fall through and continue with the
74249         remaining tests.
74250
74251 2001-09-23  Jim Meyering  <meyering@lucent.com>
74252
74253         * lib/mountlist.c: Remove useless parentheses in #if directives.
74254         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
74255         the deprecated MOUNTED symbol is no longer defined in mntent.h.
74256
74257 2001-09-22  Jim Meyering  <meyering@lucent.com>
74258
74259         * m4/gettext.m4: New file.  From gettext.
74260         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
74261         * m4/progtest.m4: Likewise
74262         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
74263         * m4/glibc21.m4: Likewise.
74264
74265         * m4/libintl.m4: Remove.  No longer used.
74266
74267 2001-09-22  Jim Meyering  <meyering@lucent.com>
74268
74269         * lib/localcharset.c: Update from latest gettext.
74270         * lib/config.charset: Likewise.
74271
74272 2001-09-20  Jim Meyering  <meyering@lucent.com>
74273
74274         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
74275         strtoimax.
74276         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
74277         strtoumax.
74278
74279 2001-09-20  Jim Meyering  <meyering@lucent.com>
74280
74281         * lib/xstrtol.c (strtoimax): Guard declaration with
74282         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
74283         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
74284         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
74285         (strtoumax): Likewise, for completeness (it wasn't necessary).
74286
74287 2001-09-17  Paul Eggert  <eggert@twinsun.com>
74288
74289         * lib/strtoimax.c (HAVE_LONG_LONG):
74290         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
74291         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
74292         to work around bug in IBM C compiler.
74293
74294 2001-09-17  Jim Meyering  <meyering@lucent.com>
74295
74296         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
74297         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
74298         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
74299         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
74300         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
74301         whenever the right hand side need not be expanded by the shell.
74302
74303 2001-09-16  Paul Eggert  <eggert@twinsun.com>
74304
74305         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
74306         library.  It's not correct, as some older glibcs are buggy.
74307         fnmatch wasn't fixed until glibc 2.2.
74308
74309         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
74310         special shell magic here.
74311
74312 2001-09-16  Jim Meyering  <meyering@lucent.com>
74313
74314         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
74315         * m4/jm-macros.m4: Require it.
74316
74317 2001-09-16  Jim Meyering  <meyering@lucent.com>
74318
74319         * lib/mkdir.c: New file.
74320
74321 2001-09-15  Jim Meyering  <meyering@lucent.com>
74322
74323         * m4/jm-macros.m4: Check for help2man.
74324
74325 2001-09-11  Jim Meyering  <meyering@lucent.com>
74326
74327         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
74328         The body, by Paul Eggert, was moved here from configure.in.
74329         * m4/jm-macros.m4: Require UTILS_HOST_OS.
74330
74331 2001-09-04  Paul Eggert  <eggert@twinsun.com>
74332
74333         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
74334         (jm_PREREQ): Use it.
74335
74336 2001-09-04  Paul Eggert  <eggert@twinsun.com>
74337
74338         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
74339         Use ssize_t, not int, to store result of readlink.
74340         Check for ssize_t overflow as well as size_t overflow,
74341         as POSIX says the result of readlink is implementation-defined
74342         when ssize_t overflows.
74343         Remove unnecessary cast to char*.
74344         Use free+malloc instead of realloc, as the storage doesn't need
74345         to be preserved and it's clearer and can be more efficient that way.
74346         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
74347         * lib/xreadlink.h (xreadlink): Update prototype.
74348
74349 2001-09-04  Paul Eggert  <eggert@twinsun.com>
74350
74351         * lib/xgetcwd.c: Revert some of the previous change; intead,
74352         fix the HAVE_GETCWD_NULL code to behave more like the
74353         !HAVE_GETCWD_NULL code used to.
74354
74355         Include "xalloc.h".
74356         (xgetcwd): Do not return NULL when memory is exhausted; instead,
74357         invoke xalloc_die.
74358
74359 2001-09-03  Paul Eggert  <eggert@twinsun.com>
74360
74361         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
74362         sys/param.h, as pathmax.h includes them.
74363
74364 2001-09-03  Paul Eggert  <eggert@twinsun.com>
74365
74366         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
74367         (jm_PREREQ_XGETCWD): New macro.
74368
74369         * m4/getcwd.m4: New file.
74370
74371 2001-09-03  Paul Eggert  <eggert@twinsun.com>
74372
74373         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
74374         like the HAVE_GETCWD_NULL code.
74375         Include pathmax.h if not HAVE_GETCWD.
74376         Do not include xalloc.h.
74377         (INITIAL_BUFFER_SIZE): New symbol.
74378         Do not use xmalloc / xrealloc, since the caller is responsible for
74379         handling errors.  Preserve errno around `free' during failure.
74380         Do not overrun buffer when using getwd.
74381
74382 2001-09-03  Paul Eggert  <eggert@twinsun.com>
74383
74384         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
74385         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
74386         getcwd (NULL, 0).
74387
74388 2001-09-03  Paul Eggert  <eggert@twinsun.com>
74389
74390         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
74391         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
74392         spotted by Jim Meyering.
74393
74394 2001-09-03  Jim Meyering  <meyering@lucent.com>
74395
74396         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
74397         failure.
74398
74399 2001-09-02  Jim Meyering  <meyering@lucent.com>
74400
74401         * lib/error.c: Update from GNU libc.
74402
74403 2001-09-01  Jim Meyering  <meyering@lucent.com>
74404
74405         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
74406         Used by df.
74407
74408 2001-09-01  Jim Meyering  <meyering@lucent.com>
74409
74410         * lib/xreadlink.c: New file.
74411         * lib/xreadlink.h: New file.
74412         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
74413         xreadlink.h.
74414
74415         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
74416         doesn't conflict with sparc Solaris 7's definition in
74417         /usr/include/sys/int_types.h.
74418
74419         * lib/exclude.c: Use `""', not `<>' to #include non-system header
74420         files.
74421         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
74422         and strncasecmp as r-values.  Unixware didn't have declarations.
74423
74424 2001-08-31  Paul Eggert  <eggert@twinsun.com>
74425
74426         * lib/xstrtol.h: Add copyright notice.
74427         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
74428         LONGINT_INVALID_SUFFIX_CHAR.
74429
74430 2001-08-31  Paul Eggert  <eggert@twinsun.com>
74431
74432         * lib/xstrtol.c (strtoimax): New decl.
74433
74434 2001-08-31  Paul Eggert  <eggert@twinsun.com>
74435
74436         * lib/xgetcwd.c: Don't include pathmax.h.
74437         Include stdlib.h and unistd.h if available.
74438         Include xalloc.h.
74439         (xmalloc, xstrdup, free): Remove decls.
74440         (xgetcwd): Don't assume sizes fit in unsigned.
74441         Check for overflow when computing sizes.
74442         Simplify reallocation code.
74443
74444 2001-08-31  Paul Eggert  <eggert@twinsun.com>
74445
74446         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
74447         a directory's st_size can have an arbitrary value, so the old
74448         usage could waste an arbitrary amount of memory.  All uses
74449         changed.
74450         * lib/savedir.h: Update prototype.
74451
74452 2001-08-31  Paul Eggert  <eggert@twinsun.com>
74453
74454         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
74455
74456         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
74457         old strtoimax.c.
74458
74459         Also, make the following further changes to make this file's
74460         configuration more similar to that of strtol.c:
74461         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
74462         (strtoumax, uintmax_t, strtoull, strtol): Remove.
74463         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
74464         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
74465         changed to signed values.
74466
74467         And make the following changes as well:
74468         Fix copyright notice, as 1999 was missing.
74469         (verify): New macro.
74470         (strtoimax): Check sizes at compile-time, not run-time.
74471         Prefer strtol to strtoll if both work.
74472         (main): Remove; it was not that useful and was a pain to maintain.
74473
74474         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
74475
74476 2001-08-31  Jim Meyering  <meyering@lucent.com>
74477
74478         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
74479         Use an initial, malloc'd, buffer of length 128 rather than
74480         a statically allocated one of length 1024.
74481
74482 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74483
74484         Simplify code, partly by assuming autoconf 2.52 semantics.
74485
74486         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
74487
74488         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
74489         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
74490         All uses removed.
74491         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
74492         Move AC_REQUIRE to next-to-top level, to avoid confusion.
74493         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
74494         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
74495         jm_AC_HEADER_INTTYPES_H.
74496         * m4/jm-macros.m4 (jm_MACROS): Likewise.
74497
74498         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
74499
74500         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
74501         Quote first arg of AC_DEFUN.
74502         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
74503         since they are needed to parse the include file even if we need
74504         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
74505         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
74506         but with opposite signedness.
74507
74508 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74509
74510         Merge 'exclude' changes from tar 1.13.22.
74511         This fixes one or two unlikely storage allocation overflow bugs,
74512         but doesn't change user-visible behavior otherwise.
74513
74514 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74515
74516         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
74517         (jm_PREREQ_EXCLUDE): New macro.
74518
74519 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74520
74521         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
74522         tm to be declared.
74523
74524 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74525
74526         * lib/hash.c: Remove '2001' from copyright notice.
74527
74528 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74529
74530         * lib/full-write.h: New file.
74531         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
74532         * lib/full-write.c: Correct credits, as cccp.c no longer
74533         exists and anyway it was so heavily changed from the old cccp
74534         code as to be unrecognizable.  Include full-write.h.
74535         (full_write) Return size_t, with short writes meaning failure.
74536         All callers changed.  This fixes a bug with large buffers
74537         on 64-bit hosts.
74538         * lib/utime.c: Include full-write.h.
74539
74540 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74541
74542         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
74543         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
74544         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
74545         Include if available.
74546         (<xalloc.h>): Include
74547         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
74548         (verify): New macro.  Use it to verify that EXCLUDE macros do not
74549         collide with FNM macros.
74550         (struct patopts): New struct.
74551         (struct exclude): Use it, as exclude patterns now come with options.
74552         (new_exclude): Support above changes.
74553         (new_exclude, add_exclude_file):
74554         Initial size must now be a power of two to simplify overflow checking.
74555         (free_exclude, fnmatch_no_wildcards): New function.
74556         (excluded_filename): No longer requires options arg, as the options
74557         are determined by add_exclude.  Now returns bool, not int.
74558         (excluded_filename, add_exclude):
74559         Add support for the fancy new exclusion options.
74560         (add_exclude, add_exclude_file): Now takes int options arg.
74561         Check for arithmetic overflow when computing sizes.
74562         (add_exclude_file): xrealloc might modify errno, so don't
74563         realloc until after errno might be used.
74564
74565         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
74566         New macros.
74567         (free_exclude): New decl.
74568         (add_exclude, add_exclude_file): Now takes int options arg.
74569         (excluded_filename): No longer requires options arg, as the options
74570         are determined by add_exclude.  Now returns bool, not int.
74571
74572 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74573
74574         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
74575
74576 2001-08-27  Jim Meyering  <meyering@lucent.com>
74577
74578         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
74579
74580         * lib/version-etc.c (N_): Remove definition.
74581         Revert most of last change.
74582         Instead, simply don't mark the `Copyright...' string for translation.
74583         Based on advice from Paul Eggert.
74584
74585         * lib/strtoxmax.c: Tweak comment.
74586
74587 2001-08-26  Jim Meyering  <meyering@lucent.com>
74588
74589         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
74590
74591         * m4/xstrtoimax.m4: New file.
74592         * m4/xstrtoumax.m4: Add comments explaining why we
74593         AC_REPLACE_FUNCS(strtol).
74594
74595 2001-08-26  Jim Meyering  <meyering@lucent.com>
74596
74597         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
74598         of copyright with `%s' so translators don't get an untranslated
74599         message in 2002.
74600         (COPYRIGHT_YEAR): Define.
74601         (version_etc): Use fprintf rather than fputs.
74602         Suggestion from Ulrich Drepper.
74603
74604         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
74605
74606         * lib/strtoll.c: New file, from GNU libc.
74607         * lib/xstrtoimax.c: New file.
74608
74609         * lib/xstrtol.h: Add xstrtoimax.
74610         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
74611         * lib/strtoimax.c: New file.  Likewise, but first define
74612         STRTOUXMAX_SIGNED.
74613
74614         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
74615         ...
74616         * lib/strtoxmax.c: ... then renamed to this.
74617
74618 2001-08-18  Paul Eggert  <eggert@twinsun.com>
74619
74620         * m4/inttypes.m4: Add AC_PREREQ(2.13).
74621         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
74622         (jm_AC_TYPE_INTMAX_T): New macro.
74623         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
74624
74625         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
74626
74627         * m4/longlong.m4: Renamed from ulonglong.m4.
74628         * m4/inttypes.m4: Renamed from inttypes_h.m4.
74629         * m4/uintmax_t.m4: Removed.
74630
74631 2001-08-13  Paul Eggert  <eggert@twinsun.com>
74632
74633         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
74634         Port to Solaris 8, where 'sed' requires a space after the 'r'
74635         command, and where sh dislikes "$/".  Clean up the spacing a bit.
74636         Redirect output to $tmp just once.
74637
74638 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
74639
74640         * lib/addext.c (<errno.h>): Include.
74641         (errno): Declare if not defined.
74642         (addext): Work correctly when pathconf returns -1 and leaves
74643         errno alone because there is no limit.  Also, work even if
74644         pathconf returns a value greater than SIZE_MAX.
74645
74646 2001-08-12  Jim Meyering  <meyering@lucent.com>
74647
74648         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
74649         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
74650         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
74651         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
74652         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
74653         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
74654         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
74655         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
74656         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
74657         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
74658         utime.m4, utimes.m4, xstrtoumax.m4:
74659         Quote the first argument in each use of AC_DEFUN.
74660
74661 2001-08-12  Jim Meyering  <meyering@lucent.com>
74662
74663         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
74664         Simply `return getcwd (NULL, 0);'.
74665         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
74666         Use 1300 as initial value for length, not PATH_MAX.
74667
74668         * lib/pathmax.h: Clean up cpp syntax.
74669
74670 2001-08-12  Jim Meyering  <meyering@lucent.com>
74671
74672         * lib/gettimeofday.c: New file.
74673         * lib/gtod.h: New file.
74674         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
74675
74676 2001-08-05  Jim Meyering  <meyering@lucent.com>
74677
74678         * m4/jm-macros.m4: Require autoconf-2.52.
74679
74680 2001-08-04  Jim Meyering  <meyering@lucent.com>
74681
74682         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
74683         stmt, to get in sync with glibc.
74684
74685 2001-08-03  Paul Eggert  <eggert@twinsun.com>
74686
74687         The following changes are from gettext 0.10.39 as maintained by
74688         Bruno Haible.
74689
74690         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
74691         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
74692         with inverted sense.  All uses changed.
74693
74694         * lib/mbswidth.c: Don't include <limits.h>.
74695         Include <stdlib.h> and <string.h> unconditionally.
74696         (iswcntrl, mbsinit, ISCNTRL): New macros.
74697         (mbsnwidth): Use K&R style function declarations.
74698         Don't bother checking for MB_LEN_MAX == 1, since the compiler
74699         can optimize it when MB_CUR_MAX == 1.
74700         The width of control characters is zero, not 1.
74701
74702 2001-08-03  Paul Eggert  <eggert@twinsun.com>
74703
74704         The following changes are from gettext 0.10.39 as maintained by
74705         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
74706
74707         * m4/codeset.m4: Upgrade to serial AM1.
74708         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
74709         all uses changed.  Quote first arg of AC_DEFUN.
74710         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
74711
74712         * m4/iconv.m4: Upgrade to serial AM2.
74713         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
74714         Add --with-libconv-prefix.
74715         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
74716         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
74717         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
74718         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
74719         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
74720
74721         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
74722         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
74723         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
74724         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
74725         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
74726         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
74727         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
74728         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
74729         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
74730
74731         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
74732         string.h any more.
74733
74734         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
74735         not the default value.
74736
74737         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
74738         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
74739         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
74740         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
74741         Also check for iswcntrl, used for wcwidth fallback.
74742         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
74743         to Autoconf 2.13.
74744
74745 2001-08-03  Jim Meyering  <meyering@lucent.com>
74746
74747         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
74748         as it was in the original.  Reported by Paul Eggert.
74749
74750 2001-07-16  Jim Meyering  <meyering@lucent.com>
74751
74752         * m4/gettimeofday.m4: New file.
74753         Prompted by a report from Bernhard Baehr.
74754
74755 2001-07-15  Jim Meyering  <meyering@lucent.com>
74756
74757         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
74758         stuff. Now it's in ../Makefile.cfg.
74759
74760 2001-07-15  Jim Meyering  <meyering@lucent.com>
74761
74762         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
74763         (BUILT_SOURCES): Add unlocked-io.h.
74764         (io_functions): Define.
74765         (unlocked-io.h): New rule.
74766         (DISTCLEANFILES): Add unlocked-io.h.
74767         (all-local): Depend on unlocked-io.h, to ensure it is created.
74768
74769         * lib/unlocked-io.hin: New file
74770
74771         * lib/regex.c: Update from glibc.
74772
74773 2001-07-05  Jim Meyering  <meyering@lucent.com>
74774
74775         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
74776         recommendation.
74777         (libfetish_a_SOURCES): Put all .h files here instead.
74778         Remove a thus-exposed (better checks in automake) duplicate and
74779         two unnecessary .h files.
74780
74781 2001-07-04  Jim Meyering  <meyering@lucent.com>
74782
74783         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
74784         that generates jm-glibc-io.m4 so that it doesn't trigger any make
74785         distcheck failure.
74786
74787 2001-07-02  Jim Meyering  <meyering@lucent.com>
74788
74789         The following changes were prompted by suggestions from Bruno Haible.
74790
74791         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
74792         is now generated.
74793         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
74794         definition of EXTRA_DIST.
74795         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
74796         ensure that the generated file is created/updated whenever the list
74797         of $(unlocked_functions) is changed.
74798         (jm-glibc-io.m4): New rule.
74799         (unlocked-io.h): New rule -- currently unused.
74800
74801 2001-06-24  Jim Meyering  <meyering@lucent.com>
74802
74803         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
74804         unmatched right bracket, rather than kludging it with an extra,
74805         falsely-matching quote in a comment.  Patch by Akim Demaille.
74806
74807 2001-06-11  Jim Meyering  <meyering@lucent.com>
74808
74809         * lib/regex.c: Update from GNU libc.
74810
74811 2001-05-27  Jim Meyering  <meyering@lucent.com>
74812
74813         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
74814         Check for ut_type in struct utmp.
74815
74816 2001-05-27  Jim Meyering  <meyering@lucent.com>
74817
74818         * lib/readutmp.h (UT_TYPE): Define.
74819
74820 2001-05-24  Jim Meyering  <meyering@lucent.com>
74821
74822         * lib/argmatch.c: Include "quote.h".
74823         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
74824         quote function.  Reported by Göran Uddeborg.
74825
74826 2001-05-22  Jim Meyering  <meyering@lucent.com>
74827
74828         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
74829         now that we use the package-supplied version unconditionally.
74830         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
74831
74832 2001-05-21  Jim Meyering  <meyering@lucent.com>
74833
74834         * m4/regex.m4: Change a couple backticks to single quotes to avoid
74835         shell syntax errors.
74836
74837 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
74838
74839         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
74840
74841 2001-05-20  Paul Eggert  <eggert@twinsun.com>
74842
74843         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
74844         Don't bother to check library strftime, since
74845         we'll be using our own my_strftime function anyway.
74846         Define my_strftime instead of strftime.
74847
74848 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
74849
74850         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
74851         which is not yet declared.
74852
74853 2001-05-15  Jim Meyering  <meyering@lucent.com>
74854
74855         * m4/regex.m4: Use proper quoting so brackets appear in the test
74856         program.
74857         Reported by, and with help from, Bruno Haible.
74858
74859 2001-05-13  Jim Meyering  <meyering@lucent.com>
74860
74861         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
74862         undefined.
74863
74864 2001-05-11  Paul Eggert  <eggert@twinsun.com>
74865
74866         dirname code cleanup.  base_name now behaves more compatibly
74867         with POSIX basename when given file names that have trailing
74868         slashes, and similarly for dir_name.  Add new primitives
74869         base_len and dir_len.  Put the directory-name-related decls
74870         into dirname.h.
74871
74872         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
74873         * lib/backupfile.c (base_name): Likewise.
74874         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
74875         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
74876         * lib/makepath.c (strip_trailing_slashes): Likewise.
74877         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
74878         ISSLASH): Likewise.
74879         * lib/rename.c (strip_trailing_slashes): Likewise.
74880         * lib/same.c (base_name): Likewise.
74881         * lib/stripslash.c (ISSLASH): Likewise.
74882
74883         * lib/addext.c: Include <dirname.h> after size_t is defined.
74884         * lib/backupfile.c: Likewise.
74885
74886         * lib/addext.c (addext): Use base_len to trim redundant
74887         trailing slashes instead of doing it ourselves.
74888         But do not trim the last slash if it is not redundant.
74889
74890         * lib/backupfile.c (find_backup_file_name,
74891         max_backup_version): Use base_len instead of rolling it ourselves.
74892         Handle the case of "" and (on DOS) "C:" correctly.
74893
74894         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
74895         needed. Include <string.h>, <dirname.h>.
74896         (base_name): Allow file names ending in slashes, other than names
74897         that are all slashes.  In this case, return the basename followed
74898         by the slashes.  This is more general, and can be used in places
74899         where the original base_name purposely had an assertion failure.
74900         (base_len): New function.
74901
74902         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
74903         Do not include <assert.h>; no longer needed.
74904         Include xalloc.h.
74905         (memrchr): Remove decl.
74906         (dir_name_r): Remove.
74907         (dir_len): Renamed from dirlen.  All callers changed.
74908         Rewrite in terms of base_name, for simplicity and consistency.
74909         (dir_name): Never return NULL.  All callers changed.
74910         Do not include <stdlib.h> in test program; no longer needed.
74911         return 0; is fine for test program.
74912
74913         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
74914         New macros.
74915         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
74916
74917         * lib/path-concat.c (path_concat): Use base_len to compute
74918         base length, not strlen; this means we cannot rely on memcpy
74919         to null-terminate.
74920
74921         * lib/same.c (STREQ): Remove.
74922         (same_name): Handle the case where the basename ends in trailing '/'.
74923
74924         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
74925         a slash was stripped.  Do not strip the last slash after a
74926         file system prefix.
74927
74928 2001-05-11  Paul Eggert  <eggert@twinsun.com>
74929
74930         * lib/Makefile.am (libfetish_a_SOURCES):
74931         Add strftime.c, since we now compile it on all hosts.
74932
74933         * lib/strftime.c (my_strftime):
74934         Define to nstrftime if emacs, but only if my_strftime is not defined.
74935         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
74936         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
74937         Add one more extra argument: a nanoseconds value.
74938         All uses changed.
74939         (ns): New macro.
74940         (my_strftime function): Add %N format.
74941         (emacs_strftimeu): Renamed from emacs_strftime,
74942         with extra ut argument.
74943
74944 2001-05-09  Paul Eggert  <eggert@twinsun.com>
74945
74946         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
74947
74948 2001-04-21  Jim Meyering  <meyering@lucent.com>
74949
74950         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
74951         doesn't interfere.
74952
74953 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
74954
74955         * m4/ftruncate.m4: Check for chsize.
74956         Link with ftruncate.o unconditionally if ftruncate is missing.
74957         This was required when cross-compiling to i586-mingw32msvc.
74958
74959 2001-04-08  Jim Meyering  <meyering@lucent.com>
74960
74961         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
74962         recomputed; that's necessary when the offset spans a DST transition.
74963         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
74964
74965 2001-04-02  Jim Meyering  <meyering@lucent.com>
74966
74967         * lib/regex.h, regex.c: Update from GNU libc.
74968
74969 2001-03-24  Jim Meyering  <meyering@lucent.com>
74970
74971         * m4/jm-macros.m4: Require autoconf-2.49d.
74972
74973 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
74974
74975         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
74976
74977 2001-03-19  Paul Eggert  <eggert@twinsun.com>
74978
74979         * lib/version-etc.c (version_etc_copyright): Update to 2001.
74980
74981 2001-03-17  Jim Meyering  <meyering@lucent.com>
74982
74983         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
74984         now that the version in autoconf is equivalent.
74985         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
74986
74987         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
74988         Suggestion from Akim Demaille.
74989
74990         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
74991         (jm_PREREQ_TEMPNAME): New function.
74992
74993 2001-03-16  Paul Eggert  <eggert@twinsun.com>
74994
74995         * lib/tempname.c (uint64_t): Define to uintmax_t if
74996         not defined, and if UINT64_MAX is not defined.
74997         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
74998         Reported by John David Anglin.
74999
75000 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
75001
75002         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
75003         resolve alias if codeset is empty.
75004         * lib/config.charset (BeOS): Use wildcard syntax.
75005
75006 2001-03-13  Jim Meyering  <meyering@lucent.com>
75007
75008         * lib/path-concat.c (path_concat)
75009         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
75010         concatenating e.g., `C:' and `foo'.
75011         From Bruno Haible.
75012
75013 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
75014
75015         * lib/localcharset.c (locale_charset): Don't use
75016         setlocale(LC_CTYPE,NULL). Don't return NULL.
75017         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
75018
75019 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
75020
75021         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
75022         support for DOS/DJGPP.
75023
75024 2001-03-01  Paul Eggert  <eggert@twinsun.com>
75025
75026         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
75027         lacks mkstemp.  Compile our own tempname.c if we compile our own
75028         mkstemp.c, as mkstemp relies on tempname.
75029
75030 2001-03-01  Jim Meyering  <meyering@lucent.com>
75031
75032         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
75033         AH_VERBATIM really does output its argument verbatim.
75034
75035 2001-02-28  Paul Eggert  <eggert@twinsun.com>
75036
75037         * lib/Makefile.am (libfetish_a_SOURCES):
75038         Add dup-safer.c, fopen-safer.c.
75039         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
75040
75041         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
75042         * lib/unistd-safer.h: New files.
75043
75044 2001-02-25  Paul Eggert  <eggert@twinsun.com>
75045
75046         The mkstemp replacement is taken from glibc 2.2.2, with some
75047         portability fixes for use outside glibc, as follows:
75048
75049         * lib/tempname.c (struct_stat64): New macro.
75050         (direxists, __gen_tempname): Use it.
75051         This avoids a portability problem with Solaris 8.
75052
75053         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
75054         (<stddef.h>, <stdint.h>, <string.h>):
75055         Include only if STDC_HEADERS || _LIBC.
75056         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
75057         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
75058         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
75059         (__set_errno): Define this macro if <errno.h> doesn't.
75060         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
75061         Define these macros if <stdio.h> doesn't.
75062         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
75063         Define these macros if <sys/stat.h>
75064         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
75065         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
75066         __xstat64): Define if not _LIBC.
75067         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
75068         (__gen_tempname): Invoke gettimeofday only if
75069         HAVE_GETTIMEOFDAY || _LIBC;
75070         otherwise, fall back on plain "time".
75071         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
75072
75073         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
75074
75075         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
75076
75077 2001-02-18  Paul Eggert  <eggert@twinsun.com>
75078
75079         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
75080
75081 2001-02-17  Paul Eggert  <eggert@twinsun.com>
75082
75083         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
75084         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
75085         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
75086         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
75087
75088 2001-02-17  Paul Eggert  <eggert@twinsun.com>
75089
75090         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
75091         Remove workaround macros for hosts that have mbrtowc but not
75092         mbstate_t, as we now insist on proper declarations for both
75093         before using mbrtowc.
75094
75095 2001-02-17  Jim Meyering  <meyering@lucent.com>
75096
75097         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
75098         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
75099         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
75100         UnixWare 7.1.1.
75101
75102         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
75103         rather than AC_CACHE_VAL.
75104
75105 2001-02-17  Jim Meyering  <meyering@lucent.com>
75106
75107         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
75108         around included file name.
75109
75110         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
75111
75112         * lib/strftime.c: Update from GNU libc (the only changes were to
75113         comments).
75114
75115 2001-02-17  Jim Meyering  <meyering@lucent.com>
75116
75117         * lib/regex.c: Update from libc.
75118
75119 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
75120
75121         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
75122         clash.
75123
75124 2001-02-16  Paul Eggert  <eggert@twinsun.com>
75125
75126         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
75127         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
75128         Reported by Mark Hounschell via Paul Eggert.
75129
75130 2001-02-07  Jim Meyering  <meyering@lucent.com>
75131
75132         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
75133
75134 2001-02-05  Jim Meyering  <meyering@lucent.com>
75135
75136         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
75137         it includes the patch required for `large file' support with at least
75138         HP-UX's 10.20 /bin/cc.
75139
75140 2001-02-03  Jim Meyering  <meyering@lucent.com>
75141
75142         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
75143         AS_IF, now that it works once again (mysteriously).
75144         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
75145
75146 2001-01-30  Jim Meyering  <meyering@lucent.com>
75147
75148         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
75149         * m4/chown.m4: Rename conftestchown to conftest.chown.
75150         * m4/rename.m4: s/conftestdir/conftest.d1/ and
75151         s/conftestdir2/conftest.d2/.
75152         * m4/utimes.m4: s/conftestdata/conftest.data/
75153         Inspired by Pavel Roskin's change in autoconf.
75154
75155 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
75156
75157         * lib/config.charset: Update for FreeBSD 4.2.
75158
75159 2001-01-27  Jim Meyering  <meyering@lucent.com>
75160
75161         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
75162         a use of AS_IF.
75163         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
75164
75165 2001-01-26  Jim Meyering  <meyering@lucent.com>
75166
75167         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
75168         quotearg.c includes it.
75169
75170 2001-01-26  Jim Meyering  <meyering@lucent.com>
75171
75172         * lib/quotearg.c: Include stddef.h.
75173         * lib/quote.c: Include stddef.h.
75174         Reported by Axel Kittenberger.
75175
75176         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
75177         line in double quotes so that it evokes a better diagnostic.
75178         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
75179         Reported by Axel Kittenberger.
75180
75181 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
75182
75183         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
75184         as if it was a `charset'.
75185
75186 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
75187
75188         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
75189         has const.
75190
75191 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
75192
75193         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
75194         to avoid a warning.  Add back 'const' to inptr.
75195
75196 2001-01-20  Jim Meyering  <meyering@lucent.com>
75197
75198         Be sure that headers are checked before used in code compiled
75199         for the type checks.
75200         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
75201         In place of that, invoke jm_CHECK_ALL_TYPES.
75202         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
75203         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
75204         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
75205         The check for ssize_t was mistakenly run before the test for unistd.h.
75206
75207         The configure-time check for stdbool.h was missing.
75208         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
75209         (jm_PREREQ_HASH): New function.
75210
75211 2001-01-17  Jim Meyering  <meyering@lucent.com>
75212
75213         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
75214         for autoconf-2.49c.
75215         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
75216
75217 2001-01-16  Jim Meyering  <meyering@lucent.com>
75218
75219         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
75220         From Bruno Haible.
75221
75222 2001-01-14  Jim Meyering  <meyering@lucent.com>
75223
75224         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
75225         foo and bar.  Create conftestdir/ in the script, not in the C code.
75226         Remove directories in the script, not in the C code.
75227         Remove conftestdir{,2} before trying to create the directory.
75228         Make the entire configure script fail if the mkdir fails.
75229
75230 2001-01-14  Jim Meyering  <meyering@lucent.com>
75231
75232         * lib/rename.c: New file.  From Volker Borchert.
75233         Include stdlib.h, string.h or strings.h, and xalloc.h.
75234         Use strip_trailing_slashes rather than open-coding it.
75235
75236 2001-01-03  Paul Eggert  <eggert@twinsun.com>
75237
75238         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
75239
75240 2001-01-03  Jim Meyering  <meyering@lucent.com>
75241
75242         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
75243         of local `inptr' to avoid warning with some system declarations of
75244         iconv.
75245
75246 2001-01-02  Volker Borchert  <bt@teknon.de>
75247
75248         * m4/rename.m4: New file.
75249         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
75250
75251 2001-01-01  Jim Meyering  <meyering@lucent.com>
75252
75253         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
75254         even on systems with utmpx.h.  It's necessary for the declaration of
75255         utmp's ut_user member.  Reported by Andreas Jaeger.
75256
75257         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
75258         available. They are required for the declarations of getgrgid and
75259         getpwuid resp.
75260         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
75261         Reported by Andreas Jaeger.
75262
75263 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
75264
75265         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
75266         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
75267         so `make install' also works in VPATH builds.
75268
75269 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
75270
75271         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
75272         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
75273         can be used in subdirectories.
75274
75275 2000-12-29  Paul Eggert  <eggert@twinsun.com>
75276
75277         * lib/modechange.c: Do not assume that mode_t uses the
75278         traditional octal encoding.  E.g. "chmod 1 FOO" should set
75279         the other-execute bit of FOO even if S_IXOTH != 1.
75280
75281         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
75282         WOTH, XOTH, ALLM): New macros.
75283         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
75284          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
75285         Use them.
75286         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
75287         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
75288         (mode_compile):
75289         No need to use uintmax_t; unsigned long is long enough.
75290         Don't bother to get suffix since we don't use it.
75291
75292 2000-12-26  Jim Meyering  <meyering@lucent.com>
75293
75294         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
75295         better with autoheader.
75296
75297 2000-12-24  Jim Meyering  <meyering@lucent.com>
75298
75299         * lib/hash.c (is_prime): Return explicit boolean values.
75300         (hash_get_first): Return NULL to appease Irix5.6's 89.
75301         Reported by Nelson Beebe.
75302
75303 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
75304
75305         * lib/localcharset.c (locale_charset): Add support for Win32.
75306
75307 2000-12-18  Paul Eggert  <eggert@twinsun.com>
75308
75309         * lib/physmem.h, lib/physmem.c: New files.
75310
75311         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
75312         (noinst_HEADERS): Add physmem.h.
75313
75314         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
75315         't' for compatibility with Solaris 8 sort.
75316
75317 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
75318
75319         * lib/config.charset: Add support for BeOS.
75320
75321 2000-12-17  Jim Meyering  <meyering@lucent.com>
75322
75323         * m4/dos.m4 (jm_AC_DOS): New file and macro.
75324         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
75325
75326 2000-12-16  Jim Meyering  <meyering@lucent.com>
75327
75328         This bug had a serious impact on chown: `chown N:M FILE' (for integer
75329         N and M) would have treated it like `chown N:N FILE'.
75330
75331         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
75332
75333 2000-12-16  Jim Meyering  <meyering@lucent.com>
75334
75335         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
75336         SHELLS_FILE to a file name that's useful on djgpp systems.
75337         Include stdlib.h.
75338         (ADDITIONAL_DEFAULT_SHELLS): Define.
75339         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
75340         Based mostly on a patch from Prashant TR.
75341
75342 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
75343
75344         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
75345         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
75346         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
75347
75348 2000-12-08  Andreas Schwab  <schwab@suse.de>
75349
75350         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
75351         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
75352
75353 2000-12-07  Jim Meyering  <meyering@lucent.com>
75354
75355         * lib/stripslash.c (ISSLASH): Define.
75356         (strip_trailing_slashes): Use ISSLASH rather than comparing against
75357         `/'.
75358         From Prashant TR.
75359
75360         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
75361         (dir_name_r): Declare this function as static.
75362         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
75363         manifest itself on a name containing a mix of slashes and
75364         backslashes.
75365         Make this function work with names starting with a DOS-style
75366         drive letter and colon prefix.
75367         (dir_name): Append `.' if necessary.
75368         Based mostly on patches from Prashant TR and Eli Zaretskii.
75369
75370         * lib/dirname.h (dir_name_r): Remove prototype.
75371
75372 2000-12-06  Paul Eggert  <eggert@twinsun.com>
75373
75374         * m4/off_t-format.m4: Remove this file.
75375         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
75376
75377 2000-12-06  Jim Meyering  <meyering@lucent.com>
75378
75379         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
75380         replacement strtoull, we may well need the replacement strtoul, too.
75381         Check for declarations of strtoul and strtoull.
75382         Check for strtol.  Mainly as a cue to cause automake to include
75383         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
75384         Check for limits.h -- strtol.c needs it.
75385
75386 2000-12-05  Jim Meyering  <meyering@lucent.com>
75387
75388         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
75389
75390 2000-12-04  Jim Meyering  <meyering@lucent.com>
75391
75392         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
75393         Also include memory.h, stdlib.h, unistd.h if appropriate.
75394         Reported by Andreas Jaeger (conflicting declaration of malloc).
75395
75396 2000-12-02  Jim Meyering  <meyering@lucent.com>
75397
75398         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
75399         * m4/jm-macros.m4 (jm_MACROS): require it.
75400
75401 2000-12-02  Jim Meyering  <meyering@lucent.com>
75402
75403         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
75404
75405 2000-12-01  Paul Eggert  <eggert@twinsun.com>
75406
75407         * lib/memrchr.c: Include <config.h> before any system include file.
75408
75409 2000-11-30  Jim Meyering  <meyering@lucent.com>
75410
75411         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
75412
75413 2000-11-30  Jim Meyering  <meyering@lucent.com>
75414
75415         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
75416
75417 2000-11-29  Paul Eggert  <eggert@twinsun.com>
75418
75419         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
75420
75421 2000-11-26  Jim Meyering  <meyering@lucent.com>
75422
75423         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
75424
75425 2000-11-22  Paul Eggert  <eggert@twinsun.com>
75426
75427         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
75428         size of (size_t) -1; it's not portable.
75429
75430 2000-11-17  Jim Meyering  <meyering@lucent.com>
75431
75432         * lib/strstr.c: Update from GNU libc.
75433
75434 2000-11-17  Akim Demaille  <akim@epita.fr>
75435
75436         * lib/obstack.h: Formatting changes.
75437         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
75438         prevent type checking.
75439         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
75440         cast the value to (void *): assigning a `foo *' to a `void *'
75441         variable is valid.
75442         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
75443
75444 2000-11-16  Jim Meyering  <meyering@lucent.com>
75445
75446         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
75447
75448 2000-11-11  Jim Meyering  <meyering@lucent.com>
75449
75450         * lib/error.c: Add a couple #includes, merging from GNU libc version.
75451
75452 2000-11-10  Jim Meyering  <meyering@lucent.com>
75453
75454         * lib/obstack.h: Update from GNU libc.
75455         * lib/obstack.c: Likewise.
75456
75457 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
75458
75459         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
75460
75461 2000-11-06  Paul Eggert  <eggert@twinsun.com>
75462
75463         * lib/getusershell.c (setusershell): Use rewind rather than
75464         fseek/fseeko, to avoid configuration hassles with fseeko.
75465         Don't bother opening SHELLS_FILE if shellstream is NULL;
75466         it's not necessary.
75467
75468 2000-11-05  Jim Meyering  <meyering@lucent.com>
75469
75470         * lib/makepath.h (make_dir): Declare.
75471         * lib/makepath.c (make_dir): Remove `static' attribute.
75472         Tweak a comment.
75473
75474 2000-11-04  Jim Meyering  <meyering@lucent.com>
75475
75476         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
75477
75478 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
75479
75480         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
75481         last one in a bucket, advance to the next bucket.
75482
75483 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
75484
75485         * lib/fnmatch.c: Do not comment out all the code if we are using
75486         the GNU C library, because in some cases we are replacing buggy
75487         code in the GNU C library itself.
75488
75489 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
75490
75491         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
75492         (regex_compile): Catch bogus \(\1\).
75493
75494 2000-10-30  Paul Eggert  <eggert@twinsun.com>
75495
75496         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
75497         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
75498         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
75499
75500 2000-10-30  Paul Eggert  <eggert@twinsun.com>
75501
75502         * lib/error.h, getline.h, modechange.h:
75503         Remove "2000" from Copyright line, as the file hasn't been
75504         changed this year other than in the copyright notice.
75505
75506         * lib/xalloc.h: Add "2000" to Copyright line, as this file
75507         was changed this year.
75508
75509 2000-10-29  Jim Meyering  <meyering@lucent.com>
75510
75511         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
75512         renaming.
75513         * m4/ls-mntd-fs.m4: Likewise
75514
75515 2000-10-29  Jim Meyering  <meyering@lucent.com>
75516
75517         * lib/xstat.in: Fix grammar in comment.
75518
75519 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
75520
75521         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
75522         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
75523         doesn't define __restrict_arr.
75524
75525 2000-10-28  Jim Meyering  <meyering@lucent.com>
75526
75527         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
75528         (jm_PREREQ_MEMCHR): New function.
75529
75530 2000-10-28  Jim Meyering  <meyering@lucent.com>
75531
75532         * lib/memchr.c: Update from libc.
75533         Adjust for portability:
75534         [HAVE_STDLIB_H]: Include stdlib.h.
75535         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
75536         Undef __memchr, too.
75537         [!weak_alias]: Define __memchr to memchr.
75538
75539         * lib/regex.c: Update from libc.
75540         * lib/regex.h: Likewise.
75541         * lib/getopt1.c: Likewise.
75542         * lib/memcmp.c: Likewise.
75543
75544         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
75545         Avoid using fseek, when possible -- it's broken by design.
75546         Patch by Ulrich Drepper.
75547
75548 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
75549
75550         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
75551         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
75552         Giving in to popular pressure to shut up the compiler with casts.
75553
75554 2000-10-26  Jim Meyering  <meyering@lucent.com>
75555
75556         * lib/strftime.c: Update from libc.
75557
75558 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
75559
75560         * regex.c: More `unsigned char' -> `re_char' changes.
75561         Also change several `int' into `re_wchar_t'.
75562         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
75563         (PUSH_FAILURE_POINTER): Don't cast any more.
75564         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
75565         We want GCC to complain, since this piece of code makes
75566         re_match non-reentrant, which *should* be fixed.
75567         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
75568         (EXTEND_BUFFER): Use RETALLOC.
75569         (SET_LIST_BIT): Don't cast.
75570         (re_wchar_t): New type.
75571         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
75572         that those two functions will always properly return.
75573         (IMMEDIATE_QUIT_CHECK): Cast to void.
75574         (analyse_first): Use recursion rather than an explicit stack.
75575         (re_compile_fastmap): Can't fail anymore.
75576         (re_search_2): Don't check re_compile_fastmap for failure.
75577         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
75578         Now also sets the new value (passed in a new argument).
75579         (re_match_2_internal): Use it.
75580         Also, use a new var `reg' of type size_t when looping through regs
75581         rather than reuse the inappropriate `mcnt'.
75582
75583 2000-10-25  Jim Meyering  <meyering@lucent.com>
75584
75585         * lib/obstack.c: Update from libc.
75586
75587 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
75588
75589         * regex.c (regex_compile): Change the way of handling a range from
75590         a char less than 256 to a char not less than 256.
75591
75592 2000-10-24  Andrew Innes  <andrewi@gnu.org>
75593
75594         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
75595         NT-Emacs only.
75596         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
75597         so that re_search functions only quit when callers expect them to.
75598
75599 2000-10-23  Jim Meyering  <meyering@lucent.com>
75600
75601         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
75602         wrong.  That set_locale call must not have any side effects.
75603         From Paul Eggert.
75604
75605 2000-10-22  Jim Meyering  <meyering@lucent.com>
75606
75607         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
75608         [CYCLIC]: Remove now-unused definition.
75609
75610         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
75611         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
75612         Suggestion from Ulrich Drepper.
75613
75614 2000-10-21  Jim Meyering  <meyering@lucent.com>
75615
75616         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
75617         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
75618         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
75619
75620 2000-10-21  Jim Meyering  <meyering@lucent.com>
75621
75622         * lib/dirname.c (memrchr): Declare if necessary.
75623         (dir_name): Remove the restriction that there be no
75624         trailing slashes.  Now, this code skips past them, effectively
75625         ignoring them.
75626         [TEST_DIRNAME] (main): New unit tests.
75627
75628         * lib/memrchr.c: New file from GNU libc.
75629         Undef __memrchr, too.
75630         [!weak_alias]: Define __memrchr to memrchr.
75631         Guard weak_alias use with `#ifdef weak_alias'.
75632
75633 2000-10-21  Jim Meyering  <meyering@lucent.com>
75634
75635         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
75636         (dir_name): Use dir_name_r.
75637         * lib/dirname.h (dir_name_r): Declare it.
75638
75639 2000-10-17  Jim Meyering  <meyering@lucent.com>
75640
75641         * lib/quote.h (PARAMS): Define and use.
75642         Reported by Akim Demaille.
75643
75644         * lib/getopt.c: Update from libc.
75645
75646 2000-10-16  Jim Meyering  <meyering@lucent.com>
75647
75648         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
75649         setlocale.
75650         From Jan Fedak.
75651
75652 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
75653
75654         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
75655
75656 2000-09-25  Jim Meyering  <meyering@lucent.com>
75657
75658         * lib/md5.h (rol): Define (from GnuPG).
75659
75660         * lib/sha.c: Give credit (GnuPG) where due.
75661         (M): Use rol rather than open-coding it.
75662         Add a FIXME comment.
75663
75664 2000-09-21  Jim Meyering  <meyering@lucent.com>
75665
75666         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
75667         Reported by Michael Stone.
75668
75669 2000-09-20  Jim Meyering  <meyering@lucent.com>
75670
75671         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
75672         (noinst_HEADERS): Add sha.h.
75673         Based on code from Scott G. Miller and from GnuPG.
75674
75675 2000-09-18  Jim Meyering  <meyering@lucent.com>
75676
75677         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
75678         LIBS. Otherwise, everyone ends up linking with -lelf for some
75679         configurations.
75680         Reported by Mike Stone.
75681
75682 2000-09-15  Jim Meyering  <meyering@lucent.com>
75683
75684         * lib/regex.c: Update from libc.
75685
75686 2000-09-10  Jim Meyering  <meyering@lucent.com>
75687
75688         * lib/getopt.c (_getopt_internal): Update from glibc.
75689
75690 2000-09-09  Jim Meyering  <meyering@lucent.com>
75691
75692         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
75693         think it should be used as a general replacement for isascii.
75694         * lib/fnmatch.c: Likewise.
75695         * lib/mbswidth.c: Likewise
75696         * lib/regex.c: Likewise.
75697
75698         Don't use atoi.
75699         * lib/userspec.c: Include sys/param.h and limits.h.
75700         Include xstrtol.h.
75701         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
75702         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
75703         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
75704         UID, GID.  Check range.
75705
75706 2000-09-06  Jim Meyering  <meyering@lucent.com>
75707
75708         * lib/getopt.c (_getopt_internal): Update from glibc.
75709
75710 2000-08-30  Jim Meyering  <meyering@lucent.com>
75711
75712         * lib/strftime.c: Merge in changes from GNU libc.
75713
75714 2000-08-26  Jim Meyering  <meyering@lucent.com>
75715
75716         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
75717         * m4/fpending.m4: New file.
75718
75719 2000-08-26  Jim Meyering  <meyering@lucent.com>
75720
75721         * lib/closeout.c: Include "__fpending.h".
75722         (close_stdout_status): Return right away if there's nothing to flush.
75723
75724         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
75725         * lib/__fpending.c: New file.
75726         * lib/__fpending.h: New file.
75727
75728 2000-08-20  Jim Meyering  <meyering@lucent.com>
75729
75730         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
75731         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
75732         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
75733
75734 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
75735
75736         Improve fileutils installation on systems where running
75737         programs (like install) can't be unlinked.
75738         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
75739         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
75740
75741 2000-08-07  Paul Eggert  <eggert@twinsun.com>
75742
75743         Standardize on "memory exhausted" instead of "Memory exhausted"
75744         or "virtual memory exhausted".
75745         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
75746         "virtual memory exhausted".
75747         * lib/same.c (same_name): Invoke xalloc_die instead of printing
75748         our own message.
75749         * lib/userspec.c (parse_user_spec): Likewise.
75750         * lib/bumpalloc.h: comment fix
75751         * lib/same.c, userspec.c: Include xalloc.h.
75752
75753         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
75754         not char *const and pointing to a constant array.
75755         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
75756         (xrealloc): Comment fix.
75757
75758         * lib/userspec.c (parse_user_spec):
75759         Don't translate a message until just before returning,
75760         to avoid unnecessary translation.
75761
75762 2000-08-07  Jim Meyering  <meyering@lucent.com>
75763
75764         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
75765         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
75766         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
75767         getgroups.c, gethostname.c, getopt.h, group-member.c,
75768         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
75769         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
75770         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
75771         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
75772         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
75773         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
75774         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
75775         yesno.c: Back out Copyright date changes for each file with no change
75776         this year.  This eases coordination with other programs using the same
75777         source code modules.  From Paul Eggert.
75778
75779 2000-08-06  Paul Eggert  <eggert@twinsun.com>
75780
75781         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
75782         not char, for compatibility with glibc 2.1.3 strftime.c.
75783
75784 2000-08-03  Greg McGary  <greg@mcgary.org>
75785
75786         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
75787         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
75788         (EXTEND_BUFFER): Use them.
75789
75790 2000-08-01  Jim Meyering  <meyering@lucent.com>
75791
75792         * lib/dirname.c (ISSLASH): Define.
75793         (BACKSLASH_IS_PATH_SEPARATOR): Define.
75794         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
75795         both `\' and `/' may be use as path separators.
75796         Based on a patch from Prashant TR.
75797
75798 2000-07-31  Paul Eggert  <eggert@twinsun.com>
75799
75800         * lib/quotearg.c (quotearg_n_options): Don't make the initial
75801         slot vector a constant, since it might get modified.
75802
75803 2000-07-31  Jim Meyering  <meyering@lucent.com>
75804
75805         * lib/xmalloc.c: Use `virtual memory exhausted', not
75806         `Memory exhausted'.
75807         * lib/obstack.c (print_and_abort): Likewise.
75808
75809 2000-07-30  Paul Eggert  <eggert@twinsun.com>
75810
75811         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
75812         buffer, so that the caller can always quote one small
75813         component of a "memory exhausted" message in slot 0.
75814         From a suggestion by Jim Meyering.
75815
75816 2000-07-30  Jim Meyering  <meyering@lucent.com>
75817
75818         * lib/makepath.c (make_path): Quote the other instance, too.
75819
75820         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
75821         (STATIC_BUF_SIZE): Define.
75822         (quotearg_n_options): Use only statically allocated storage when
75823         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
75824         than STATIC_BUF_SIZE.
75825
75826 2000-07-29  Jim Meyering  <meyering@lucent.com>
75827
75828         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
75829         * lib/dirname.c (dir_name): Likewise.
75830
75831         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
75832         `/'.
75833
75834         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
75835         (dir_name): Assert that there are no trailing slashes.
75836
75837 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
75838
75839         * lib/mbswidth.h (mbswidth): Add a flags argument.
75840         (mbswidth): New declaration.
75841         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
75842         * lib/mbswidth.c (mbswidth): Add a flags argument.
75843         (mbsnwidth): New function.
75844
75845 2000-07-24  Jim Meyering  <meyering@lucent.com>
75846
75847         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
75848
75849 2000-07-23  Paul Eggert  <eggert@twinsun.com>
75850
75851         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
75852
75853 2000-07-23  Paul Eggert  <eggert@twinsun.com>
75854
75855         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
75856         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
75857         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
75858         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
75859         invoke multibyte primitives.
75860
75861 2000-07-23  Paul Eggert  <eggert@twinsun.com>
75862
75863         * lib/quotearg.c:
75864         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
75865         so that mbstate_t is always defined.
75866
75867         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
75868         be 1 in at least one GCC installation, and this configuration
75869         error is likely to be common.  Ignoring MB_LEN_MAX hurts
75870         performance on hosts that have mbrtowc but have only unibyte
75871         locales, but I assume these hosts are rare.
75872
75873 2000-07-23  Paul Eggert  <eggert@twinsun.com>
75874
75875         * lib/mbswidth.c (_XOPEN_SOURCE):
75876         Don't define; this causes problems on Solaris 7.
75877         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
75878
75879 2000-07-23  Jim Meyering  <meyering@lucent.com>
75880
75881         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
75882         too: getgrgid, getpwuid, getuid.
75883
75884 2000-07-23  Jim Meyering  <meyering@lucent.com>
75885
75886         * lib/basename.c (base_name): Add an assertion.
75887
75888 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
75889
75890         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
75891         shadow its mbsinit function.
75892
75893 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
75894
75895         * lib/mbswidth.h: New file.
75896         * lib/mbswidth.c: New file.
75897         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
75898         (noinst_HEADERS): Add mbswidth.h.
75899
75900 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
75901
75902         * lib/config.charset: Add support for FreeBSD. Improve support for
75903         HP-UX and IRIX 6.
75904
75905 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
75906
75907         * m4/mbswidth.m4: New file.
75908         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
75909
75910 2000-07-15  Jim Meyering  <meyering@lucent.com>
75911
75912         * lib/makepath.c: Include quote.h.
75913         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
75914         corresponding argument in a `quote (...)' call.
75915         Give better diagnostics.
75916
75917         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
75918         (noinst_HEADERS): Add quote.h.
75919
75920         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
75921         from tar's src/misc.c.
75922         * lib/quote.h: New file.  Prototypes for same.
75923
75924 2000-07-14  Paul Eggert  <eggert@twinsun.com>
75925
75926         From a suggestion by Bruno Haible.
75927         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
75928         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
75929         to decide whether to define the BeOS workaround macro;
75930         this adjusts to the change to AC_MBSTATE_T.
75931
75932 2000-07-14  Jim Meyering  <meyering@lucent.com>
75933
75934         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
75935         jm_AC_TYPE_UINTMAX_T.
75936
75937 2000-07-13  Paul Eggert  <eggert@twinsun.com>
75938
75939         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
75940
75941         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
75942         quotearg_buffer_restyled): Add support for
75943         clocale_quoting_style.  Undo previous change to
75944         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
75945         and "{RIGHT QUOTATION MARK}" msgids.
75946
75947 2000-07-10  Paul Eggert  <eggert@twinsun.com>
75948
75949         From a suggestion by Bruno Haible.
75950         * m4/mbstate_t.m4 (AC_MBSTATE_T):
75951         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
75952         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
75953         and mbstate_t, to a single-part test that simply defines mbstate_t.
75954         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
75955         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
75956
75957 2000-07-10  Jim Meyering  <meyering@lucent.com>
75958
75959         * m4/strerror_r.m4: Mirror the correction made in autoconf.
75960
75961         * m4/gnu-source.m4: Output to confdefs.h directly.
75962         Suggestion from Akim Demaille.
75963
75964 2000-07-09  Paul Eggert  <eggert@twinsun.com>
75965
75966         The old behavior of quoting `like this' doesn't look good with
75967         newer, ISO-style fonts.  See:
75968         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
75969
75970         Instead, quote "like this" by default.  Let the translator
75971         tailor the locale-specific quoting behavior by providing
75972         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
75973
75974         * lib/quotearg.c (N_): New macro.
75975         (gettext_default): New function.
75976         (quotearg_buffer_restyled): Use
75977         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
75978         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
75979
75980 2000-07-09  Jim Meyering  <meyering@lucent.com>
75981
75982         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
75983         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
75984
75985         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
75986         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
75987
75988 2000-07-09  Jim Meyering  <meyering@lucent.com>
75989
75990         * lib/Most files: Update copyright dates to include 2000.
75991
75992 2000-07-08  Jim Meyering  <meyering@lucent.com>
75993
75994         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
75995         if not defined.
75996         (xgethostname): Remove now-unnecessary #ifdef.
75997         Move declaration of `err' into loop where it's used.
75998
75999 2000-07-05  Paul Eggert  <eggert@twinsun.com>
76000         and Bruno Haible  <haible@clisp.cons.org>
76001
76002         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
76003         only if the test for an object-type mbstate_t fails.  This
76004         prevents us from mistakenly reporting that mbstate_t is a
76005         system object type after we "#define mbstate_t int" to work
76006         around its lack.
76007
76008 2000-07-05  Paul Eggert  <eggert@twinsun.com>
76009         and Bruno Haible  <haible@clisp.cons.org>
76010
76011         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
76012
76013 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
76014
76015         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
76016         to strerror_r.
76017         Include <ctype.h> for use of isalpha.
76018
76019 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
76020
76021         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
76022         by allocating a larger buffer. Test the gethostname return value for
76023         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
76024         returns an error and ENAMETOOLONG isn't defined.
76025
76026 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
76027
76028         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
76029         dimension.
76030
76031 2000-07-04  Jim Meyering  <meyering@lucent.com>
76032
76033         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
76034         of the deprecated AC_CHECKING.
76035
76036 2000-07-04  Jim Meyering  <meyering@lucent.com>
76037
76038         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
76039         Reported by Bruno Haible.
76040
76041 2000-07-04  Jim Meyering  <meyering@lucent.com>
76042
76043         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
76044         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
76045         lacks mbrtowc.
76046
76047 2000-07-03  Paul Eggert  <eggert@twinsun.com>
76048
76049         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
76050         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
76051
76052 2000-07-03  Paul Eggert  <eggert@twinsun.com>
76053         and Bruno Haible  <haible@clisp.cons.org>
76054
76055         * lib/quotearg.c (mbrtowc):
76056         Assign to *pwc, and return 1 only if result is nonzero.
76057         (iswprint): Use ISPRINT when substituting our own mbrtowc.
76058
76059 2000-07-03  Jim Meyering  <meyering@lucent.com>
76060
76061         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
76062
76063 2000-07-03  Jim Meyering  <meyering@lucent.com>
76064
76065         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
76066         This is necessary to get a definition of e.g., UTMP_FILE on
76067         HP-UX 10.20.
76068         From Bob Proulx.
76069
76070 2000-07-02  Jim Meyering  <meyering@lucent.com>
76071
76072         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
76073
76074         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
76075         AC_LIBOBJ(function_name).
76076         * m4/chown.m4: Likewise.
76077         * m4/fnmatch.m4: Likewise.
76078         * m4/ftruncate.m4: Likewise.
76079         * m4/getgroups.m4: Likewise.
76080         * m4/getline.m4: Likewise.
76081         * m4/group-member.m4: Likewise.
76082         * m4/jm-macros.m4: Likewise.
76083         * m4/lstat.m4: Likewise.
76084         * m4/malloc.m4: Likewise.
76085         * m4/memcmp.m4: Likewise.
76086         * m4/nanosleep.m4: Likewise.
76087         * m4/putenv.m4: Likewise.
76088         * m4/realloc.m4: Likewise.
76089         * m4/regex.m4: Likewise.
76090         * m4/stat.m4: Likewise.
76091         * m4/strftime.m4: Likewise.
76092
76093 2000-07-02  Jim Meyering  <meyering@lucent.com>
76094
76095         * lib/quotearg.c (mbstate_t): Don't define here.
76096
76097 2000-07-02  Jim Meyering  <meyering@lucent.com>
76098
76099         * lib/nanosleep.c (SIGCONT): Define if not already defined.
76100
76101 2000-07-01  Jim Meyering  <meyering@lucent.com>
76102
76103         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
76104
76105 2000-07-01  Jim Meyering  <meyering@lucent.com>
76106
76107         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
76108         problem.
76109
76110 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
76111
76112         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
76113         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
76114
76115 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
76116
76117         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
76118         per change in ../m4/ls-mntd-fs.m4.
76119         (read_filesystem_list): Ignore symbolic links.
76120
76121 2000-06-29  Jim Meyering  <meyering@lucent.com>
76122
76123         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
76124         for declaration of strcmp.
76125
76126         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
76127
76128         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
76129         Avoid warning by casting result to `char *' to remove `const'.
76130
76131 2000-06-28  Jim Meyering  <meyering@lucent.com>
76132
76133         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
76134         included by quotearg.c, for which we perform this test.  From
76135         Bruno Haible.
76136
76137 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
76138
76139         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
76140         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
76141         <utmpx.h> exists, put readutmp.o into LIBOBJS.
76142
76143 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
76144
76145         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
76146
76147 2000-06-26  Paul Eggert  <eggert@twinsun.com>
76148
76149         savedir now sets errno on failure and invokes xmalloc to get memory.
76150         Fix a couple of other minor bugs while we're at it.
76151
76152         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
76153         (NAMLEN): Remove macro.
76154         (malloc, realloc): Remove decls.
76155         (stpcpy): Likewise.
76156         ("xalloc.h"): Include.
76157         (NAME_SIZE_DEFAULT): New macro.
76158         (savedir): Use xmalloc / xrealloc to allocate memory.
76159         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
76160         Skip "" directory entries.
76161         Use strlen to calculate directory entry length, since the old method
76162         is rarely used these days and isn't worth supporting.
76163         Don't use a pointer after freeing it.
76164         Check for integer overflow when calculating allocation size.
76165         Use memcpy to copy entries, instead of stpcpy.
76166         Set errno properly when returning NULL.
76167         Check for readdir error.
76168
76169 2000-06-26  Jim Meyering  <meyering@lucent.com>
76170
76171         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
76172
76173 2000-06-25  Jim Meyering  <meyering@lucent.com>
76174
76175         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
76176         Linux header bug when _XOPEN_SOURCE is defined to 500.
76177
76178 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
76179
76180         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
76181         deficiency.
76182
76183 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
76184
76185         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
76186         Include xalloc.h.
76187         Don't include <stdlib.h>.  Don't declare malloc, realloc.
76188
76189 2000-06-24  Jim Meyering  <meyering@lucent.com>
76190
76191         * m4/strerror_r.m4: Revive this file -- to try out an experimental
76192         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
76193         for which strerror does return char*, but which lacks a conveniently
76194         accessible declaration of the function.  If the compile-test says
76195         strerror_r doesn't work, then resort to a `run'-test that works on
76196         BeOS and segfaults on DEC Unix.
76197
76198 2000-06-24  Jim Meyering  <meyering@lucent.com>
76199
76200         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
76201
76202 2000-06-23  Paul Eggert  <eggert@twinsun.com>
76203
76204         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
76205         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
76206
76207 2000-06-23  Paul Eggert  <eggert@twinsun.com>
76208
76209         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
76210         (mbrtowc, mbstate_t): Define substitutes if
76211         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
76212         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
76213         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
76214
76215 2000-06-23  Jim Meyering  <meyering@lucent.com>
76216
76217         * m4/afs.m4: Add missing AC_MSG_RESULT.
76218         Reported by Bruno Haible.
76219
76220         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
76221         Suggestion from Bruno Haible.
76222
76223 2000-06-23  Jim Meyering  <meyering@lucent.com>
76224
76225         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
76226
76227 2000-06-21  Jim Meyering  <meyering@lucent.com>
76228
76229         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
76230
76231 2000-06-21  Jim Meyering  <meyering@lucent.com>
76232
76233         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
76234         (noinst_HEADERS): Add getstr.h.
76235
76236         * lib/getline.c (getstr): Move into a separate file.
76237         * lib/getstr.c (getstr): New file, extracted from getline.c, with
76238         the following changes: new parameter, delim2; both delim[12]
76239         parameters have type `int', not `char'.  The latter would lose
76240         with 8-bit delimiters.
76241         * lib/getstr.h: New file.
76242
76243 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
76244
76245         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
76246         than 1024, return a memory chunk of least possible size, instead
76247         of size PATH_MAX + 2. In the loop, increment the size proportionally.
76248         Use free/xmalloc instead of xrealloc to avoid copying for very long
76249         paths.
76250
76251 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
76252
76253         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
76254         the empty string.
76255
76256 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
76257
76258         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
76259         address, not strdup.  Include <stdlib.h> and don't declare free().
76260
76261 2000-06-19  Jim Meyering  <meyering@lucent.com>
76262
76263         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
76264
76265 2000-06-18  Jim Meyering  <meyering@lucent.com>
76266
76267         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
76268
76269         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
76270         `checking whether...' message to be consistent with that of the
76271         lstat test.
76272
76273 2000-06-18  Jim Meyering  <meyering@lucent.com>
76274
76275         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
76276         Besides, these days every porting target provides a mkdir function.
76277
76278         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
76279         needed. (this snippet comes from src/system.h).
76280
76281 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
76282
76283         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
76284
76285 2000-06-15  Paul Eggert  <eggert@twinsun.com>
76286
76287         * lib/human.c (adjust_value): New function.
76288         (human_readable_inexact): Apply rounding style even when
76289         printing approximate values.
76290
76291 2000-06-14  Paul Eggert  <eggert@twinsun.com>
76292
76293         * lib/human.c (human_readable_inexact): Allow an input block
76294         size that is not a multiple of the output block size, and vice versa.
76295         Reported by Piergiorgio Sartor.
76296
76297 2000-06-14  Paul Eggert  <eggert@twinsun.com>
76298
76299         * lib/getdate.y (get_date): Apply relative times after time
76300         zone indicator, not before.  Reported by Todd A. Jacobs.
76301
76302 2000-06-13  Jim Meyering  <meyering@lucent.com>
76303
76304         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
76305
76306         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
76307
76308 2000-06-12  Paul Eggert  <eggert@twinsun.com>
76309
76310         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
76311
76312 2000-06-12  Jim Meyering  <meyering@lucent.com>
76313
76314         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
76315         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
76316         optional argument.
76317         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
76318         the optional argument, `lib'.
76319
76320 2000-06-08  Jim Meyering  <meyering@lucent.com>
76321
76322         * m4/largefile.m4: Remove file (now that it's part of autoconf).
76323
76324 2000-06-04  Paul Eggert  <eggert@twinsun.com>
76325
76326         Rewrite largefile configuration so that we don't need to run
76327         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
76328         AC_CANONICAL_HOST in configure.in -- jmm]
76329
76330         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
76331         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
76332         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
76333         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
76334         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
76335         All uses changed.
76336         Instead of inspecting the output of getconf, try to compile the
76337         test program without and with the macro definition.
76338         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
76339         for getconf.  Instead, check for the needed flags by compiling
76340         test programs.
76341
76342 2000-06-04  Paul Eggert  <eggert@twinsun.com>
76343
76344         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
76345
76346 2000-06-04  Jim Meyering  <meyering@lucent.com>
76347
76348         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
76349         SunOS 4.1.4 for which gid_t is an unsigned type.
76350
76351 2000-06-03  Jim Meyering  <meyering@lucent.com>
76352
76353         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
76354         now that autoconf requires that.
76355
76356         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
76357         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
76358         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
76359
76360 2000-06-03  Jim Meyering  <meyering@lucent.com>
76361
76362         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
76363
76364 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
76365
76366         * m4/glibc21.m4: New file.
76367         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
76368
76369 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
76370
76371         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
76372         newer, don't install charset.alias.
76373         * lib/config.charset: Change the Linux/glibc rules so they become empty
76374         on glibc-2.1 or newer.
76375
76376 2000-06-02  Jim Meyering  <meyering@lucent.com>
76377
76378         * lib/mountlist.c: Back out last change.  Instead, do this...
76379         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
76380         me_dummy member using the same `ignore'-testing code.
76381         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
76382         fs_type strings.
76383         From Mark D. Roth.
76384
76385 2000-05-29  Jim Meyering  <meyering@lucent.com>
76386
76387         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
76388         mounts with the `ignore' attribute.  Based on a patch from
76389         Mark D. Roth.
76390
76391 2000-05-28  Jim Meyering  <meyering@lucent.com>
76392
76393         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
76394         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
76395         * m4/stat.m4: Likewise.
76396         * m4/lstat.m4: Likewise.
76397         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
76398
76399         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
76400         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
76401
76402 2000-05-26  Jim Meyering  <meyering@lucent.com>
76403
76404         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
76405
76406 2000-05-24  Jim Meyering  <meyering@lucent.com>
76407
76408         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
76409         autoconf requires that.
76410         * m4/lib-check.m4: Likewise.
76411         * m4/jm-macros.m4: Likewise.
76412         * m4/strftime.m4: Likewise.
76413
76414         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
76415         AC_CHECK_DECLS, now that autoconf requires that.
76416
76417 2000-05-22  Jim Meyering  <meyering@lucent.com>
76418
76419         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
76420         * m4/lstat.m4: Likewise.
76421
76422 2000-05-22  Jim Meyering  <meyering@lucent.com>
76423
76424         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
76425
76426 2000-05-20  Jim Meyering  <meyering@lucent.com>
76427
76428         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
76429         (jm_PREREQ): Use it.
76430
76431 2000-05-18  Jim Meyering  <meyering@lucent.com>
76432
76433         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
76434         back, too, since it may have been modified by allocate_entry.
76435         (hash_delete): Rewrite to use neither the assignment operator
76436         nor the comma operator in an if-expression.
76437
76438 2000-05-15  Paul Eggert  <eggert@twinsun.com>
76439
76440         * lib/closeout.c:
76441         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
76442         Remove; no longer needed.
76443         "quotearg.h": Add include.
76444         (file_name): Do not bother to explicitly initialize to NULL; it's less
76445         efficient on some hosts.
76446         (close_stdout_status): Remove test as to whether stdout was already
76447         closed; it breaks for the case "echo x | sort >&-".
76448         Quote file name colons.
76449         Do not assume that _("write error") lacks format strings.
76450
76451 2000-05-15  Jim Meyering  <meyering@lucent.com>
76452
76453         * lib/version-etc.c (version_etc_copyright): Update the copyright
76454         string used in all --version output.
76455
76456 2000-05-14  Jim Meyering  <meyering@lucent.com>
76457
76458         * lib/closeout.c (close_stdout_set_file_name): New function.
76459         (close_stdout_status): Use new file-scoped global.
76460         Return right away if fstat says the stdout file descriptor is invalid.
76461         * lib/closeout.h (close_stdout_set_file_name): Declare.
76462
76463 2000-05-10  Jim Meyering  <meyering@lucent.com>
76464
76465         * lib/closeout.c [default_exit_status]: New file-scoped variable.
76466         (close_stdout_set_status): New function.
76467         * lib/closeout.h (close_stdout_set_status): Declare.
76468
76469 2000-05-09  Jim Meyering  <meyering@lucent.com>
76470
76471         * m4/gettext.m4: Rename this...
76472         * m4/libintl.m4: ...to this.
76473
76474 2000-05-08  Jim Meyering  <meyering@lucent.com>
76475
76476         * lib/long-options.c: Don't include closeout.h.
76477         (parse_long_options): Don't call close_stdout for --version.
76478
76479 2000-05-06  Paul Eggert  <eggert@twinsun.com>
76480
76481         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
76482         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
76483         2.1.3 bug.  This avoids a clash when files like regex.c define
76484         _GNU_SOURCE.
76485
76486 2000-05-06  Jim Meyering  <meyering@lucent.com>
76487
76488         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
76489         (AC_REPLACE_FUNCS): Add strnlen.
76490
76491         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
76492         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
76493
76494         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
76495         AC_SEARCH_LIBS call for nanosleep.
76496         (LIB_NANOSLEEP): Set and AC_SUBST.
76497
76498 2000-05-06  Jim Meyering  <meyering@lucent.com>
76499
76500         * lib/strnlen.c: Undefine __strnlen and strnlen.
76501         [!weak_alias]: Define __strnlen to strnlen.
76502
76503         * lib/atexit.c: New file, from libiberty.
76504
76505 2000-05-06  Jim Meyering  <meyering@lucent.com>
76506
76507         * lib/closeout.c (close_stdout_status): Also check for errors on the
76508         stderr stream.
76509
76510 2000-05-05  Jim Meyering  <meyering@lucent.com>
76511
76512         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
76513         AC_SEARCH_LIBS call for clock_gettime.
76514         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
76515
76516         * m4/search-libs.m4: Update from autoconf.
76517
76518         su doesn't work on Solaris 2.6.
76519         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
76520         <shadow.h>.  Reported by Dragos Harabor.
76521
76522 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
76523
76524         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
76525         memcpy instead of xmalloc, xrealloc, path_concat.
76526         (locale_charset): Treat empty environment variables as absent.
76527         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
76528
76529 2000-05-04  Jim Meyering  <meyering@lucent.com>
76530
76531         * lib/getopt.c: Update from glibc.
76532         * lib/obstack.c: Likewise.
76533         * lib/obstack.h: Likewise.
76534         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
76535         file
76536
76537         * lib/regex.h: Likewise.
76538         * lib/strndup.c: Likewise.
76539         * lib/strnlen.c: New file, from glibc.
76540
76541 2000-05-03  Jim Meyering  <meyering@lucent.com>
76542
76543         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
76544
76545 2000-05-02  Paul Eggert  <eggert@twinsun.com>
76546
76547         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
76548         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
76549         compile-time test, rather than inspecting host and OS, to
76550         decide whether to define _LARGEFILE_SOURCE.
76551
76552 2000-05-01  Jim Meyering  <meyering@lucent.com>
76553
76554         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
76555
76556         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
76557         Based on a patch from Bruno Haible.
76558
76559 2000-05-01  Jim Meyering  <meyering@lucent.com>
76560
76561         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
76562
76563 2000-04-29  Jim Meyering  <meyering@lucent.com>
76564
76565         * lib/path-concat.c: Declare strdup only if it's not defined.
76566         * lib/canon-host.c: Likewise.
76567
76568 2000-04-28  Jim Meyering  <meyering@lucent.com>
76569
76570         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
76571         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
76572         is included first, then limits.h is included by locale.h by libintl.h.
76573         From John David Anglin.
76574
76575 2000-04-25  Jim Meyering  <meyering@lucent.com>
76576
76577         * lib/makepath.c (S_IRWXUGO): Define.
76578         (make_path): Always perform explicit chmod if MODE specifies any
76579         of the `special' permission bits.  Prompted by a bug report against
76580         install from Mate Wierdl and Joost van Baal.
76581
76582 2000-04-18  Jim Meyering  <meyering@lucent.com>
76583
76584         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
76585         (jm_PREREQ): Use it.
76586
76587 2000-04-18  Jim Meyering  <meyering@lucent.com>
76588
76589         * lib/README: New file.
76590
76591         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
76592         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
76593
76594 2000-04-17  Jim Meyering  <meyering@lucent.com>
76595
76596         Get it right :-)
76597         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
76598         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
76599         Suggestion from Akim Demaille.
76600
76601 2000-04-17  Jim Meyering  <meyering@lucent.com>
76602
76603         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
76604         the definition of it to rpl_strftime also defined-away the system's
76605         declaration.
76606
76607 2000-04-15  Jim Meyering  <meyering@lucent.com>
76608
76609         Use `C' to denote so-called `contiguous' files, the same way
76610         that tar does.
76611         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
76612         (ftypelet): Use S_ISCTG.
76613         From Michael Deutschmann.
76614
76615 2000-04-14  Jim Meyering  <meyering@lucent.com>
76616
76617         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
76618         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
76619         clobbered.
76620
76621 2000-04-14  Jim Meyering  <meyering@lucent.com>
76622
76623         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
76624
76625 2000-04-13  Jim Meyering  <meyering@lucent.com>
76626
76627         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
76628         AH_VERBATIM to insert required #ifndef into config.h.in.
76629         Suggestion from Akim Demaille.
76630
76631 2000-04-12  Jim Meyering  <meyering@lucent.com>
76632
76633         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
76634         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
76635         Christian Krackowizer.
76636
76637         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
76638         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
76639         (AC_SYS_LARGEFILE): Require.
76640         (AM_C_PROTOTYPES): Require.
76641
76642 2000-04-08  Jim Meyering  <meyering@lucent.com>
76643
76644         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
76645         names don't conflict.  Reported by Eli Zaretskii.
76646
76647 2000-04-07  Jim Meyering  <meyering@lucent.com>
76648
76649         * lib/putenv.c: Move inclusion of errno.h so it follows that of
76650         sys/types.h, to work around system header problems on AIX 3.2.5.
76651         From Bruno Haible.
76652
76653 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
76654
76655         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
76656         bug.  Deal with the different error behavior of Irix iconv.
76657
76658 2000-04-05  Paul Eggert  <eggert@twinsun.com>
76659
76660         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
76661         IRIX if the installer said otherwise.
76662
76663 2000-04-05  Jim Meyering  <meyering@lucent.com>
76664
76665         Portability tweaks required for ultrix4.3.
76666         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
76667         (jm_CHECK_DECLS): Add getutent to the list of functions.
76668         (_jm_DECL_HEADERS): Add utmpx.h.
76669         From John David Anglin.
76670
76671         * m4/strftime.m4: Back out the 2000-04-02 change.
76672         Instead of that change, simply undefine putenv in the test program.
76673
76674 2000-04-05  Jim Meyering  <meyering@lucent.com>
76675
76676         Portability tweaks required for ultrix4.3.
76677         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
76678         getutent.
76679         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
76680         * lib/canon-host.c: Declare strdup.
76681         * lib/path-concat.c: Likewise.
76682         From John David Anglin.
76683
76684 2000-04-04  Jim Meyering  <meyering@lucent.com>
76685
76686         Be more DOS 8.3-friendly.
76687         * lib/ref-add.sin: Renamed from ref-add.sed.in.
76688         * lib/ref-del.sin: Renamed from ref-del.sed.in.
76689         * lib/Makefile.am: Reflect renaming.
76690         Reported by Eli Zaretskii.
76691
76692         Use a temporary file name that won't clash with `charset.alias'
76693         in the DOS 8.3 name space.
76694         * lib/Makefile.am (charset_tmp): Define.
76695         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
76696         (uninstall-local): Likewise.
76697         Reported by Eli Zaretskii.
76698
76699 2000-04-03  Jim Meyering  <meyering@lucent.com>
76700
76701         * m4/gettext.m4: Fix typo in comment.
76702
76703         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
76704         textutils/configure.in).  Suggestion from Paul Eggert.
76705         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
76706
76707 2000-04-02  Paul Eggert  <eggert@twinsun.com>
76708
76709         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
76710         variable in the shell rather than using putenv, which isn't
76711         portable.  This avoids the configure-time inter-test dependency
76712         on the potentially-renamed putenv function.
76713
76714 2000-03-30  Paul Eggert  <eggert@twinsun.com>
76715
76716         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
76717         before checking struct stat.st_blksize, so that
76718         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
76719
76720 2000-03-29  Paul Eggert  <eggert@twinsun.com>
76721
76722         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
76723         since strftime.c uses HAVE_STRFTIME to decide whether to use
76724         the underlying strftime.
76725
76726 2000-03-29  Paul Eggert  <eggert@twinsun.com>
76727
76728         * lib/time/strftime.c (my_strftime): Make sure we call the system
76729         strftime, not ourselves, when invoking the underlying strftime.
76730
76731 2000-03-24  Jim Meyering  <meyering@lucent.com>
76732
76733         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
76734         (charset_alias): Define.
76735         (install-exec-local): Factor out common code.
76736         (uninstall-local): Split lines longer than 80.
76737         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
76738         (SUFFIXES): Define.
76739         (.sed.in.sed): New rule.  Don't redirect directly to $@.
76740         (CLEANFILES): Add ref-add.sed and ref-del.sed.
76741
76742 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
76743
76744         * lib/config.charset: Output a line containing "Packages using this
76745         file".
76746         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
76747         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
76748         ref-del.sed): New rules.
76749
76750 2000-03-17  Jim Meyering  <meyering@lucent.com>
76751
76752         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
76753         Otherwise, include <strings.h>
76754
76755 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
76756
76757         * lib/unicodeio.c (utf8_wctomb): New function.
76758         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
76759         format instead of in UCS-4 with platform dependent endianness.
76760
76761 2000-03-10  Jim Meyering  <meyering@lucent.com>
76762
76763         * m4/lib-check.m4: Look for getspnam in -lgen, too.
76764         From Marco Franzen.
76765
76766 2000-03-07  Paul Eggert  <eggert@twinsun.com>
76767
76768         * lib/savedir.c (savedir): Work even if directory size is
76769         negative; this can happen with some screwy NFS configurations.
76770
76771 2000-03-06  Jim Meyering  <meyering@lucent.com>
76772
76773         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
76774         if it's NULL (because we ran out of memory).  From Bruno Haible.
76775
76776 2000-03-05  Jim Meyering  <meyering@lucent.com>
76777
76778         * lib/localcharset.c ("path-concat.h"): Include.
76779         (get_charset_aliases): Use path_concat instead of ANSI string
76780         concatenation.
76781
76782         * lib/unicodeio.h (PARAMS): Define.
76783         Use it to guard prototype.
76784
76785 2000-03-04  Jim Meyering  <meyering@lucent.com>
76786
76787         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
76788         for lib/localcharset.c.
76789
76790 2000-03-04  Jim Meyering  <meyering@lucent.com>
76791
76792         * lib/Makefile.am (install-exec-local): Create $(libdir) before
76793         installing into it.
76794         (uninstall-local): Uncomment this rule so `make distcheck' works
76795         once again.
76796
76797         * lib/unicodeio.c (<errno.h>): Include it.
76798         (errno): Declare if not defined.
76799
76800         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
76801
76802         * lib/config.charset: New version, incorporating remarks from a linux
76803         i18n mailing list.  From Bruno Haible.
76804
76805 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
76806
76807         * m4/codeset.m4: New file.
76808         * m4/iconv.m4: New file.
76809         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
76810
76811 2000-03-03  Jim Meyering  <meyering@lucent.com>
76812
76813         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
76814
76815 2000-03-02  Jim Meyering  <meyering@lucent.com>
76816
76817         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
76818         the messages come out on separate lines.
76819
76820         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
76821         rather than jm_CHECK_DECLARATIONS.
76822         * m4/decl.m4: Remove now-unused file.
76823
76824         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
76825         geteuid.
76826
76827 2000-03-02  Jim Meyering  <meyering@lucent.com>
76828
76829         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
76830
76831 2000-03-01  Jim Meyering  <meyering@lucent.com>
76832
76833         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
76834         * lib/unicodeio.c: Likewise.
76835
76836 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
76837
76838         * lib/config.charset: New file.
76839         * lib/localcharset.c: New file.
76840         * lib/unicodeio.h, lib/unicodeio.c: New files.
76841         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
76842         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
76843         (noinst_HEADERS): Add unicodeio.h.
76844         (all-local, install-exec-local, charset.alias): New targets.
76845
76846 2000-02-28  Paul Eggert  <eggert@twinsun.com>
76847
76848         * lib/quotearg.c (ALERT_CHAR): New macro.
76849         (quotearg_buffer_restyled): Use it.
76850
76851 2000-02-27  Jim Meyering  <meyering@lucent.com>
76852
76853         * m4/check-decl.m4: Add getenv to the list.
76854
76855 2000-02-27  Jim Meyering  <meyering@lucent.com>
76856
76857         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
76858         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
76859
76860         * lib/backupfile.c: Guard inclusion of stdlib.h with
76861         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
76862         Declare malloc if needed.
76863
76864         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
76865         `#ifndef HAVE_DECL..'
76866         now that autoconf always defines the HAVE_DECL_ symbols.
76867         * lib/human.c: Likewise.
76868         * lib/same.c: Likewise.
76869         * lib/strtoumax.c: Likewise.
76870
76871         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
76872         declaration check was not run.
76873         * lib/hash.c: Likewise.
76874         * lib/human.c: Likewise.
76875         * lib/same.c: Likewise.
76876         * lib/strtoumax.c: Likewise.
76877
76878         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
76879         `.', then first look up the entire `.'-containing string as a login
76880         name.
76881
76882 2000-02-23  Jim Meyering  <meyering@lucent.com>
76883
76884         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
76885         in place of my hack.
76886
76887 2000-02-18  Paul Eggert  <eggert@twinsun.com>
76888
76889         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
76890         (textint): New typedef.
76891         (parser_control): Member year changed from int to textint.
76892         All uses changed.
76893         (YYSTYPE): Removed; replaced by %union with int and textint members.
76894         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
76895         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
76896         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
76897         (tSNUMBER, tUNUMBER): Now of type <textintval>.
76898         (date, number, to_year): Use width of number in digits, not its value,
76899         to determine whether it's a 2-digit year, or a 2-digit time.
76900         (yylex): Store number of digits of numeric tokens.
76901         Reported by John Kendall.
76902
76903         (parser_control): Changed from struct parser_control to typedef (for
76904         consistency).  All uses changed.
76905
76906         (tID): Removed; not used.
76907         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
76908
76909 2000-02-14  Paul Eggert  <eggert@twinsun.com>
76910
76911         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
76912         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
76913
76914 2000-02-12  Jim Meyering  <meyering@lucent.com>
76915
76916         * lib/userspec.c (ISDIGIT): Define it.
76917         (isdigit): Remove definition.
76918         (is_number): Use ISDIGIT, not isdigit.
76919         <libintl.h>: Include.
76920         (_ and N_): Define.
76921         (parse_user_spec): Mark translatable strings.
76922
76923 2000-02-10  Jim Meyering  <meyering@lucent.com>
76924
76925         With these changes, nanosleep.[ch] are finally enough like the other
76926         lib/* replacement files to compile on a few more losing systems.
76927
76928         * lib/nanosleep.h: Don't include config.h.
76929         Remove prototype from declaration of nanosleep.
76930         (PARAMS): Remove now-unneeded definition.
76931         * lib/nanosleep.c: #undef nanosleep.
76932         (rpl_nanosleep): Rename from nanosleep.
76933
76934 2000-02-10  Jim Meyering  <meyering@lucent.com>
76935
76936         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
76937         gnu_nanosleep to rpl_nanosleep.
76938
76939 2000-02-09  Jim Meyering  <meyering@lucent.com>
76940
76941         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
76942         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
76943
76944 2000-02-08  Akim Demaille  <akim@epita.fr>
76945
76946         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
76947         `[' and `]' and remove uses of `changequote'.
76948         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
76949         (AC_SYS_LARGEFILE): Likewise.
76950         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
76951         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
76952         of changequote.
76953         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
76954         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
76955         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
76956         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
76957
76958 2000-02-05  Jim Meyering  <meyering@lucent.com>
76959
76960         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
76961         Remove explicit use of AC_HEADER_TIME.  It is required by
76962         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
76963         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
76964         in autoconf whereby the expansion of the latter ended up preceding
76965         the expansion of its prerequisite, AC_HEADER_TIME.
76966         Reported by Volker Borchert.
76967
76968 2000-02-03  Jim Meyering  <meyering@lucent.com>
76969
76970         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
76971
76972 2000-02-03  Jim Meyering  <meyering@lucent.com>
76973
76974         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
76975         rather than with `#if HAVE_UTMPNAME'.
76976
76977 2000-02-02  Jim Meyering  <meyering@lucent.com>
76978
76979         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
76980         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
76981         Reported by Eli Zaretskii.
76982
76983 2000-02-01  Jim Meyering  <meyering@lucent.com>
76984
76985         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
76986
76987 2000-01-31  Jim Meyering  <meyering@lucent.com>
76988
76989         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
76990         functions.  Add the time.h and sys/time.h headers along with the
76991         AC_REQUIRE'ment of AC_HEADER_TIME.
76992
76993 2000-01-31  Jim Meyering  <meyering@lucent.com>
76994
76995         * lib/nanosleep.h (nanosleep): Guard declaration with
76996         `#if ! HAVE_DECL_NANOSLEEP'.
76997         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
76998         the declaration in that vendor's sys/timers.h.
76999         Reported by Christian Krackowizer.
77000
77001         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
77002         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
77003         (ISPRINT): Likewise.
77004         Reported by Tom Tromey.
77005
77006 2000-01-30  Jim Meyering  <meyering@lucent.com>
77007
77008         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
77009
77010         * m4/prereq.m4 (utmp_includes): Define.
77011         Check for ut_user and ut_name members in both struct utmpx
77012         and struct utmp.
77013
77014 2000-01-30  Jim Meyering  <meyering@lucent.com>
77015
77016         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
77017         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
77018         header files where only utmpx.ut_user is declared.
77019
77020         * lib/readutmp.h (UT_USER): Define.
77021
77022 2000-01-29  Jim Meyering  <meyering@lucent.com>
77023
77024         * m4/lib-check.m4: New file containing library-related checks from
77025         fileutils and sh-utils (textutils had none).
77026
77027 2000-01-28  Jim Meyering  <meyering@lucent.com>
77028
77029         * m4/perl.m4: Change format of warning message to look more like that
77030         from the missing script.  Suggestion from François Pinard.
77031
77032 2000-01-25  Jim Meyering  <meyering@lucent.com>
77033
77034         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
77035         well as time.h in the compile check.
77036         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
77037         Fix typo in cross-compiling case: s/yes/no/.
77038
77039 2000-01-23  Jim Meyering  <meyering@lucent.com>
77040
77041         * m4/jm-macros.m4: Move df-related tests here from
77042         fileutils/configure.in
77043
77044         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
77045         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
77046
77047         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
77048         s/space/ac_fsusage_space/.
77049         (jm_FILE_SYSTEM_USAGE): Take two parameters.
77050
77051         * m4/ftruncate.m4: New file (derived from part of
77052         fileutils/configure.in).
77053         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
77054         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
77055
77056         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
77057         AC_SUBST these here, rather than just in sh-util/configure.in, so
77058         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
77059         all the same.
77060         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
77061         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
77062         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
77063         (AC_SUBST(POW_LIBM)): Likewise.
77064         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
77065
77066 2000-01-23  Jim Meyering  <meyering@lucent.com>
77067
77068         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
77069         obstack.c.
77070
77071 2000-01-22  Jim Meyering  <meyering@lucent.com>
77072
77073         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
77074
77075         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
77076
77077         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
77078         configure.in
77079         (AC_CHECK_HEADERS): Likewise for sh-utils.
77080         (AC_CHECK_HEADERS): Likewise for textutils.
77081         Merge the three lists of headers.
77082
77083         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
77084         from fileutils' configure.in.
77085
77086         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
77087         code. Moved tests into their own function (_jm_DECL_HEADERS) in
77088         check-decl.m4.
77089
77090         * m4/check-decl.m4: Use #if rather than #ifdef.
77091         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
77092         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
77093         (_jm_DECL_HEADERS): Define new function.
77094         (jm_CHECK_DECLARATIONS): Require it.
77095
77096 2000-01-22  Jim Meyering  <meyering@lucent.com>
77097
77098         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
77099         [! HAVE_DECL_STRTOULL]: Declare strtoull.
77100         Required for some AIX systems.  Reported by Christian Krackowizer.
77101         [TESTING] (main): New function.
77102
77103         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
77104         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
77105         letters.
77106
77107         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
77108         iswprint.
77109
77110         * lib/strverscmp.c (ISDIGIT): Define.
77111         (strverscmp): Use ISDIGIT, not isdigit.
77112
77113 2000-01-19  Jim Meyering  <meyering@lucent.com>
77114
77115         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
77116         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
77117         defines `struct timespec' in <sys/time.h>
77118
77119         * m4/c-bs-a.m4: Remove uses of changequote altogether.
77120         Thanks to Akim for explaining.
77121
77122 2000-01-17  Paul Eggert  <eggert@twinsun.com>
77123
77124         * lib/nanosleep.c (nanosleep):
77125         Don't use SA_INTERRUPT to decide whether to call sigaction, as
77126         POSIX.1 doesn't require SA_INTERRUPT and some systems
77127         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
77128         it's been part of POSIX.1 since day 1 (in 1988).
77129
77130 2000-01-17  Jim Meyering  <meyering@lucent.com>
77131
77132         * lib/interlock: Remove unused file.  Reported by François Pinard.
77133
77134 2000-01-16  Paul Eggert  <eggert@twinsun.com>
77135
77136         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
77137         alert, backslash, formfeed, and vertical tab unnecessarily in
77138         shell quoting style.
77139
77140 2000-01-16  Jim Meyering  <meyering@lucent.com>
77141
77142         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
77143         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
77144         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
77145         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
77146
77147 2000-01-16  Jim Meyering  <meyering@lucent.com>
77148
77149         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
77150         because the latter didn't work.
77151
77152 2000-01-15  Jim Meyering  <meyering@lucent.com>
77153
77154         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
77155         (AC_REPLACE_FUNCS): Add memcpy and memset.
77156         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
77157         Add strpbrk.
77158         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
77159
77160 2000-01-12  Jim Meyering  <meyering@lucent.com>
77161
77162         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
77163         (jm_PREREQ): Use it.
77164         (jm_PREREQ_READUTMP): New macro.
77165         (jm_PREREQ): Use it.
77166
77167 2000-01-11  Paul Eggert  <eggert@twinsun.com>
77168
77169         Quote multibyte characters correctly.
77170         * m4/c-bs-a.m4: New file.
77171         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
77172         (jm_PREREQ): Use it.
77173
77174 2000-01-11  Paul Eggert  <eggert@twinsun.com>
77175
77176         * m4/uintmax_t.m4: Port to autoconf 2.13.
77177
77178 2000-01-08  Jim Meyering  <meyering@ascend.com>
77179
77180         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
77181         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
77182
77183 2000-01-04  Jim Meyering  <meyering@ascend.com>
77184
77185         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
77186         jm_STRUCT_DIRENT_D_TYPE.
77187         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
77188         jm_STRUCT_DIRENT_D_INO.
77189         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
77190         jm_STRUCT_UTIMBUF.
77191         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
77192         renamings.
77193         * m4/utime.m4: Likewise.
77194
77195         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
77196         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
77197
77198 2000-01-03  Paul Eggert  <eggert@twinsun.com>
77199
77200         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
77201         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
77202
77203 2000-01-02  Jim Meyering  <meyering@ascend.com>
77204
77205         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
77206         remember if this is necessary.
77207
77208 1999-12-26  Jim Meyering  <meyering@ascend.com>
77209
77210         * m4/jm-macros.m4: Use it here.
77211         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
77212
77213 1999-12-23  Jim Meyering  <meyering@ascend.com>
77214
77215         * m4/jm-macros.m4: Check for clock_gettime (moved from
77216         fileutils/configure.in)
77217         Check for gettimeofday.
77218
77219 1999-12-20  Jim Meyering  <meyering@ascend.com>
77220
77221         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
77222         autoconf-2.14a-1999-12-20.
77223
77224 1999-12-19  Jim Meyering  <meyering@ascend.com>
77225
77226         * m4/lstat-slash.m4: New file.
77227         * m4/jm-macros.m4: Use the new macro:
77228         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
77229
77230 1999-12-07  Jim Meyering  <meyering@ascend.com>
77231
77232         * m4/perl.m4: Require that File::Compare be available, too.
77233         Too many systems seem to lack it.
77234
77235         * m4/strftime.m4: Add checks for most of the cpp macros tested in
77236         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
77237
77238 1999-11-18  Paul Eggert  <eggert@twinsun.com>
77239
77240         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
77241         problem with the QNX 4.25 shell, which doesn't propagate exit
77242         status of failed commands inside shell assignments.
77243
77244 1999-11-17  Jim Meyering  <meyering@ascend.com>
77245
77246         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
77247
77248 1999-11-07  Jim Meyering  <meyering@ascend.com>
77249
77250         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
77251
77252 1999-11-06  Jim Meyering  <meyering@ascend.com>
77253
77254         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
77255         * m4/jm-macros.m4 (jm_MACROS): Use it here.
77256
77257 1999-11-05  Jim Meyering  <meyering@ascend.com>
77258
77259         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
77260         configure.in of textutils, fileutils, and sh-utils into this one
77261         (shared between those packages) file.
77262         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
77263         AC_STRUCT_ST_BLKSIZE.
77264
77265 1999-11-03  Jim Meyering  <meyering@ascend.com>
77266
77267         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
77268         of AC_CHECK_TYPE checks includes unistd.h.
77269         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
77270         Suggestion from Akim Demaille.
77271
77272 1999-10-30  Jim Meyering  <meyering@ascend.com>
77273
77274         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
77275         m4-quoted string.
77276         * m4/ls-mntd-fs.m4: Likewise.
77277         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
77278         * m4/jm-winsz1.m4: Likewise.
77279
77280         * m4/const.m4: Remove file, since the fix made it into the experimental
77281         version of autoconf.
77282         * m4/mktime.m4: Likewise.
77283
77284         * m4/check-type.m4: Remove file, now that the latest version of
77285         AC_CHECK_TYPE takes a third arg to specify additional #includes.
77286
77287         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
77288         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
77289         AC_CHECK_TYPE.
77290
77291 1999-10-04  Jim Meyering  <meyering@ascend.com>
77292
77293         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
77294
77295 1999-09-22  Paul Eggert  <eggert@twinsun.com>
77296
77297         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
77298         2.95.1 bug with HP-UX 10.20.
77299
77300 1999-09-17  Jim Meyering  <meyering@ascend.com>
77301
77302         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
77303         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
77304         due to missing strdup (against sh-utils-2.0).
77305
77306 1999-08-29  Jim Meyering  <meyering@ascend.com>
77307
77308         * m4/jm-macros.m4: Require jm_BISON.
77309         * m4/bison.m4: New file.
77310
77311 1999-08-17  Paul Eggert  <eggert@twinsun.com>
77312
77313         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
77314         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
77315
77316 1999-08-05  Jim Meyering  <meyering@ascend.com>
77317
77318         * m4/getline.m4: Rename test file from conftestdata to conftest.data
77319         to avoid conflicts with `conftest' on 8+3 filesystems.
77320         Suggestion from Eli Zaretskii.
77321
77322 1999-08-04  Jim Meyering  <meyering@ascend.com>
77323
77324         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
77325         fileutils and sh-utils (textutils's getline test was inadequate).
77326         (AM_FUNC_GETLINE): Run this test.
77327         (AC_CHECK_FUNCS): Check for getdelim.
77328         Reported by Bob Proulx.
77329
77330 1999-08-02  Jim Meyering  <meyering@ascend.com>
77331
77332         * m4/jm-macros.m4: Add a comment.
77333
77334 1999-08-01  Paul Eggert  <eggert@twinsun.com>
77335
77336         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
77337         <inttypes.h> defines strtoumax as a macro (and not as a
77338         function).
77339
77340 1999-08-01  Paul Eggert  <eggert@twinsun.com>
77341
77342         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
77343         that we can shift, multiply and divide unsigned long long
77344         values; Ultrix cc can't do it.
77345
77346 1999-08-01  Paul Eggert  <eggert@twinsun.com>
77347
77348         * m4/mktime.m4: New file, which is a preview of what should appear
77349         in the next public autoconf release.
77350
77351 1999-08-01  Paul Eggert  <eggert@twinsun.com>
77352
77353         * m4/lfs.m4: Remove this file.
77354         * m4/largefile.m4: New file.  It contains the old contents of
77355         lfs.m4, except that all names with prefix AC_LFS have been
77356         changed to use the prefix AC_SYS_LARGEFILE instead, to be
77357         compatible with future autoconf versions.  Also, some minor m4
77358         quoting problems have been fixed.
77359
77360 1999-08-01  Paul Eggert  <eggert@twinsun.com>
77361
77362         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
77363         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
77364         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
77365         and simplify the shell code.
77366
77367 1999-08-01  Jim Meyering  <meyering@ascend.com>
77368
77369         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
77370         m4.
77371
77372 1999-07-20  Jim Meyering  <meyering@ascend.com>
77373
77374         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
77375
77376 1999-07-15  Jim Meyering  <meyering@ascend.com>
77377
77378         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
77379
77380 1999-05-22  Jim Meyering  <meyering@ascend.com>
77381
77382         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
77383
77384 1999-05-20  Jim Meyering  <meyering@ascend.com>
77385
77386         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
77387         Add a colon after each `then' in case $4 is empty.
77388
77389 1999-05-16  Jim Meyering  <meyering@ascend.com>
77390
77391         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
77392
77393 1999-05-10  Jim Meyering  <meyering@ascend.com>
77394
77395         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
77396
77397         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
77398         AC_FUNC_MKTIME.
77399
77400 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
77401
77402         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
77403
77404 1999-05-04  Paul Eggert  <eggert@twinsun.com>
77405
77406         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
77407         not CPPFLAGS, so that linking works correctly in IRIX.
77408
77409 1999-04-30  Paul Eggert  <eggert@twinsun.com>
77410
77411         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
77412
77413 1999-04-20  Paul Eggert  <eggert@twinsun.com>
77414
77415         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
77416         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
77417         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
77418         jm_AC_TYPE_UNSIGNED_LONG_LONG.
77419         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
77420
77421         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
77422
77423 1999-04-20  Jim Meyering  <meyering@ascend.com>
77424
77425         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
77426         AC_REPLACE xstroull if necessary.  From Paul Eggert.
77427         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
77428
77429 1999-04-18  Jim Meyering  <meyering@ascend.com>
77430
77431         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
77432         * m4/jm-macros.m4: Use it.
77433
77434 1999-04-06  Jim Meyering  <meyering@ascend.com>
77435
77436         * m4/strftime.m4: Remove test for %f.
77437
77438 1999-03-29  Jim Meyering  <meyering@ascend.com>
77439
77440         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
77441         superset of the AC_TYPE_* checks in the textutils, fileutils,
77442         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
77443         AC_TYPE_PID_T.
77444
77445 1999-03-28  Jim Meyering  <meyering@ascend.com>
77446
77447         * m4/jm-macros.m4: Define GNU_PACKAGE here.
77448         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
77449         replaced e.g., in the *.sh files of the sh-utils.
77450
77451 1999-03-20  Jim Meyering  <meyering@ascend.com>
77452
77453         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
77454         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
77455         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
77456
77457 1999-03-19  Jim Meyering  <meyering@ascend.com>
77458
77459         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
77460
77461 1999-03-12  Jim Meyering  <meyering@ascend.com>
77462
77463         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
77464
77465 1999-03-07  Jim Meyering  <meyering@ascend.com>
77466
77467         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
77468         declared.
77469
77470 1999-02-17  Jim Meyering  <meyering@ascend.com>
77471
77472         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
77473         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
77474
77475 1999-02-07  Jim Meyering  <meyering@ascend.com>
77476
77477         * m4/group-member.m4: New file -- extracted from sh-utils'
77478         configure.in.
77479
77480         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
77481         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
77482
77483 1999-02-06  Jim Meyering  <meyering@ascend.com>
77484
77485         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
77486         * m4/fnmatch.m4: Likewise.
77487         * m4/getgroups.m4: Likewise.
77488         * m4/lstat.m4: Likewise.
77489         * m4/malloc.m4: Likewise.
77490         * m4/putenv.m4: Likewise.
77491         * m4/realloc.m4: Likewise.
77492         * m4/regex.m4: Likewise.
77493         * m4/stat.m4: Likewise.
77494         * m4/strftime.m4: Likewise.
77495         Suggestion from Alain Magloire.
77496
77497         * m4/chown.m4: Use `.$ac_objext', not `.o'.
77498         * m4/fnmatch.m4: Likewise.
77499         * m4/getgroups.m4: Likewise.
77500         * m4/getline.m4: Likewise.
77501         * m4/lstat.m4: Likewise.
77502         * m4/malloc.m4: Likewise.
77503         * m4/memcmp.m4: Likewise.
77504         * m4/putenv.m4: Likewise.
77505         * m4/realloc.m4: Likewise.
77506         * m4/regex.m4: Likewise.
77507         * m4/stat.m4: Likewise.
77508         * m4/strftime.m4: Likewise.
77509         Suggestion from Alain Magloire.
77510
77511         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
77512         an argument.
77513
77514         * m4/regex.m4: Add a run-time Test for proper operation of
77515         re_compile_pattern.
77516
77517 1999-01-31  Jim Meyering  <meyering@ascend.com>
77518
77519         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
77520
77521 1999-01-30  Jim Meyering  <meyering@ascend.com>
77522
77523         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
77524
77525         * m4/jm-mktime.m4: Make this a wrapper around the official
77526         AM_FUNC_MKTIME rather than my private copy, now that the official one
77527         is up to date.
77528         * m4/mktime.m4: Remove file.
77529
77530         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
77531         * m4/uptime.m4: Likewise.
77532         * m4/uintmax_t.m4: Likewise.
77533
77534 1999-01-28  Jim Meyering  <meyering@ascend.com>
77535
77536         * m4/jm-macros.m4: Use jm_AFS.
77537         * m4/afs.m4: New file (from fileutils' configure.in).
77538
77539         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
77540         * m4/chown.m4: Likewise.
77541         * m4/d-ino.m4: Likewise.
77542         * m4/d-type.m4: Likewise.
77543         * m4/fnmatch.m4: Likewise.
77544         * m4/getgroups.m4: Likewise.
77545         * m4/gettext.m4: Likewise.
77546         * m4/jm-mktime.m4: Likewise.
77547         * m4/jm-winsz2.m4: Likewise.
77548         * m4/lcmessage.m4: Likewise.
77549         * m4/ls-mntd-fs.m4: Likewise.
77550         * m4/malloc.m4: Likewise.
77551         * m4/memcmp.m4: Likewise.
77552         * m4/putenv.m4: Likewise.
77553         * m4/realloc.m4: Likewise.
77554         * m4/st_mtim.m4: Likewise.
77555         * m4/strftime.m4: Likewise.
77556
77557 1999-01-16  Jim Meyering  <meyering@ascend.com>
77558
77559         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
77560         (ARGMATCH_DIE_DECL): Define.
77561
77562 1999-01-12  Jim Meyering  <meyering@ascend.com>
77563
77564         * m4/Makefile.am.in: Rewrite to avoid using fmt.
77565         Reported by Lars Hecking.
77566
77567 1999-01-10  Jim Meyering  <meyering@ascend.com>
77568
77569         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
77570         gross kludge.
77571         * m4/inttypes_h.m4: Likewise.
77572         * m4/lstat.m4: Likewise.
77573         * m4/malloc.m4: Likewise.
77574         * m4/readdir.m4: Likewise.
77575         * m4/realloc.m4: Likewise.
77576         * m4/st_dm_mode.m4: Likewise.
77577         * m4/stat.m4: Likewise.
77578         * m4/utimbuf.m4: Likewise.
77579         * m4/utimes.m4: Likewise.
77580
77581         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
77582         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
77583         comments in config.h.in are meaningful.
77584
77585         * m4/jm-macros.m4: Require autoconf-2.13 here.
77586
77587         * m4/regex.m4: By default, don't use the included regex.c on systems
77588         with glibc 2.  Suggestion from Uli Drepper.
77589
77590 1999-01-02  Jim Meyering  <meyering@ascend.com>
77591
77592         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
77593
77594 1998-12-18  Jim Meyering  <meyering@ascend.com>
77595
77596         * m4/Makefile.am.in (Makefile.am): Simplify rule.
77597         Based on a suggestion from Lars Hecking.
77598
77599 1998-11-16  Paul Eggert  <eggert@twinsun.com>
77600
77601         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
77602
77603 1998-11-16  Jim Meyering  <meyering@ascend.com>
77604
77605         * m4/lfs.m4: Double-quote the `uname...` expression.
77606
77607 1998-11-14  Jim Meyering  <meyering@ascend.com>
77608
77609         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
77610         * m4/stat.m4: Likewise.
77611
77612 1998-11-03  Jim Meyering  <meyering@ascend.com>
77613
77614         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
77615         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
77616
77617 1998-10-18  Jim Meyering  <meyering@ascend.com>
77618
77619         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
77620
77621 1998-10-17  Jim Meyering  <meyering@ascend.com>
77622
77623         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
77624         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
77625         calls for those previously hard-coded headers.  Instead, take a new
77626         parameter.
77627         (jm_CHECK_DECLARATIONS): Reflect interface change.
77628         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
77629         (jm_CHECK_DECL_LOCALTIME_R): New macro.
77630
77631         * m4/mktime.m4: Test for spring-forward gap before long-running test.
77632
77633 1998-10-14  Jim Meyering  <meyering@ascend.com>
77634
77635         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
77636         instead of "TZ=America/Vancouver".  From Paul Eggert.
77637
77638 1998-10-11  Jim Meyering  <meyering@ascend.com>
77639
77640         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
77641         This adds a test for a recently added compatibility fix for mktime.c.
77642         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
77643
77644 1998-09-27  Jim Meyering  <meyering@ascend.com>
77645
77646         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
77647
77648         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
77649         ../configure.in, including a change from Gordon Matzigkeit to allow
77650         cross-compiling for the Hurd.
77651
77652         * m4/glibc.m4: New file/macro to test for the GNU C Library
77653         versions 1 and 2.  From Gordon Matzigkeit.
77654         Indent.
77655
77656 1998-09-21  Jim Meyering  <meyering@ascend.com>
77657
77658         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
77659
77660 1998-08-18  Paul Eggert  <eggert@twinsun.com>
77661
77662         Port nanosecond-resolution times to UnixWare 2.1.2 and
77663         pedantic Solaris 2.6.
77664
77665         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
77666         AC_STRUCT_ST_MTIM.
77667         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
77668         Generate name of ns member, instead of just 1 or undef.
77669         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
77670
77671 1998-08-15  Jim Meyering  <meyering@ascend.com>
77672
77673         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
77674         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
77675         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
77676         instead of jm_TYPE_SSIZE_T.
77677
77678 1998-08-12  Jim Meyering  <meyering@ascend.com>
77679
77680         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
77681
77682 1998-08-02  Jim Meyering  <meyering@ascend.com>
77683
77684         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
77685         in acconfig.h manually.
77686
77687 1998-07-31  Paul Eggert  <eggert@twinsun.com>
77688
77689         * m4/st_mtim.m4: New file.
77690
77691 1998-07-28  Jim Meyering  <meyering@ascend.com>
77692
77693         * m4/utimes.m4: Undef stat.
77694
77695 1998-07-25  Jim Meyering  <meyering@ascend.com>
77696
77697         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
77698         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
77699
77700 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
77701
77702         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
77703         uid and gid actually remain unchanged.
77704
77705 1998-07-07  Jim Meyering  <meyering@ascend.com>
77706
77707         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
77708
77709 1998-07-04  Jim Meyering  <meyering@ascend.com>
77710
77711         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
77712         to prove that this macro can be used in packages without regex.c.
77713
77714 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
77715
77716         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
77717         is to be used.
77718
77719 1998-07-03  Jim Meyering  <meyering@ascend.com>
77720
77721         * m4/gettext.m4: Add -lintl if it's found to be necessary.
77722
77723         * m4/gettext.m4: New file -- from gettext-0.10.35.
77724         * m4/lcmessage.m4: Likewise.
77725         * m4/progtest.m4: Likewise.
77726
77727         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
77728         * m4/jm-macros.m4: Require the new macro.
77729
77730 1998-06-29  Jim Meyering  <meyering@ascend.com>
77731
77732         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
77733         for the definition of NGROUPS (used in a system header included
77734         by sys/mount.h).
77735
77736 1998-06-28  Jim Meyering  <meyering@ascend.com>
77737
77738         * m4/ls-mntd-fs.m4: New file.
77739         * m4/fstypename.m4: New file.
77740
77741         * m4/jm-macros.m4: Require the new macro.
77742         * m4/jm-glibc-io.m4: New file.
77743
77744 1998-05-19  Jim Meyering  <meyering@ascend.com>
77745
77746         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
77747         * m4/lchown.m4: New file.
77748
77749         * m4/Makefile.am.in: New file.
77750         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
77751
77752 1998-05-14  Jim Meyering  <meyering@ascend.com>
77753
77754         * m4/Makefile.am (EXTRA_DIST): Add them.
77755         * m4/jm-macros.m4: New file.
77756         * m4/utimbuf.m4: New file.
77757
77758 1998-05-12  Jim Meyering  <meyering@ascend.com>
77759
77760         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
77761
77762 1998-05-11  Jim Meyering  <meyering@ascend.com>
77763
77764         * m4/isc-posix.m4: New file.
77765
77766 1998-05-10  Jim Meyering  <meyering@ascend.com>
77767
77768         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
77769
77770 1998-05-09  Jim Meyering  <meyering@ascend.com>
77771
77772         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
77773         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
77774         with automake.
77775
77776         * m4/ssize_t.m4: New file.
77777         * m4/mktime.m4: Remove file -- the new automake has this now.
77778
77779 1998-04-26  Jim Meyering  <meyering@ascend.com>
77780
77781         * m4/assert.m4: New file.
77782         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
77783
77784 1998-04-05  Jim Meyering  <meyering@ascend.com>
77785
77786         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
77787         (jm_PREREQ): Use it here.
77788
77789 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
77790
77791         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
77792         in acconfig.h.
77793
77794 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
77795
77796         * m4/prereq.m4: New file.
77797         * m4/error.m4: New file.
77798         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
77799
77800 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
77801
77802         * m4/getline.m4: Don't set am_cv_func_working_getline before the
77803         cache-check for the same variable -- that defeated the purpose of
77804         the test; the test program was never run.  This was a problem only
77805         on systems with losing getline functions -- HP-UX 10.20 is one.
77806         Reported by Bjorn Helgaas.
77807
77808 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
77809
77810         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
77811
77812 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
77813
77814         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
77815
77816         * m4/const.m4: New file.  Use an initializer in this declaration
77817         typedef int charset[2]; const charset x;
77818         Reported by Bob Glickstein.
77819
77820 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
77821
77822         * m4/chown.m4: Fix reversed types on -1 args to chown.
77823         From Kaveh Ghazi.
77824
77825 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
77826
77827         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
77828         Add lseek and memchr.
77829
77830         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
77831         T.E.Dickey <dickey@clark.net> said that some older preprocessors
77832         have a 20-character limit on names.
77833
77834 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
77835
77836         * m4/inttypes_h.m4: New file.
77837         * m4/uintmax_t.m4: New file.
77838         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
77839
77840
77841         -----
77842
77843         Local Variables:
77844         coding: utf-8
77845         End:
77846
77847         Copyright (C) 1997-2011 Free Software Foundation, Inc.
77848
77849         Copying and distribution of this file, with or without
77850         modification, are permitted provided the copyright notice
77851         and this notice are preserved.